- SingularValueDecompositionDC
- SingularValueDecompositionQR
- SingularValueDecompositionQRPivot
- SingularValueDecompositionBisect
- SingularValueDecompositionJacobiHigh
- SingularValueDecompositionJacobiLow
- SingularValueDecompositionBidiagDC
- SingularValueDecompositionBidiagBisect
- SingularValueDecompositionBidiagQR
SingularValueDecompositionBisect
Singular Value Decomposition — разложение по сингулярным значениям, алгоритм bisection (lapack-функция GESVDX).
Вычисления для типа matrix<double>
bool matrix::SingularValueDecompositionBisect(
|
Вычисления для типа matrix<float>
bool matrix::SingularValueDecompositionBisect(
|
Вычисления для типа matrix<complex>
bool matrix::SingularValueDecompositionBisect(
|
Вычисления для типа matrix<complexf>
bool matrix::SingularValueDecompositionBisect(
|
Параметры
jobv
[in] Значение из перечисления ENUM_SVD_VECTORS, определяющее способ вычисления левых и правых сингулярных векторов.
range
[in] Значение из перечисления ENUM_BLAS_RANGE, определяющее подмножество вычисляемых сингулярных значений и векторов.
lower
[in] Нижняя граница подмножества сингулярных значений, задаётся в зависимости от значения параметра range.
upper
[in] Верхняя граница подмножества сингулярных значений, задаётся в зависимости от значения параметра range.
S
[out] Вектор сингулярныx значений.
U
[out] Матрица левых сингулярных векторов.
VT
[out] Матрица правых сингулярных векторов.
Возвращаемое значение
Возвращает true в случае успеха, иначе false в случае ошибки.
Примечание
Расчёт зависит от значений параметров jobuv и range.
При значении BLASRANGE_A все сингулярные значения вычисляются, при этом параметры lower и upper игнорируются.
При значении BLASRANGE_V вычисляются только те сингулярные значения (и их векторы), которые попадают в диапазон вещественных значений, заданных параметрами lower и upper.
При значении BLASRANGE_I вычисляются только те сингулярные значения (и их векторы), которые попадают в диапазон целочисленных индексов, заданных параметрами lower и upper. Например, при параметрах lower=0 и upper=2 вычисляются только первые три сингулярные значения.
Перечисление, определяющее способ вычисления левых и правых сингулярных векторов.
Идентификатор |
Описание |
---|---|
SVDVECTORS_N |
Вычисляются только сингулярные значения, без векторов. |
SVDVECTORS_U |
Вычисляются левые сингулярные векторы. |
SVDVECTORS_V |
Вычисляются правые сингулярные векторы. |
SVDVECTORS_UV |
Вычисляются левые и правые сингулярные векторы. |
Перечисление, определяющее подмножество вычисляемых сингулярных значений и векторов.
Идентификатор |
Описание |
---|---|
BLASRANGE_A |
Будут найдены все сингулярные или собственные значения. |
BLASRANGE_V |
Будут найдены все сингулярные или собственные значения в полуоткрытом интервале (VL,VU]. |
BLASRANGE_I |
Будут найдены сингулярные или собственные значения с IL-го по IU-е |
Смотри также
SingularValueDecompositionDC, SingularValueDecompositionQR, SingularValueDecompositionQRPivot