Performs QR decomposition of \(M\times N\)( \(M>N\)) matrix \(A = Q*R\) and solves matrix equation \(A*X=B\). More...
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) |
Performs QR decomposition of \(M\times N\)( \(M>N\)) matrix \(A = Q*R\) and solves matrix equation \(A*X=B\).
src1 | pointer 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 [99] and Lapack's DGEQRF documentation for details. |
src1_step | number of bytes between two consequent rows of matrix \(A\). |
m | number fo rows in matrix \(A\). |
n | number of columns in matrix \(A\). |
k | number of right-hand vectors in \(M\times K\) matrix \(B\). |
src2 | pointer 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_step | number of bytes between two consequent rows of matrix \(B\). |
dst | pointer to continiuos \(N\times 1\) array for scalar factors of elementary reflectors. See [99] for details. |
info | indicates success of decomposition. If *info is zero decomposition failed. |
|
inline |
#include <core/src/hal_replacement.hpp>
Referenced by hal_ni_SVD64f().
|
inline |
#include <core/src/hal_replacement.hpp>
References CV_HAL_ERROR_NOT_IMPLEMENTED, and hal_ni_gemm32f().