OpenCV: Singular value matrix decomposition

| OpenCV 3.4.2 Open Source Computer Vision

Functions
Singular value matrix decomposition
Core functionality » Hardware Acceleration Layer » Interface

## 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

  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, ...).

## 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