ManagedLapack.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<Complex<Double>>, Array1D<Int32>, Array2D<Complex<Double>>, 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<Double>, Array1D<Int32>, Array2D<Double>, 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<Complex<Double>>, Array1D<Int32>, Array2D<Complex<Double>>, 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 override void BandLUSolve(
	TransposeOperation trans,
	int n,
	int kl,
	int ku,
	int nrhs,
	Array2D<Complex<double>> ab,
	Array1D<int> ipiv,
	Array2D<Complex<double>> 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<Complex<Double>>
            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<Complex<Double>>
            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

BandLUSolve(TransposeOperation, Int32, Int32, Int32, Int32, Array2D<Double>, Array1D<Int32>, Array2D<Double>, 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 override void BandLUSolve(
	TransposeOperation trans,
	int n,
	int kl,
	int ku,
	int nrhs,
	Array2D<double> ab,
	Array1D<int> ipiv,
	Array2D<double> 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<Double>
            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<Double>
            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 DGBTRS.

See Also