Я написал код для решения общей проблемы собственных значений и теперь сравниваю свои результаты с функцией DSPGVX
LAPACK. Я только что работал с этим примером .
Итак, я получил 4 авто-вектора
{
{-0.0319133, -0.265466, -0.713483, 0.64765},
{-0.425628, -0.520961, -0.714215, 0.193227},
{ 0.32702, 0.565845, -0.37129, -0.659561},
{-0.682699, -0.056645, 0.0771025, 0.724409}
}
и автоматические значения
{-2.22545, 1.12704, -0.454756, 0.100076}
и с моим кодом, и с Mathematica, и результаты согласны.
Но в предыдущей ссылке авто-векторы, о которых сообщалось из LAPACK, совершенно другие.
Eigenvalues
-0.4548 0.1001
Selected eigenvectors
1 2
1 0.3080 0.4469
2 0.5329 0.0371
3 -0.3496 -0.0505
4 -0.6211 -0.4743
Кому я должен доверять?
P.S. Я также проверил, что мои значения auto / autovector верны, поскольку они дают A * x-lambda * B * x = 0, в то время как значения из LAPACK - нет.