Intel® oneAPI Math Kernel Library Developer Reference - Fortran
Solving step of the SPARSE QR solver.
stat = mkl_sparse_d_qr_solve (operation, A, alt_values, layout, x, columns, ldx, b, ldb)
stat = mkl_sparse_s_qr_solve (operation, A, alt_values, layout, x, columns, ldx, b, ldb)
The mkl_sparse_?_qr_solve routine computes the solution of sparse systems of linear equations A*x = b. Prior to calling this routine, the mkl_sparse_?_qr_factorize routine must be called for the matrix handle A. For more information about the workflow of sparse QR functionality, refer to oneMKL Sparse QR solver. Multifrontal Sparse QR Factorization Method for Solving a Sparse System of Linear Equations.
Currently, mkl_sparse_?_qr_solve supports only CSR format for the input matrix, non-transpose operation, and single right-hand side.
Alternative values are not supported and must be set to NULL.
C_INT
Specifies the operation to perform.
SPARSE_MATRIX_T
Handle containing a sparse matrix in an internal data structure.
C_FLOAT for mkl_sparse_s_qr_solve; C_DOUBLE for mkl_sparse_d_qr_solve
Reserved for future use.
C_INT
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. |
C_FLOAT for mkl_sparse_s_qr; C_DOUBLE for mkl_sparse_d_qr
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 |
C_INT
Number of columns in matrix b.
C_INT
Specifies the leading dimension of matrix x.
C_FLOAT for mkl_sparse_s_qr; C_DOUBLE for mkl_sparse_d_qr
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 |
C_INT
Specifies the leading dimension of matrix b.
C_FLOAT for mkl_sparse_s_qr; C_DOUBLE for mkl_sparse_d_qr
Contains the solution of system A*x = b.
INTEGER
Value indicating whether the operation was successful, and if not, why:
SPARSE_STATUS_SUCCESS | The operation was successful. |
SPARSE_STATUS_NOT_INITIALIZED | The routine encountered an empty handle or matrix array. |
SPARSE_STATUS_ALLOC_FAILED | Internal memory allocation failed. |
SPARSE_STATUS_INVALID_VALUE | The input parameters contain an invalid value. |
SPARSE_STATUS_EXECUTION_FAILED | Execution failed. |
SPARSE_STATUS_INTERNAL_ERROR | An error in algorithm implementation occurred. |
SPARSE_STATUS_NOT_SUPPORTED | The requested operation is not supported. |