|
Perform QR decomposition. More...
Functions | |
AFAPI void | qr (array &out, array &tau, const array &in) |
C++ Interface for QR decomposition in packed format. More... | |
AFAPI void | qr (array &q, array &r, array &tau, const array &in) |
C++ Interface for QR decomposition. More... | |
AFAPI void | qrInPlace (array &tau, array &in) |
C++ Interface for QR decomposition. More... | |
AFAPI af_err | af_qr (af_array *q, af_array *r, af_array *tau, const af_array in) |
C Interface for QR decomposition. More... | |
AFAPI af_err | af_qr_inplace (af_array *tau, af_array in) |
C Interface for QR decomposition. More... | |
Perform QR decomposition.
This function decomposes input matrix A into an orthogonal matrix Q and an upper triangular matrix R such that
\(A = Q * R\)
\(Q * Q^T = I\)
Where I is an identity matrix. The matrix Q is a square matrix of size max(M, N) where M and N are rows and columns of A respectively. The matrix R is the same size as **A*.
This operation can be performed in ArrayFire using the following code snippet.
The additional parameter Tau can be used to speed up solving over and under determined system of equations.
The original matrix can be reconstructed using the following code snippet.
When memory is a concern, users can perform QR decomposition in place as shown below.
C Interface for QR decomposition.
[out] | q | is the orthogonal matrix from QR decomposition |
[out] | r | is the upper triangular matrix from QR decomposition |
[out] | tau | will contain additional information needed for solving a least squares problem using q and r |
[in] | in | is the input matrix |
C Interface for QR decomposition.
[out] | tau | will contain additional information needed for unpacking the data |
[in,out] | in | is the input matrix on entry. It contains packed QR decomposition on exit |
C++ Interface for QR decomposition in packed format.
[out] | out | is the output array containing the packed QR decomposition |
[out] | tau | will contain additional information needed for unpacking the data |
[in] | in | is the input matrix |
C++ Interface for QR decomposition.
[out] | q | is the orthogonal matrix from QR decomposition |
[out] | r | is the upper triangular matrix from QR decomposition |
[out] | tau | will contain additional information needed for solving a least squares problem using q and r |
[in] | in | is the input matrix |
C++ Interface for QR decomposition.
[out] | tau | will contain additional information needed for unpacking the data |
[in,out] | in | is the input matrix on entry. It contains packed QR decomposition on exit |