- SingularValueDecompositionDC
- SingularValueDecompositionQR
- SingularValueDecompositionQRPivot
- SingularValueDecompositionBisect
- SingularValueDecompositionJacobiHigh
- SingularValueDecompositionJacobiLow
- SingularValueDecompositionBidiagDC
- SingularValueDecompositionBidiagBisect
SingularValueDecompositionBidiagDC
Singular Value Decomposition, алгоритм divide and conquer для бидиагональной матрицы (lapack-функция BDSDC).
Вычисления для типа matrix<double>
bool matrix::SingularValueDecompositionBidiagDC(
|
Вычисления для типа matrix<float>
bool matrix::SingularValueDecompositionBidiagDC(
|
Параметры
jobz
[in] Значение из перечисления ENUM_SVDBIDIAG_Z, определяющее способ вычисления левых сингулярных векторов.
range
[in] Значение из перечисления ENUM_BLAS_RANGE, определяющее подмножество вычисляемых сингулярных значений и векторов.
lower
[in] Нижняя граница подмножества сингулярных значений, задаётся в зависимости от значения параметра range.
upper
[in] Верхняя граница подмножества сингулярных значений, задаётся в зависимости от значения параметра range.
S
[out] Вектор сингулярныx значений.
U
[out] Матрица левых сингулярных векторов.
V
[out] Транспонированная матрица правых сингулярных векторов.
Возвращаемое значение
Возвращает true в случае успеха или false, если произошла ошибка.
Примечание
Расчёт зависит от значений параметров jobz и и range.
При значении BLASRANGE_A все сингулярные значения вычисляются, при этом параметры lower и upper игнорируются.
При значении BLASRANGE_V вычисляются только те сингулярные значения (и их векторы), которые попадают в диапазон вещественных значений, заданных параметрами lower и upper
При значении BLASRANGE_I вычисляются только те сингулярные значения (и их векторы), которые попадают в диапазон целочисленных индексов, заданных параметрами lower и upper. Например, при параметрах lower=0 и upper=2 вычисляются только первые три сингулярные значения.
Бидиагональная матрица — квадратная матрица с ненулевыми главной диагональю и одной из субдиагоналей.
Верхняя бидиагональная матрица
[[x, x, 0, 0, 0],
|
Нижняя бидиагональная матрица
[[x, 0, 0, 0, 0],
|
Перечисление, определяющее способ вычисления левых сингулярных векторов.
Идентификатор |
Описание |
---|---|
SVDJOBZ_V |
Compute singular values and singular vectors. |
SVDJOBZ_N |
Compute singular values only. |
Перечисление, определяющее способ вычисления правых сингулярных векторов.
Идентификатор |
Описание |
---|---|
BLASRANGE_A |
Вычисляются все сингулярные или собственные значения. |
BLASRANGE_V |
Вычисляются все сингулярные или собственные значения в полуоткрытом интервале (VL,VU). |
BLASRANGE_I |
Вычисляются особые или собственные значения с IL-го по IU-е. |
Смотри также