SingularValueDecompositionQRPivot
Singular Value Decomposition, алгоритм QR with pivoting (LAPACK-функция GESVDQ).
Вычисления для типа matrix<double>
bool matrix::SingularValueDecompositionQRPivot( |
Вычисления для типа matrix<float>
bool matrix::SingularValueDecompositionQRPivot( |
Вычисления для типа matrix<complex>
bool matrix::SingularValueDecompositionQRPivot( |
Вычисления для типа matrix<complexf>
bool matrix::SingularValueDecompositionQRPivot( |
Параметры
joba
[in] Значение из перечисления ENUM_SVDQRP_A, определяющее уровень точности расчёта SVD.
jobp
[in] Значение из перечисления ENUM_SVDQRP_P, определяющее использование переворота строк в процессе расчёта.
jobr
[in] Значение из перечисления ENUM_SVDQRP_R, определяющее необходимость транспонирования треугольной матрицы R, полученной в результате начальной QR-факторизации.
jobu
[in] Значение из перечисления ENUM_SVDQRP_U, определяющее способ вычисления левых сингулярных векторов.
jobv
[in] Значение из перечисления ENUM_SVDQRP_V, определяющее способ вычисления правых сингулярных векторов.
S
[out] Вектор сингулярныx значений.
U
[out] Матрица левых сингулярных векторов.
VT
[out] Матрица правых сингулярных векторов.
Возвращаемое значение
Возвращает true в случае успеха, иначе false в случае ошибки.
Примечание
Количество строк матрицы не должно быть меньше количества столбцов.
Если рассчитываются и левые, и правые сингулярные векторы, то при установленном значении jobu=SVDQRPU_R значение jobv должно быть установлено в SVDQRPV_R.
Перечисление, определяющее уровень точности расчёта SVD.
Идентификатор | Описание |
|---|---|
SVDQRP_A | Запрошенная точность соответствует обратной ошибке, ограниченной эпсилоном. Это агрессивный уровень усечения. |
SVDQRPA_M | Аналогично SVDQRP_A, но усечение более мягкое. Это средний уровень усечения. |
SVDQRPA_H | Требуется высокая точность. |
Перечисление, определяющее использование переворота строк в процессе расчёта.
Идентификатор | Описание |
|---|---|
SVDQRPP_P | Строки A упорядочены в порядке убывания. Рекомендуется для числовой надежности. |
SVDQRPP_N | Нет поворота строк. |
Перечисление, определяющее необходимость транспонирования треугольной матрицы R, полученной в результате начальной QR-факторизации.
Идентификатор | Описание |
|---|---|
SVDQRPR_T | После первоначальной повернутой QR-факторизации GESVD применяется к транспонированному R**T вычисленного треугольного множителя R. |
SVDQRPR_N | Треугольный множитель R задается как входные данные для GESVD. |
Перечисление, определяющее способ вычисления левых сингулярных векторов.
Идентификатор | Описание |
|---|---|
SVDQRPU_A | Вычисляются все M левых сингулярных векторов. |
SVDQRPU_S | Вычисляется min(M,N) левых сингулярных векторов. |
SVDQRPU_R | Определяется числовой ранг NUMRANK и вычисляется только NUMRANK левых сингулярных векторов. |
SVDQRPU_F | Возвращаются N левых сингулярных векторов. |
SVDQRPU_N | Левые сингулярные векторы не вычисляются. |
Перечисление, определяющее способ вычисления правых сингулярных векторов.
Идентификатор | Описание |
|---|---|
SVDQRPV_A | Все N правых сингулярных векторов вычисляются. |
SVDQRPV_R | Числовой ранг NUMRANK определяется и вычисляются только NUMRANK правых сингулярных векторов. |
SVDQRPV_N | Правые сингулярные векторы не вычисляются. |
Смотри также