?getrs
?getrs
Solves a system of linear equations with an LU-factored square coefficient matrix, with multiple right-hand sides.
Syntax
lapack_int
LAPACKE_sgetrs
(
int
matrix_layout
,
char
trans
,
lapack_int
n
,
lapack_int
nrhs
,
const
float
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
float
*
b
,
lapack_int
ldb
);
lapack_int
LAPACKE_dgetrs
(
int
matrix_layout
,
char
trans
,
lapack_int
n
,
lapack_int
nrhs
,
const
double
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
double
*
b
,
lapack_int
ldb
);
lapack_int
LAPACKE_cgetrs
(
int
matrix_layout
,
char
trans
,
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_zgetrs
(
int
matrix_layout
,
char
trans
,
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 for
X
the following systems of linear equations:- A*X=B
- iftrans='N',
- AT*X=B
- iftrans='T',
- AH*X=B
- iftrans='C'(for complex matrices only).
Input Parameters
- matrix_layout
- Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).
- trans
- Must be'N'or'T'or'C'.Indicates the form of the equations:If, thentrans='N'is solved forA*X=BX.If, thentrans='T'is solved forAT*X=BX.If, thentrans='C'is solved forAH*X=BX.
- n
- The order ofA; the number of rows in.B(n≥0)
- nrhs
- The number of right-hand sides;nrhs≥0.
- a
- Array of size max(1,lda*n).
- b
- Array of size max(1,ldb*nrhs) for column major layout, and max(1,ldb*n) for row major layout.The arraybcontains the matrixBwhose columns are the right-hand sides for the systems 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≥nrhsfor row major layout
- ipiv
Output Parameters
- b
- Overwritten by the solution matrixX.
Return Values
This function returns a value
info
.If , the execution is successful.
info
= 0If , parameter
info
= -i
i
had an illegal value.Application Notes
For each right-hand side
b
, the computed solution is the exact solution of a perturbed system of equations (
, where A
+ E
)x
= b
|E| ≤ c(n)ε P|L||U|
c
(n
)n
, and ε
If is the true solution, the computed solution
x
0
x
satisfies this error bound:
where
cond( / || || = (
.A
,x
)= || |A
-1
||A
| |x
| ||∞
x
||∞
≤
||A
-1
||∞
A
||∞
κ
∞
A
)Note that (; the condition number of and might or might not be equal to (.
cond(
can be much smaller than A
,x
)κ
∞
A
)A
T
A
H
κ
∞
A
)The approximate number of floating-point operations for one right-hand side vector
b
is 2
for real flavors and n
2
8
for complex flavors.n
2
To estimate the condition number (, call
κ
∞
A
)?gecon
. To refine the solution and estimate the error, call
?gerfs
.