Developer Reference

  • 098
  • 03/30/2020
  • Public Content
Contents

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
.
Currently,
mkl_sparse_?_qr_qmult
supports only CSR format for the input matrix, non-transpose operation, and single right-hand side.
Input Parameters
operation
C_INT
Specifies the operation to perform.
Currently, the only suppored 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 ar