Closed marcdelabarrera closed 2 years ago
You are asking a for complex QZ decomposition hence the result will be a triangular complex array which necessitates a conjugation.
There is no check if the data has 0. imaginary parts and treats it as a complex array.
Extremely helpful, thank you.
Now VSL@S@VSR.conjugate().T=A
and VSL@VSL.conjugate().T=I
Describe your issue.
I'm a python user using scipy to perform a QZ decomposition. I'm testing the
scipy.linalg.qz
function, with complex results, which calls the LATPACK function dgges().If I perform the operation
VSL@S@VSR.T
, I would expect to recoverA
, but it's not the case. If instead, I doVSL.conjugate()@S.conjugate()@VSR.T
, then I do recoverA
. The same happens withB
. Moreover, I would expectVSL
to be orthonormal soVSL@VSL.T=I
, but it's not the case either.Is this behavior expected? Here you have a reproducible code (in python)
Reproducing Code Example