Generic Decomposition Operations<T>.LUSolve Method
Definition
Namespace: Extreme.Mathematics.LinearAlgebra.Implementation
Assembly: Extreme.Numerics.Generic (in Extreme.Numerics.Generic.dll) Version: 8.1.4
Assembly: Extreme.Numerics.Generic (in Extreme.Numerics.Generic.dll) Version: 8.1.4
Overload List
LUSolve( | Solves a system of linear equations A * X = B or AT * X = B with a general N-by-N matrix A using the LU factorization computed by DGETRF. |
LUSolve( | ZGETRS solves a system of linear equations A * X = B or A' * X = B with a general N-by-N matrix A using the LU decomposition computed by ZGETRF. Arguments ========= TRANS (input) CHARACTER*1 Specifies the form of the system of equations: = 'N': A * X = B (No transpose) = TransposeOperation.Transpose: A'* X = B (Transpose) = 'C': A'* X = B (Conjugate transpose = Transpose) N (input) INTEGER The elementOrder of the matrix A. N >= 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. A (input) ZOUBLE PRECISION array, dimension (LDA,N) The factors L and U from the decomposition A = P*L*U as computed by ZGETRF. LDA (input) INTEGER The leading dimension of the array A. LDA >= Max(1,N). IPIV (input) INTEGER array, dimension (N) The pivot indexes from ZGETRF; for 1< =i< =N, row i of the matrix was interchanged with row IPIVi. B (input/output) ZOUBLE PRECISION array, dimension (LDB,NRHS) On entry, the right hand side matrix B. On exit, the solution matrix X. LDB (input) INTEGER The leading dimension of the array B. LDB >= Max(1,N). info (output) INTEGER = 0: successful exit < 0: if info = -i, the i-th argument had an illegal value ===================================================================== |
LUSolve(TransposeOperation, Int32, Int32, Array2D<T>, Array1D<Int32>, Array2D<T>, Int32)
Solves a system of linear equations A * X = B or AT * X = B with a general N-by-N matrix A using the LU factorization computed by DGETRF.
public override void LUSolve(
TransposeOperation trans,
int n,
int nrhs,
Array2D<T> a,
Array1D<int> ipiv,
Array2D<T> b,
out int info
)
Parameters
- trans TransposeOperation
Specifies the form of the system of equations: = 'N': A * X = B (No transpose) = 'T': AT* X = B (Transpose) = 'C': AT* X = B (Conjugate transpose = Transpose)
- n Int32
The order of the matrix A. N >= 0.
- nrhs Int32
The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
- a Array2D<T>
Dimension (LDA,N) The factors L and U from the factorization A = P*L*U as computed by DGETRF.
The leading dimension of the array A. LDA >= max(1,N).
- ipiv Array1D<Int32>
Dimension (N) The pivot indices from DGETRF; for 1<=i<=N, row i of the matrix was interchanged with row IPIV(i).
- b Array2D<T>
Dimension (LDB,NRHS) On entry, the right hand side matrix B. On exit, the solution matrix X.
The leading dimension of the array B. LDB >= max(1,N).
- info Int32
info is INTEGER = 0: successful exit < 0: if info = -i, the i-th argument had an illegal value
Remarks
This method corresponds to the LAPACK routine DGETRS.
LUSolve(TransposeOperation, Int32, Int32, Array2D<Complex<T>>, Array1D<Int32>, Array2D<Complex<T>>, Int32)
ZGETRS solves a system of linear equations
A * X = B or A' * X = B
with a general N-by-N matrix A using the LU decomposition computed
by ZGETRF.
Arguments
=========
TRANS (input) CHARACTER*1
Specifies the form of the system of equations:
= 'N': A * X = B (No transpose)
= TransposeOperation.Transpose: A'* X = B (Transpose)
= 'C': A'* X = B (Conjugate transpose = Transpose)
N (input) INTEGER
The elementOrder of the matrix A. N >= 0.
NRHS (input) INTEGER
The number of right hand sides, i.e., the number of columns
of the matrix B. NRHS >= 0.
A (input) ZOUBLE PRECISION array, dimension (LDA,N)
The factors L and U from the decomposition A = P*L*U
as computed by ZGETRF.
LDA (input) INTEGER
The leading dimension of the array A. LDA >= Max(1,N).
IPIV (input) INTEGER array, dimension (N)
The pivot indexes from ZGETRF; for 1< =i< =N, row i of the
matrix was interchanged with row IPIVi.
B (input/output) ZOUBLE PRECISION array, dimension (LDB,NRHS)
On entry, the right hand side matrix B.
On exit, the solution matrix X.
LDB (input) INTEGER
The leading dimension of the array B. LDB >= Max(1,N).
info (output) INTEGER
= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
=====================================================================
public override void LUSolve(
TransposeOperation trans,
int n,
int nrhs,
Array2D<Complex<T>> a,
Array1D<int> ipiv,
Array2D<Complex<T>> b,
out int info
)