OpenCV  3.3.0-dev
Open Source Computer Vision
Functions

Functions

int hal_ni_QR32f (float *src1, size_t src1_step, int m, int n, int k, float *src2, size_t src2_step, float *dst, int *info)
 
int hal_ni_QR64f (double *src1, size_t src1_step, int m, int n, int k, double *src2, size_t src2_step, double *dst, int *info)
 

Detailed Description

Performs QR decomposition of \(M\times N\)( \(M>N\)) matrix \(A = Q*R\) and solves matrix equation \(A*X=B\).

Parameters
src1pointer to input matrix \(A\) stored in row major order. After finish of work src1 contains upper triangular \(N\times N\) matrix \(R\). Lower triangle of src1 will be filled with vectors of elementary reflectors. See [VandLec] and Lapack's DGEQRF documentation for details.
src1_stepnumber of bytes between two consequent rows of matrix \(A\).
mnumber fo rows in matrix \(A\).
nnumber of columns in matrix \(A\).
knumber of right-hand vectors in \(M\times K\) matrix \(B\).
src2pointer to \(M\times K\) matrix \(B\) which is the right-hand side of system \(A*X=B\). \(B\) stored in row major order. If src2 is null pointer only QR decomposition will be performed. Otherwise system will be solved and src1 will be used as temporary buffer, so after finish of work src2 contains solution \(X\) of system \(A*X=B\).
src2_stepnumber of bytes between two consequent rows of matrix \(B\).
dstpointer to continiuos \(N\times 1\) array for scalar factors of elementary reflectors. See [VandLec] for details.
infoindicates success of decomposition. If *info is zero decomposition failed.

Function Documentation

◆ hal_ni_QR32f()

int hal_ni_QR32f ( float *  src1,
size_t  src1_step,
int  m,
int  n,
int  k,
float *  src2,
size_t  src2_step,
float *  dst,
int *  info 
)
inline

◆ hal_ni_QR64f()

int hal_ni_QR64f ( double *  src1,
size_t  src1_step,
int  m,
int  n,
int  k,
double *  src2,
size_t  src2_step,
double *  dst,
int *  info 
)
inline