- EigenTridiagonalDC
- EigenTridiagonalQR
- EigenTridiagonalRobust
- EigenTridiagonalBisect
- EigenTridiagonalQL
- EigenTridiagonalDCQ
- EigenTridiagonalQRQ
- EigenTridiagonalPosDefQ
EigenTridiagonalDCQ
Вычисление собственных значений и собственных векторов симметричной трехдиагональной матрицы с использованием алгоритма "разделяй и властвуй" (lapack-функция STEDC). В отличие от метода EigenTridiagonalDC данный метод может быть использован для вычисления собственных векторов оригинальной симметричной матрицы. Симметричная матрица может быть преобразована (reduced) в трёхдиагональную форму методом ReduceSymmetricToTridiagonal. Ортогональная матрица Q, полученная в результате такого преобразования, используется для вычисления собственных векторов оригинальной симметричной матрицы.
Вычисления для типа matrix<double>
bool matrix::EigenTridiagonalDCQ(
|
Вычисления для типа matrix<float>
bool matrixf::EigenTridiagonalDCQ(
|
Вычисления для типа matrix<complex>
bool matrixc::EigenTridiagonalDCQ(
|
Вычисления для типа matrix<complexf>
bool matrixcf::EigenTridiagonalDCQ(
|
Параметры
compv
[in] Значение из перечисления ENUM_EIGTRIDIAG_Z, определяющее способ вычисления собственных векторов.
Q
[in] Ортогональная матрица Q, полученная методом ReflectTridiagonalToQ.
eigen_values
[out] Вектор собственных значений.
eigen_vectors
[out] Матрица собственных векторов.
Возвращаемое значение
Возвращает true в случае успеха, иначе false в случае ошибки.
Примечание
Расчет зависит от значения параметра compv.
При compv = EIGCOMPZ_N рассчитываются только собственные значения, собственные векторы при этом не вычисляются.
При значении EIGCOMPZ_V вычисляются собственные значения, а также собственные векторы исходной симметричной матрицы.
Если параметр compv установлен в значение EIGCOMPZ_I, в дополнение к собственным значениям вычисляются собственные векторы трехдиагональной матрицы.
На вход должна подаваться симметричная матрица в трехдиагональной форме.
ENUM_EIGTRIDIAG_Z
Перечисление, определяющее необходимость вычисления собственных векторов.
Идентификатор |
Описание |
---|---|
EIGCOMPZ_N |
'N' — вычислять только собственные значения |
EIGCOMPZ_V |
'V' — дополнительно вычислять собственные векторы симметричной матрицы |
EIGCOMPZ_I |
'I' — дополнительно вычислять собственные векторы трехдиагональной матрицы |