mkl_sparse_?_qr
mkl_sparse_?_qr
Calculates the solution of sparse systems of linear equations using QR decomposition.
Syntax
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
);
Include Files
- mkl_sparse_qr.h
Description
The
mkl_sparse_?_qr
routine calculates the solution of sparse systems of linear equations A
*x
= b
using QR decomposition (A
= Q
*R
).Currently,
mkl_sparse_?_qr
supports only CSR format for the input matrix, non-transpose operation, and single right-hand side.Input Parameters
- operation
- Specifies the operation to perform.Currently, the only suppored value isSPARSE_OPERATION_NON_TRANSPOSE(non-transpose case; that is,A*x=bis solved).
- A
- Handle containing a sparse matrix in an internal data structure.
- descr
- Structure specifying sparse-matrix properties. Only the parameters listed here are currently supported.
- type
- Specifies the type of sparse matrix.Currently, the only supported value isSPARSE_MATRIX_TYPE_GENERAL(the matrix is processed as-is).
- layout
- Describes the storage scheme for the dense matrix:SPARSE_LAYOUT_COLUMN_MAJORStorage of elements uses column-major layout.SPARSE_LAYOUT_ROW_MAJORStorage of elements uses row-major layout.
- x
- Array with a size of at leastrows*cols:layout=SPARSE_LAYOUT_COLUMN_MAJORlayout=SPARSE_LAYOUT_ROW_MAJORrows(number of rows inx)ldxNumber of columns inAcols(number of columns inx)columnsldx
- columns
- Number of columns in matrixb.
- ldx
- Specifies the leading dimension of matrixx.
- b
- Array with a size of at leastrows*cols:layout=SPARSE_LAYOUT_COLUMN_MAJORlayout=SPARSE_LAYOUT_ROW_MAJORrows(number of rows inb)ldbNumber of columns inAcols(number of columns inb)columnsldb
- ldb
- Specifies the leading dimension of matrixb.
Output Parameters
- x
- Overwritten by the updated matrixy.
Return Values
- 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.