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

◆ ZHscCsc()

Sub ZHscCsc ( ByVal Uplo As  String,
N As  Long,
Val() As  Complex,
Colptr() As  Long,
Rowind() As  Long,
Val2() As  Complex,
Colptr2() As  Long,
Rowind2() As  Long,
Optional Info As  Long,
Optional Base As  Long = -1,
Optional Base2 As  Long = 0 
)

HSC (CSC Hermitian sparse matrix packed form) -> CSC (Hermitian full matrix) (Complex matrices)

Purpose
This function converts the CSC sparse Hermitian matrix containing only upper or lower triangular elements to the general CSC sparse matrix containing all elements.

The order of elements in each column of output matrix is same as that of input matrix (not to be sorted). The triangular elements (not including diagonal elements) other than specified by Uplo in input matrix will be ignored if exist.
Parameters
[in]UploSpecifies whether the upper or lower triangular part is stored in the input matrix.
= "U": A is stored in upper triangular part.
= "L": A is stored in lower triangular part.
The other triangular elements (not including diagonal elements) are ignored.
[in]NNumber of rows and columns of the matrix. (N >= 0) (if N = 0, returns without computation)
[in]Val()Array Val(LVal - 1) (LVal >= Nnz) (Nnz is the number of nonzero elements in upper/lower triangular part of the input matrix)
Values of nonzero elements of input matrix.
[in]Colptr()Array Colptr(LColptr - 1) (LColptr >= N + 1)
Column pointers of input matrix.
[in]Rowind()Array Rowind(LRowind - 1) (LRowind >= Nnz)
Row indices of input matrix (where Nnz is the number of nonzero elements).
[out]Val2()Array Val2(LVal2 - 1) (LVal2 >= Nnz2) (Nnz2 >= the number of nonzero elements of the full output matrix)
Values of nonzero elements of output matrix.
[out]Colptr2()Array Colptr2(LColptr2 - 1) (LColptr2 >= N + 1)
Column pointers of output matrix.
[out]Rowind2()Array Rowind2(LRowind2 - 1) (LRowind2 >= Nnz2)
Row indices of output matrix.
[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)
[in]Base2(Optional)
Indexing of Colptr2() and Rowind2(). (default = 0)
= 0: Zero-based (C style) indexing: Starting index is 0.
= 1: One-based (Fortran style) indexing: Starting index is 1.