Intel® Math Kernel Library 2018 Developer Reference - C

?sytrs_aa

Solves a system of linear equations with a real or complex symmetric matrix .

LAPACK_DECL lapack_int LAPACKE_ssytrs_aa (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_DECL lapack_int LAPACKE_dsytrs_aa (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 );

Description

?sytrs_aa solves a system of linear equations A * X = B with a real or complex symmetric matrix A using the factorization A = U * T * UT or A = L * T * LT computed by ?sytrf_aa.

Input Parameters

matrix_layout

Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).

uplo

Specifies whether the details of the factorization are stored as an upper or lower triangular matrix.

If uplo = 'U': The form is U * T * UT.

If uplo = 'L': The form is L * T * LT.

n

The order of the matrix A. n 0.

nrhs

The number of right hand sides or the number of columns of the matrix B. nrhs 0.

a

Array of size lda*n. Details of factors computed by ?sytrf_aa.

lda

The leading dimension of the array a. lda max(1,n).

ipiv

Array of size (n). Details of the interchanges as computed by ?sytrf_aa.

b

Array of size ldb*nrhs. On entry, the right hand side matrix B.

ldb

The leading dimension of the array b. ldb max(1,n).

work

See Syntax - Workspace. Array of size (max(1, lwork)).

lwork

See Syntax - Workspace. lwork max(1, 3*n - 2).

Output Parameters

b

On exit, the solution matrix X.

Return Values

This function returns a value info.

If info = 0: successful exit.

If info < 0: if info = -i, the i-th argument had an illegal value.

Syntax - Workspace

Use this interface if you want to explicitly provide the workspace array.

LAPACK_DECL lapack_int LAPACKE_ssytrs_aa_work (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, float * work, lapack_int lwork );

LAPACK_DECL lapack_int LAPACKE_dsytrs_aa_work (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, double * work, lapack_int lwork );