np.linalg eigh и eig Какая разница и что лучше использовать
Primary tabs
Вот цитата из рассыли [1]:
eig() is for nonsymmetric matrices and eigh() is for symmetric
(or hermitian matrices).The former most likely will return complex eigen values. The latter
always returns real eigen values.eig() is slower and numerically less reliable (it calls LAPACK's DGEEV
and ZGEEV). Even for symmetric matrices it can produce complex
eigen pairs due to numerical round-off.eigh() can be called with an optional parameter UPLO that tells the
routine which triangle of the matrix it should operate on. That triangle
is destroyed and the other triangle is left untouched.Piotr
То есть тут сказано, что:
- eigh() -- служит для работы с эрмитовыми матрицами, всегда возвращает вещественные собственные значения.
- eig() -- скорее всего вернёт комплексные собственные значения, и она численно менее точна и более медленна, чем eigh(). См. оценку разницы для самосопряжённой матрицы.
Таким образом:
Для эрмитовых матриц следует использовать eigh() это повысит скорость и точность рассчёта.
Источники
- Log in to post comments
- 7618 reads
vedro-compota
Sat, 12/09/2017 - 12:45
Permalink
Не ясно как перевести
Не ясно как перевести фрагмент из цитаты выше:
Доккументация eigh() есть тут
_____________
матфак вгу и остальная классика =)
math2
Sat, 12/09/2017 - 22:55
Permalink
eigh() can be called with an
eigh() может быть вызвана с необязательным параметром UPLO, который говорит этой процедуре [скорее всего, речь идёт об eigh()], на каком треугольнике матрицы ей следует оперировать. Этот треугольник уничтожается, и другой треугольник остаётся нетронутым.
vedro-compota
Sun, 12/10/2017 - 17:32
Permalink
да, а что это за треугольник?
да, а что это за треугольник? "половина" под или над диагональю? Её достатчоно для вычисления собственных значений потому что матрица эрмитова?
_____________
матфак вгу и остальная классика =)
math2
Sun, 12/10/2017 - 19:10
Permalink
Похоже, это то, что под (или
Похоже, это то, что под (или над) диагональю и сама диагональ.
Значения на диагонали влияют на собственные значения.