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

◆ ZHsrIcSolve()

Sub ZHsrIcSolve ( N As  Long,
Val() As  Complex,
Rowptr() As  Long,
Colind() As  Long,
Idiag() As  Long,
B() As  Complex,
X() As  Complex,
Optional Info As  Long,
Optional ByVal Uplo As  String = "L",
Optional Base As  Long = -1 
)

Incomplete Cholesky preconditioner (IC) (Hermitian positive definite matrices) (CSR)

Purpose
This routine is the incomplete Cholesky preconditioner (IC) for the Hermitian positive definite coefficient matrix of the sparse linear equations. It solves the equation Mx = b, where M is the preconditioner matrix (L*D*L^H or U^H*D*U).
Parameters
[in]NDimension of preconditioner matrix. (N >= 0) (if N = 0, returns without computation)
[in]Val()Array Val(LVal - 1) (LVal >= Nnz) (Nnz is number of nonzero elements)
Values of non-zero elements of preconditioner matrix.
[in]Rowptr()Array Rowptr(LRowptr - 1) (LRowptr >= N + 1)
Row pointers of preconditioner matrix.
[in]Colind()Array Colind(LColind - 1) (LColind >= Nnz)
Column indices of preconditioner matrix.
[in]Idiag()Array Idiag(LIdiag) (LIdiag >= N)
Indices of diagonal elements.
[in]B()Array B(LB - 1) (LB >= N)
Right hand side vector b.
[out]X()Array X(LX - 1) (LX >= N)
Solution vector x.
[out]Info(Optional)
= 0: Successful exit.
= i < 0: The (-i)-th argument is invalid.
= j > 0: Matrix is singular (j-th diagonal element is zero).
[in]Uplo(Optional)
= "U": Upper trianglar matrix U and diagonal matrix D are stored as the preconditioner matrix.
= "L": Lower trianglar matrix L and diagonal matrix D are stored as the preconditioner matrix.
(default = "L")
[in]Base(Optional)
Indexing of Rowptr() and Colind().
= 0: Zero-based (C style) indexing: Starting index is 0.
= 1: One-based (Fortran style) indexing: Starting index is 1.
(default: Assumes 1 if Rowptr(0) = 1, 0 otherwise)
Example Program
See example of ZHsrIc0.