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

◆ ZCscIluSolve()

Sub ZCscIluSolve ( ByVal Trans As  String,
N As  Long,
Val() As  Complex,
Colptr() As  Long,
Rowind() As  Long,
D() As  Complex,
B() As  Complex,
X() As  Complex,
Optional Info As  Long,
Optional Base As  Long = -1 
)

Incomplete LU decomposition (ILU) preconditioner (Complex matrices) (CSC)

Purpose
This routine is the incomplete LU decomposition preconditioner (ILU) for the sparse linear equations. It solves the equation M*x = b, M^T*x = b or M^H*x = b, where M is the preconditioner matrix.
Parameters
[in]Trans= "N": solve M*x = b.
= "T": solve M^T*x = b.
= "C": solve M^H*x = b.
[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 non-zero elements)
Values of non-zero elements of preconditioner matrix (lower triangular matrix L and upper triangular matrix U).
[in]Colptr()Array Colptr(LColptr - 1) (LColptr >= N + 1)
Column pointers of preconditioner matrix.
[in]Rowind()Array Rowind(LRowind - 1) (LRowind >= Nnz)
Row indices of preconditioner matrix.
[in]D()Array D(LD) (LD >= N)
The diagonal elements of upper triangular matrix U.
[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.
[in]Base(Optional)
Indexing of Colptr() and Rowind().
= 0: Zero-based (C style) indexing: Starting index is 0.
= 1: One-based (Fortran style) indexing: Starting index is 1.
(default: Assumes 1 if Colptr(0) = 1, 0 otherwise)
Example Program
See examples of ZCscIlu and ZCscIlu0.