|
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) |
|
Performs singular value decomposition of M\times N( M>N) matrix A = U*\Sigma*V^T.
- Parameters
-
src | pointer 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_step | number of bytes between two consequent columns of matrix A. |
w | pointer to array for singular values of matrix A (i. e. first N diagonal elements of matrix \Sigma). |
u | pointer 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_step | number of bytes between two consequent rows of matrix U. |
vt | pointer to array for N\times N matrix V^T. |
vt_step | number of bytes between two consequent rows of matrix V^T. |
m | number fo rows in matrix A. |
n | number of columns in matrix A. |
flags | algorithm options (combination of CV_HAL_SVD_FULL_UV, ...). |
§ 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 |