Visible to Intel only — GUID: GUID-86662FAC-1286-449D-8BC6-365FCC93375C
Visible to Intel only — GUID: GUID-86662FAC-1286-449D-8BC6-365FCC93375C
mkl_sparse_?_qr_solve
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)
- mkl_sparse_qr.f90
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.
- operation
-
C_INT
Specifies the operation to perform.
NOTE:Currently, the only supported value is SPARSE_OPERATION_NON_TRANSPOSE (non-transpose case; that is, A*x = b is solved). - A
-
SPARSE_MATRIX_T
Handle containing a sparse matrix in an internal data structure.
- alt_values
-
C_FLOAT for mkl_sparse_s_qr_solve; C_DOUBLE for mkl_sparse_d_qr_solve
Reserved for future use.
- layout
-
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. - 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 x) ldx Number of columns in A cols (number of columns in x) columns ldx - columns
-
C_INT
Number of columns in matrix b.
- ldx
-
C_INT
Specifies the leading dimension of matrix x.
- b
-
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 - ldb
-
C_INT
Specifies the leading dimension of matrix b.
- x
-
C_FLOAT for mkl_sparse_s_qr; C_DOUBLE for mkl_sparse_d_qr
Contains the solution of system A*x = b.
- stat
-
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.