- SingularValueDecompositionDC
- SingularValueDecompositionQR
- SingularValueDecompositionQRPivot
- SingularValueDecompositionBisect
- SingularValueDecompositionJacobiHigh
- SingularValueDecompositionJacobiLow
- SingularValueDecompositionBidiagDC
- SingularValueDecompositionBidiagBisect
- SingularValueDecompositionBidiagQR
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 |
Правые сингулярные векторы не вычисляются. |
Смотри также