Hi FLAME devs!
It seems that when using ZHEGVD ($\mathbf{A} \boldsymbol{x} = \lambda \mathbf{B} \boldsymbol{x}$ in this case, corresponds to itype=1) subroutine in flame, the result seems not correct.
Minimal reproducible example refers to ajz34/issue-flame-zhegvd.
Numerical statement
a
[ 0.4967141530112327+0.5425600435859647j -0.1382643011711847-0.4634176928124623j 0.6476885381006925-0.4657297535702569j
1.5230298564080254+0.2419622715660341j -0.234153374723336 -1.913280244657798j -0.2341369569491805-1.7249178325130328j
1.5792128155073915-0.5622875292409727j 0.7674347291529088-1.0128311203344238j -0.4694743859349521+0.3142473325952739j]
b
[ 1.3576924170122822+0.j -0.323380017801413 -0.2376316036052268j 0.5414063362623477-0.5959408793491383j
-0.323380017801413 +0.2376316036052268j 0.8979017216901242+0.j 0.2665855013651873+0.2610192531743049j
0.5414063362623477+0.5959408793491383j 0.2665855013651872-0.261019253174305j 1.6252107235389968+0.j ]
eigh A x = lambda B x, eigenvalues:
[-2.484839662098958 -0.8894810223570818 2.891093919244652 ]
Reproduction of this issue
Result from FLAME (seems not correct):
W: -1.99510617329178 -1.15859650658041 2.73917206915266
Result from LAPACK (correct):
W: -2.48483966209896 -0.889481022357083 2.89109391924465
Other status of this issue
- This issue affects complex[double], but seems not related to double (subroutine
DSYGVD seems correct).
- This issue affects generalized eigen problem, but seems not related to non-generalized eigen problem (subroutine
ZHEEVD seems correct).
- This problem was found when we are developing rust-based tensor toolkit RSTSR, and using BLIS/FLAME
DeviceBLIS as backend
- By testing in RSTSR, some other subroutines that are commonly used (SVD, Cholesky, LU) and BLAS functions seems not affected, both double and complex[double].
- I have not checked whether float (single) and complex[float] is also affected.
- Building LAPACK with BLIS does not show erroneous results of ZHEGVD.
- AMD AOCL FLAME seems not show erroneous results of ZHEGVD.
Hi FLAME devs!
It seems that when using ZHEGVD ($\mathbf{A} \boldsymbol{x} = \lambda \mathbf{B} \boldsymbol{x}$ in this case, corresponds to
itype=1) subroutine in flame, the result seems not correct.Minimal reproducible example refers to ajz34/issue-flame-zhegvd.
Numerical statement
Reproduction of this issue
Result from FLAME (seems not correct):
Result from LAPACK (correct):
Other status of this issue
DSYGVDseems correct).ZHEEVDseems correct).DeviceBLISas backend