?sytrs_rook
?sytrs_rook
Solves a system of linear equations with a UDU- or LDL-factored symmetric coefficient matrix.
Syntax
lapack_int
LAPACKE_ssytrs_rook
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_int
nrhs
,
const
float
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
float
*
b
,
lapack_int
ldb
);
lapack_int
LAPACKE_dsytrs_rook
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_int
nrhs
,
const
double
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
double
*
b
,
lapack_int
ldb
);
lapack_int
LAPACKE_csytrs_rook
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_int
nrhs
,
const
lapack_complex_float
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
lapack_complex_float
*
b
,
lapack_int
ldb
);
lapack_int
LAPACKE_zsytrs_rook
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_int
nrhs
,
const
lapack_complex_double
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
lapack_complex_double
*
b
,
lapack_int
ldb
);
Include Files
- mkl.h
Description
The routine solves a system of linear equations with a symmetric matrix or computed by
A*X
= B
A
, using the factorization A
= U*D*U
T
A
= L*D*L
T
?sytrf_rook
. Input Parameters
- matrix_layout
- Specifies whether matrix storage layout for arraybis row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).
- uplo
- Must be'U'or'L'.Indicates how the input matrixAhas been factored:If, the factorization is of the formuplo='U'A=.U*D*UTIf, the factorization is of the formuplo='L'A=.L*D*LT
- n
- The order of matrixA;n≥0.
- nrhs
- The number of right-hand sides;nrhs≥0.
- ipiv
- a,b
- Arrays:,a, size (lda*n).bsize (ldb*nrhs)The arrayacontains the block diagonal matrixDand the multipliers used to obtainUorLas computed by?sytrf_rook(seeuplo).The arraybcontains the matrixBwhose columns are the right-hand sides for the system of equations.
- lda
- The leading dimension ofa;.lda≥max(1,n)
- ldb
- The leading dimension ofb;.ldb≥max(1,n) for column major layout andldb≥nrhs) for row major layout
Output Parameters
- b
- Overwritten by the solution matrixX.
Return Values
This function returns a value
info
.If , the execution is successful.
info
=0If , the
info
= -i
i
-th parameter had an illegal value.Application Notes
The total number of floating-point operations for one right-hand side vector is approximately
2
for real flavors or n
2
8
for complex flavors.n
2