| OpenCV 3.4.8 Open Source Computer Vision

Functions
LU matrix decomposition
Core functionality » Hardware Acceleration Layer » Interface

## Functions
int | hal_ni_LU32f (float *src1, size_t src1_step, int m, float *src2, size_t src2_step, int n, int *info)
int | hal_ni_LU64f (double *src1, size_t src1_step, int m, double *src2, size_t src2_step, int n, int *info)

## Detailed Description

Performs \(LU\) decomposition of square matrix \(A=P*L*U\) (where \(P\) is permutation matrix) and solves matrix equation \(A*X=B\). Function returns the \(sign\) of permutation \(P\) via parameter info.

Parameters

  src1 | pointer to input matrix \(A\) stored in row major order. After finish of work src1 contains at least \(U\) part of \(LU\) decomposition which is appropriate for determainant calculation: \(det(A)=sign*\prod_{j=1}^{M}a_{jj}\).
  src1_step | number of bytes between two consequent rows of matrix \(A\).
  m | size of square matrix \(A\).
  src2 | pointer to \(M\times N\) 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 \(LU\) decomposition will be performed. 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\).
  n | number of right-hand vectors in \(M\times N\) matrix \(B\).
  info | indicates success of decomposition. If *info is equals to zero decomposition failed, othervise *info is equals to \(sign\).

## Function Documentation

## § hal_ni_LU32f()

int hal_ni_LU32f | ( | float * | src1,
|  | size_t | src1_step,
|  | int | m,
|  | float * | src2,
|  | size_t | src2_step,
|  | int | n,
|  | int * | info
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## § hal_ni_LU64f()

int hal_ni_LU64f | ( | double * | src1,
|  | size_t | src1_step,
|  | int | m,
|  | double * | src2,
|  | size_t | src2_step,
|  | int | n,
|  | int * | info
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`