|
static void | backSubst (const Mat &w, const Mat &u, const Mat &vt, const Mat &rhs, CV_OUT Mat &dst) |
| performs back substitution
|
|
template<typename _Tp , int m, int n, int nm, int nb> |
static void | backSubst (const Matx< _Tp, nm, 1 > &w, const Matx< _Tp, m, nm > &u, const Matx< _Tp, n, nm > &vt, const Matx< _Tp, m, nb > &rhs, Matx< _Tp, n, nb > &dst) |
|
static void | compute (const Mat &src, CV_OUT Mat &w, CV_OUT Mat &u, CV_OUT Mat &vt, int flags=0) |
| decomposes matrix and stores the results to user-provided matrices
|
|
static void | compute (const Mat &src, CV_OUT Mat &w, int flags=0) |
| computes singular values of a matrix
|
|
template<typename _Tp , int m, int n, int nm> |
static void | compute (const Matx< _Tp, m, n > &a, Matx< _Tp, nm, 1 > &w, Matx< _Tp, m, nm > &u, Matx< _Tp, n, nm > &vt) |
|
template<typename _Tp , int m, int n, int nm> |
static void | compute (const Matx< _Tp, m, n > &a, Matx< _Tp, nm, 1 > &w) |
|
static void | solveZ (const Mat &src, CV_OUT Mat &dst) |
| finds dst = arg min_{|dst|=1} |m*dst|
|
|
Singular Value Decomposition class
The class is used to compute Singular Value Decomposition of a floating-point matrix and then use it to solve least-square problems, under-determined linear systems, invert matrices, compute condition numbers etc.
For a bit faster operation you can pass flags=SVD::MODIFY_A|... to modify the decomposed matrix when it is not necessarily to preserve it. If you want to compute condition number of a matrix or absolute value of its determinant - you do not need SVD::u or SVD::vt, so you can pass flags=SVD::NO_UV|... . Another flag SVD::FULL_UV indicates that the full-size SVD::u and SVD::vt must be computed, which is not necessary most of the time.