Visible to Intel only — GUID: GUID-A5E55505-A959-40FD-8552-7846B81307C4
Visible to Intel only — GUID: GUID-A5E55505-A959-40FD-8552-7846B81307C4
mkl_sparse_?_qr_qmult
First stage of the solving step of the SPARSE QR solver.
Syntax
stat = mkl_sparse_d_qr_qmult (operation, A, layout, x, columns, ldx, b, ldb)
stat = mkl_sparse_s_qr_qmult (operation, A, layout, x, columns, ldx, b, ldb)
Include Files
- mkl_sparse_qr.f90
Description
The mkl_sparse_?_qr_qmult routine computes multiplication of inversed matrix Q and right-hand side matrix b. This routine can be used to perform the solving step in two separate calls as an alternative to a single call of mkl_sparse_?_qr_solve.
Input Parameters
- 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.
- 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.
Output Parameters
- x
-
C_FLOAT for mkl_sparse_s_qr; C_DOUBLE for mkl_sparse_d_qr
Overwritten by the updated matrix x = Q-1*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.