GenericDecompositionOperations<T>.BandCholeskySolve Method

Definition

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

Overload List

BandCholeskySolve(MatrixTriangle, Int32, Int32, Int32, Array2D<T>, Array2D<T>, Int32)

Solves a system of linear equations A*X = B with a symmetric positive definite band matrix A using the Cholesky factorization A = UT*U or A = L*LT computed by DPBTRF.

BandCholeskySolve(MatrixTriangle, Int32, Int32, Int32, Array2D<Complex<T>>, Array2D<Complex<T>>, Int32)

Solves a system of linear equations A*X = B with a Hermitian positive definite band matrix A using the Cholesky factorization A = UH *U or A = L*LH computed by ZPBTRF.

BandCholeskySolve(MatrixTriangle, Int32, Int32, Int32, Array2D<T>, Array2D<T>, Int32)

Solves a system of linear equations A*X = B with a symmetric positive definite band matrix A using the Cholesky factorization A = UT*U or A = L*LT computed by DPBTRF.

C#
public override void BandCholeskySolve(
	MatrixTriangle storedTriangle,
	int n,
	int kd,
	int nrhs,
	Array2D<T> ab,
	Array2D<T> b,
	out int info
)

Parameters

storedTriangle  MatrixTriangle
            = 'U':  Upper triangular factor stored in AB;
            = 'L':  Lower triangular factor stored in AB.
            
n  Int32
            The order of the matrix A.  N >= 0.
            
kd  Int32
            The number of superdiagonals of the matrix A if UPLO = 'U',
            or the number of subdiagonals if UPLO = 'L'.  KD >= 0.
            
nrhs  Int32
            The number of right hand sides, i.e., the number of columns
            of the matrix B.  NRHS >= 0.
            
ab  Array2D<T>
            Dimension (LDAB,N)
            The triangular factor U or L from the Cholesky factorization
            A = UT*U or A = L*LT of the band matrix A, stored in the
            first KD+1 rows of the array.  The j-th column of U or L is
            stored in the j-th column of the array AB as follows:
            if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j;
            if UPLO ='L', AB(1+i-j,j)    = L(i,j) for j<=i<=min(n,j+kd).
            
            The leading dimension of the array AB.  LDAB >= KD+1.
            
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 ?PBTRS.

BandCholeskySolve(MatrixTriangle, Int32, Int32, Int32, Array2D<Complex<T>>, Array2D<Complex<T>>, Int32)

Solves a system of linear equations A*X = B with a Hermitian positive definite band matrix A using the Cholesky factorization A = UH *U or A = L*LH computed by ZPBTRF.

C#
public override void BandCholeskySolve(
	MatrixTriangle uplo,
	int n,
	int kd,
	int nrhs,
	Array2D<Complex<T>> ab,
	Array2D<Complex<T>> b,
	out int info
)

Parameters

uplo  MatrixTriangle
            = 'U':  Upper triangular factor stored in AB;
            = 'L':  Lower triangular factor stored in AB.
            
n  Int32
            The order of the matrix A.  N >= 0.
            
kd  Int32
            The number of superdiagonals of the matrix A if UPLO = 'U',
            or the number of subdiagonals if UPLO = 'L'.  KD >= 0.
            
nrhs  Int32
            The number of right hand sides, i.e., the number of columns
            of the matrix B.  NRHS >= 0.
            
ab  Array2D<Complex<T>>
            AB is COMPLEX*16 array, dimension (LDAB,N)
            The triangular factor U or L from the Cholesky factorization
            A = UH *U or A = L*LH of the band matrix A, stored in the
            first KD+1 rows of the array.  The j-th column of U or L is
            stored in the j-th column of the array AB as follows:
            if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j;
            if UPLO ='L', AB(1+i-j,j)    = L(i,j) for j<=i<=min(n,j+kd).
            
            The leading dimension of the array AB.  LDAB >= KD+1.
            
b  Array2D<Complex<T>>
            B is COMPLEX*16 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
info is INTEGER
            = 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