|
|
◆ ZSsrCsr()
| Sub ZSsrCsr |
( |
Uplo As |
String, |
|
|
N As |
Long, |
|
|
Val() As |
Complex, |
|
|
Rowptr() As |
Long, |
|
|
Colind() As |
Long, |
|
|
Val2() As |
Complex, |
|
|
Rowptr2() As |
Long, |
|
|
Colind2() As |
Long, |
|
|
Optional Info As |
Long, |
|
|
Optional Base As |
Long = -1, |
|
|
Optional Base2 As |
Long = 0 |
|
) |
| |
SSR (CSR sparse matrix packed form) -> CSR (symmetric full matrix) (Complex matrices)
- Purpose
- This function converts the symmetric CSR sparse matrix containing only upper or lower triangular elements to the general CSR sparse matrix containing all elements.
The order of elements in each row 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] | Uplo | Specifies 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] | N | Number of rows and columns of the matrix. (N >= 0) (if N = 0, returns without computation) |
| [in] | Val() | Array Val(LVal - 1) (LVal >= Nnz)
Values of nonzero elements of input matrix (where Nnz is the number of nonzero elements). |
| [in] | Rowptr() | Array Rowptr(LRowptr - 1) (LRowptr >= N + 1)
Row pointers of input matrix. |
| [in] | Colind() | Array Colind(LColind - 1) (LColind >= Nnz)
Column 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] | Rowptr2() | Array Rowptr2(LRowptr2 - 1) (LRowptr2 >= N + 1)
Row pointers of output matrix. |
| [out] | Colind2() | Array Colind2(LColind2 - 1) (LColind2 >= Nnz2)
Column indices of output matrix. |
| [out] | Info | (Optional)
= 0: Successful exit.
= i < 0: The (-i)-th argument is invalid. |
| [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) |
| [in] | Base2 | (Optional)
Indexing of Rowptr2() and Colind2(). (default = 0)
= 0: Zero-based (C style) indexing: Starting index is 0.
= 1: One-based (Fortran style) indexing: Starting index is 1. |
|