DecompositionOperations<TReal, TComplex>.BandLUSolve Method

Definition

Namespace: Extreme.Mathematics.LinearAlgebra.Implementation
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23

Overload List

BandLUSolve(TransposeOperation, Int32, Int32, Int32, Int32, Array2D<TReal>, Array1D<Int32>, Array2D<TReal>, Int32)

Solves a system of linear equations A * X = B or AT * X = B with a general band matrix A using the LU factorization computed by DGBTRF.

BandLUSolve(TransposeOperation, Int32, Int32, Int32, Int32, Array2D<TComplex>, Array1D<Int32>, Array2D<TComplex>, Int32)

Solves a system of linear equations A * X = B, AT * X = B, or AH * X = B with a general band matrix A using the LU factorization computed by ZGBTRF.

BandLUSolve(TransposeOperation, Int32, Int32, Int32, Int32, Array2D<TReal>, Array1D<Int32>, Array2D<TReal>, Int32)

Solves a system of linear equations A * X = B or AT * X = B with a general band matrix A using the LU factorization computed by DGBTRF.

C#
public abstract void BandLUSolve(
	TransposeOperation trans,
	int n,
	int kl,
	int ku,
	int nrhs,
	Array2D<TReal> ab,
	Array1D<int> ipiv,
	Array2D<TReal> 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.
            
kl  Int32
            The number of subdiagonals within the band of A.  KL >= 0.
            
ku  Int32
            The number of superdiagonals within the band of A.  KU >= 0.
            
nrhs  Int32
            The number of right hand sides, i.e., the number of columns
            of the matrix B.  NRHS >= 0.
            
ab  Array2D<TReal>
            AB is TReal array, dimension (LDAB,N)
            Details of the LU factorization of the band matrix A, as
            computed by DGBTRF.  U is stored as an upper triangular band
            matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and
            the multipliers used during the factorization are stored in
            rows KL+KU+2 to 2*KL+KU+1.
            
            The leading dimension of the array AB.  LDAB >= 2*KL+KU+1.
            
ipiv  Array1D<Int32>
            Dimension (N)
            The pivot indices; for 1 <= i <= N, row i of the matrix was
            interchanged with row IPIV(i).
            
b  Array2D<TReal>
            B is TReal array, 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
            = 0:  successful exit
            < 0: if INFO = -i, the i-th argument had an illegal value
            

Remarks

This method corresponds to the LAPACK routine ?GBTRS.

BandLUSolve(TransposeOperation, Int32, Int32, Int32, Int32, Array2D<TComplex>, Array1D<Int32>, Array2D<TComplex>, Int32)

Solves a system of linear equations A * X = B, AT * X = B, or AH * X = B with a general band matrix A using the LU factorization computed by ZGBTRF.

C#
public abstract void BandLUSolve(
	TransposeOperation trans,
	int n,
	int kl,
	int ku,
	int nrhs,
	Array2D<TComplex> ab,
	Array1D<int> ipiv,
	Array2D<TComplex> 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':  AH * X = B  (Conjugate transpose)
            
n  Int32
            The order of the matrix A.  N >= 0.
            
kl  Int32
            The number of subdiagonals within the band of A.  KL >= 0.
            
ku  Int32
            The number of superdiagonals within the band of A.  KU >= 0.
            
nrhs  Int32
            The number of right hand sides, i.e., the number of columns
            of the matrix B.  NRHS >= 0.
            
ab  Array2D<TComplex>
            AB is TComplex array, dimension (LDAB,N)
            Details of the LU factorization of the band matrix A, as
            computed by ZGBTRF.  U is stored as an upper triangular band
            matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and
            the multipliers used during the factorization are stored in
            rows KL+KU+2 to 2*KL+KU+1.
            
            The leading dimension of the array AB.  LDAB >= 2*KL+KU+1.
            
ipiv  Array1D<Int32>
            Dimension (N)
            The pivot indices; for 1 <= i <= N, row i of the matrix was
            interchanged with row IPIV(i).
            
b  Array2D<TComplex>
            B is TComplex array, 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
            = 0:  successful exit
            < 0:  if INFO = -i, the i-th argument had an illegal value
            

Remarks

Authors: Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver, NAG Ltd.

Date: November 2011

See Also