Intel® oneAPI Math Kernel Library Developer Reference - C
Computes the QR decomposition for the matrix of a sparse linear system and calculates the solution.
sparse_status_t mkl_sparse_d_qr ( sparse_operation_t operation, sparse_matrix_t A, struct matrix_descr descr, sparse_layout_t layout, MKL_INT columns, double *x, MKL_INT ldx, const double *b, MKL_INT ldb );
sparse_status_t mkl_sparse_s_qr ( sparse_operation_t operation, sparse_matrix_t A, struct matrix_descr descr, sparse_layout_t layout, MKL_INT columns, float *x, MKL_INT ldx, const float *b, MKL_INT ldb );
The mkl_sparse_?_qr routine computes the QR decomposition for the matrix of a sparse linear system A*x = b, so that A = Q*R where Q is the orthogonal matrix and R is upper triangular, and calculates the solution.
Currently, mkl_sparse_?_qr supports only square and overdetermined systems. For underdetermined systems you can manually transpose the system matrix and use QR decomposition for AT to get the minimum-norm solution for the original underdetermined system.
Specifies the operation to perform.
Handle containing a sparse matrix in an internal data structure.
Structure specifying sparse matrix properties. Only the parameters listed here are currently supported.
Specifies the type of sparse matrix.
Describes the storage scheme for the dense matrix:
SPARSE_LAYOUT_COLUMN_MAJOR | Storage of elements uses column-major layout. |
SPARSE_LAYOUT_ROW_MAJOR | Storage of elements uses row-major layout. |
Array with a size of at least rows*cols:
layout = SPARSE_LAYOUT_COLUMN_MAJOR | layout = SPARSE_LAYOUT_ROW_MAJOR | |
rows (number of rows in x) | ldx | Number of columns in A |
cols (number of columns in x) | columns | ldx |
Number of columns in matrix b.
Specifies the leading dimension of matrix x.
Array with a size of at least rows*cols:
layout = SPARSE_LAYOUT_COLUMN_MAJOR | layout = SPARSE_LAYOUT_ROW_MAJOR | |
rows (number of rows in b) | ldb | Number of columns in A |
cols (number of columns in b) | columns | ldb |
Specifies the leading dimension of matrix b.
Overwritten by the updated matrix y.