XLPack 7.0
XLPack Numerical Library (Excel VBA) Reference Manual
Loading...
Searching...
No Matches

◆ Dpttrs()

Sub Dpttrs ( N As  Long,
D() As  Double,
E() As  Double,
B() As  Double,
Info As  Long,
Optional Nrhs As  Long = 1 
)

Solution to factorized system of linear equations AX = B for a symmetric positive definite tridiagonal matrix

Purpose
This routine solves a symmetric positive definite tridiagonal system of the form
A * X = B
using the L*D*L^T factorization of A computed by Dpttrf. D is a diagonal matrix specified in the vector D, L is a unit bidiagonal matrix whose sub-diagonal is specified in the vector E, and X and B are n x nrhs matrices.
Parameters
[in]NOrder of the matrix A. (N >= 0) (If N = 0, returns without computation)
[in]D()Array D(LD - 1) (LD >= N)
N diagonal elements of the diagonal matrix D from the L*D*L^T factorization of A.
[in]E()Array E(LE - 1) (LE >= N - 1)
N-1 sub-diagonal elements of the unit bidiagonal factor L from the L*D*L^T factorization of A. E can also be regarded as the super-diagonal of the unit bidiagonal factor U from the U^T*D*U factorization of A.
[in,out]B()Array B(LB1 - 1, LB2 - 1) (LB1 >= max(1, N), LB2 >= Nrhs) (2D array) or B(LB - 1) (LB >= max(1, N), Nrhs = 1) (1D array)
[in] N x Nrhs right hand side matrix B.
[out] If Info = 0, the N x Nrhs solution matrix X.
[out]Info= 0: Successful exit.
= -1: The argument N had an illegal value. (N < 0)
= -2: The argument D() is invalid.
= -3: The argument E() is invalid.
= -4: The argument B() is invalid.
= -6: The argument Nrhs had an illegal value. (Nrhs < 0)
[in]Nrhs(Optional)
Number of right hand sides, i.e., number of columns of the matrix B. (Nrhs >= 0) (If Nrhs = 0, returns without computation) (default = 1)
Reference
LAPACK
Example Program
See example of Dpttrf.