- EigenTridiagonalDC
- EigenTridiagonalQR
- EigenTridiagonalRobust
- EigenTridiagonalBisect
- EigenTridiagonalQL
- EigenTridiagonalDCQ
- EigenTridiagonalQRQ
- EigenTridiagonalPosDefQ
EigenTridiagonalBisect
Вычисление собственных значений и собственных векторов симметричной трехдиагональной матрицы с использованием алгоритма бисекции (lapack-функция STEVX).
Вычисления для типа matrix<double>
bool matrix::EigenTridiagonalBisect(
|
Вычисления для типа matrix<float>
bool matrixf::EigenTridiagonalBisect(
|
Параметры
jobv
[in] Значение из перечисления ENUM_EIG_VALUES, определяющее способ вычисления собственных векторов.
range
[in] Значение из перечисления ENUM_BLAS_RANGE, определяющее подмножество вычисляемых собственных значений и векторов.
lower
[in] Нижняя граница подмножества собственных значений, задается в зависимости от значения параметра range.
upper
[in] Верхняя граница подмножества собственных значений, задается в зависимости от значения параметра range.
abstol
[in] Размер абсолютной допустимой ошибки.
Размер абсолютной допустимой ошибки, с которой требуется определить каждое собственное значение/собственный вектор.
Если jobv = 'V', то собственные значения и собственные векторы на выходе имеют нормы невязок, ограниченные значением abstol, и при этом скалярные произведения между различными собственными векторами также ограничены значением abstol.
Если abstol < n *eps*|T|, тогда используется значение n *eps*|T|, где eps — это машинная точность, а |T| — это 1-норма матрицы T. Собственные значения вычисляются с точностью eps*|T| независимо от abstol.
В случае, если важна высокая относительная точность, необходимо установить abstol в безопасное минимальное значение X такое, что 1.0/X не переполняется.
eigen_values
[out] Вектор собственных значений.
V
[out] Матрица собственных векторов.
Возвращаемое значение
Возвращает true в случае успеха, иначе false в случае ошибки.
Примечание
Расчёт зависит от значения параметров jobv и range.
При значении BLASRANGE_A все собственные значения вычисляются, при этом параметры lower и upper игнорируются.
При значении BLASRANGE_V вычисляются только те собственные значения (и их векторы), которые попадают в диапазон вещественных значений, заданных параметрами lower и upper
При значении BLASRANGE_I вычисляются только те собственные значения (и их векторы), которые попадают в диапазон целочисленных индексов, заданных параметрами lower и upper. Например, при параметрах lower=0 и upper=2 вычисляются только первые три собственные значения.
На входе должна быть симметричная матрица в трехдиагональной форме.
ENUM_EIG_VALUES
Перечисление, определяющее необходимость вычисления собственных векторов.
Идентификатор |
Описание |
---|---|
EIGVALUES_V |
Вычисляются собственные векторы и собственные значения. |
EIGVALUES_N |
Вычисляются только собственные значения, без векторов. |
ENUM_BLAS_RANGE
Перечисление, определяющее способ вычисления правых сингулярных векторов.
Идентификатор |
Описание |
---|---|
BLASRANGE_A |
Будут найдены все сингулярные или собственные значения. |
BLASRANGE_V |
Будут найдены все сингулярные или собственные значения в полуоткрытом интервале (VL,VU]. |
BLASRANGE_I |
Вычисляются особые или собственные значения с IL-го по IU-е. |