Developer Reference for Intel® oneAPI Math Kernel Library for C
?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 \(A*X = B\) with a symmetric matrix \(A\) , using the factorization \(A = U*D*U^{T}\) or \(A = L*D*L^{T}\) computed by ?sytrf_rook (Computes the bounded Bunch-Kaufman factorization of a symmetric matrix.) .
Input Parameters
matrix_layout
Specifies whether matrix storage layout for array b is row major ( LAPACK_ROW_MAJOR ) or column major ( LAPACK_COL_MAJOR ).
uplo
Must be ‘U’ or ‘L’ .
Indicates how the input matrix A has been factored:
If uplo = 'U' , the factorization is of the form \(A = U*D*U^{T}\) .
If uplo = 'L' , the factorization is of the form \(A = L*D*L^{T}\) .
- n
-
Specifies the order of the matrix A . The value of n must be at least zero.
nrhs
The number of right-hand sides; nrhs ≥ 0.
ipiv
Array, size at least max(1, n) . The ipiv array, as returned by ?sytrf_rook (Computes the bounded Bunch-Kaufman factorization of a symmetric matrix.) .
a , b
Arrays: a, size (lda*n) , b size (ldb*nrhs) .
The array a contains the block diagonal matrix D and the multipliers used to obtain U or L as computed by ?sytrf_rook (Computes the bounded Bunch-Kaufman factorization of a symmetric matrix.) (see uplo ).
The array b contains the matrix B whose columns are the right-hand sides for the system of equations.
lda
The leading dimension of a ; lda≥ max(1, n) .
ldb
The leading dimension of b ; ldb≥ max(1, n)ldb ≥ max(1, n ) for column major layout and ldb ≥ nrhs ) for row major layout .
Output Parameters
b
Overwritten by the solution matrix X .
Return Values
This function returns a value info .
If info=0 , the execution is successful.
If info = -i , the i -th parameter had an illegal value.
LAPACK 95 Interface Notes
There exist FORTRAN 77 and FORTRAN 95 interfaces for this routine. See the Intel® oneMKL Fortran Developer Reference for details.
Application Notes
The total number of floating-point operations for one right-hand side vector is approximately \(2n^{2}\) for real flavors or \(8n^{2}\) for complex flavors.