Loading...
Searching...
No Matches
Singular value matrix decomposition

Functions

int hal_ni_SVD32f (float *src, size_t src_step, float *w, float *u, size_t u_step, float *vt, size_t vt_step, int m, int n, int flags)
 
int hal_ni_SVD64f (double *src, size_t src_step, double *w, double *u, size_t u_step, double *vt, size_t vt_step, int m, int n, int flags)
 

Detailed Description

Performs singular value decomposition of \(M\times N\)( \(M>N\)) matrix \(A = U*\Sigma*V^T\).

Parameters
srcpointer to input \(M\times N\) matrix \(A\) stored in column major order. After finish of work src will be filled with rows of \(U\) or not modified (depends of flag CV_HAL_SVD_MODIFY_A).
src_stepnumber of bytes between two consequent columns of matrix \(A\).
wpointer to array for singular values of matrix \(A\) (i. e. first \(N\) diagonal elements of matrix \(\Sigma\)).
upointer to output \(M\times N\) or \(M\times M\) matrix \(U\) (size depends of flags). Pointer must be valid if flag CV_HAL_SVD_MODIFY_A not used.
u_stepnumber of bytes between two consequent rows of matrix \(U\).
vtpointer to array for \(N\times N\) matrix \(V^T\).
vt_stepnumber of bytes between two consequent rows of matrix \(V^T\).
mnumber fo rows in matrix \(A\).
nnumber of columns in matrix \(A\).
flagsalgorithm options (combination of CV_HAL_SVD_FULL_UV, ...).

Function Documentation

◆ hal_ni_SVD32f()

int hal_ni_SVD32f ( float *  src,
size_t  src_step,
float *  w,
float *  u,
size_t  u_step,
float *  vt,
size_t  vt_step,
int  m,
int  n,
int  flags 
)
inline

◆ hal_ni_SVD64f()

int hal_ni_SVD64f ( double *  src,
size_t  src_step,
double *  w,
double *  u,
size_t  u_step,
double *  vt,
size_t  vt_step,
int  m,
int  n,
int  flags 
)
inline