- LeastSquaresSolution
- LeastSquaresSolutionDC
- LeastSquaresSolutionSVD
- LeastSquaresSolutionWY
- LeastSquaresSolutionsQRPivot
- LeastSquaresSolutionQRTallSkinny
LeastSquaresSolutionSVD
Вычисляет решение задачи наименьших квадратов с минимальной нормой для вещественной или комплексной системы minimize 2-norm(| b - A*x |) с использованием сингулярного разложения (SVD) матрицы A. Матрица A имеет размер m на n и может быть вырожденной по рангу. LAPACK function GELSS.
Вычисления для типа matrix<double>
bool matrix::LeastSquaresSolutionSVD(
|
Вычисления для типа matrix<float>
bool matrixf::LeastSquaresSolutionSVD(
|
Вычисления для типа matrix<complex>
bool matrixc::LeastSquaresSolutionSVD(
|
Вычисления для типа matrix<complexf>
bool matrixcf::LeastSquaresSolutionSVD(
|
Параметры
Б
[in] Матрица B, столбцы которой представляют собой правые части систем линейных уравнений. Если это вектор B, здесь содержится одна правая часть.
rcond
[in] Значение rcond используемое для определения эффективного ранга матрицы A. Сингулярные значения S(i) <= rcond*S(1) считаются равными нулю. Если rcond < 0, используется машинная точность.
X
[out] Матрица или вектор X с решениями линейной задачи наименьших квадратов.
residuals
[out] Матрица или вектор с суммами квадратов невязок по каждому решению (по столбцам). Значения определяются как сумма квадратов элементов в этом столбце. Если m<=n, тогда матрица (вектор) residuals остается пустой.
singular_values
[out] Вектор вычисленных сингулярных значений.
rank
[out] Эффективный ранг матрицы A, т.е. количество сингулярных значений, превышающих rcond*S(1).
Возвращаемое значение
Возвращает true в случае успеха и false в случае ошибки.
Примечание
Матрица B должна иметь размер m на nrhs, где nrhs — количество векторов правой части. Матрица X имеет размер n на nrhs.
Число обусловленности матрицы A в 2-норме = S(1)/S(min(m,n)).