Decomposes matrix A into a product of a diagonal matrix and two orthogonal matrices: A=U*W*VT Where W is diagonal matrix of singular values that can be coded as a 1D vector of singular values and U and V. All the singular values are non-negative and sorted (together with U and and V columns) in descenting order.
- A (IntPtr)
- Source MxN matrix
- W (IntPtr)
- Resulting singular value matrix (MxN or NxN) or vector (Nx1).
- U (IntPtr)
- Optional left orthogonal matrix (MxM or MxN). If CV_SVD_U_T is specified, the number of rows and columns in the sentence above should be swapped
- V (IntPtr)
- Optional right orthogonal matrix (NxN)
- flags (SVD_TYPE)
- Operation flags
Assembly: Emgu.CV (Module: Emgu.CV) Version: 188.8.131.52 (184.108.40.206)
SVD algorithm is numerically robust and its typical applications include: 1. accurate eigenvalue problem solution when matrix A is square, symmetric and positively defined matrix, for example, when it is a covariation matrix. W in this case will be a vector of eigen values, and U=V is matrix of eigen vectors (thus, only one of U or V needs to be calculated if the eigen vectors are required) 2. accurate solution of poor-conditioned linear systems 3. least-squares solution of overdetermined linear systems. This and previous is done by cvSolve function with CV_SVD method 4. accurate calculation of different matrix characteristics such as rank (number of non-zero singular values), condition number (ratio of the largest singular value to the smallest one), determinant (absolute value of determinant is equal to the product of singular values). All the things listed in this item do not require calculation of U and V matrices.