Spec-Zone.ru › NumPy 1.18

numpy.linalg.eigvalsh

numpy.linalg.eigvalsh(a, UPLO='L') [source]

Вычисление собственных значений комплексной эрмитовой или вещественной симметричной матрицы.

Основное отличие от eigh: собственные векторы не вычисляются.

Параметры
a(…, M, M) array_like

Матрица с комплексными или вещественными значениями, собственные значения которой нужно вычислить.

UPLO{‘L’, ‘U’}, optional

Указывает, вычисляется ли значение с использованием нижней треугольной части a (‘L’, по умолчанию) или верхней треугольной части (‘U’). Независимо от этого значения, только вещественные части диагонали будут учитываться при вычислении для сохранения понятия эрмитовой матрицы. Следовательно, мнимая часть диагонали всегда будет рассматриваться как ноль.

Возвращаемое значение
w(…, M,) ndarray

Собственные значения в порядке возрастания, каждое повторяется в соответствии со своей кратностью.

Исключения
LinAlgError

Если вычисление собственных значений не сойдется.

См. также

eigh

собственные значения и собственные векторы вещественных симметричных или комплексных эрмитовых (сопряжённо-симметричных) массивов.

eigvals

собственные значения общих вещественных или комплексных массивов.

eig

собственные значения и правые собственные векторы общих вещественных или комплексных массивов.

Примечания

Введено в версии 1.8.0.

Применяются правила широковещательной рассылки, см. numpy.linalg документацию для получения подробной информации.

Собственные значения вычисляются с помощью процедур LAPACK _syevd, _heevd.

Примеры

>>> from numpy import linalg as LA
>>> a = np.array([[1, -2j], [2j, 5]])
>>> LA.eigvalsh(a)
array([ 0.17157288,  5.82842712]) # may vary
>>> # demonstrate the treatment of the imaginary part of the diagonal
>>> a = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])
>>> a
array([[5.+2.j, 9.-2.j],
       [0.+2.j, 2.-1.j]])
>>> # with UPLO='L' this is numerically equivalent to using LA.eigvals()
>>> # with:
>>> b = np.array([[5.+0.j, 0.-2.j], [0.+2.j, 2.-0.j]])
>>> b
array([[5.+0.j, 0.-2.j],
       [0.+2.j, 2.+0.j]])
>>> wa = LA.eigvalsh(a)
>>> wb = LA.eigvals(b)
>>> wa; wb
array([1., 6.])
array([6.+0.j, 1.+0.j])

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.linalg.eigvalsh.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API