|
|
◆ CscDussm()
| Sub CscDussm |
( |
Uplo As |
String, |
|
|
Trans As |
String, |
|
|
Diag As |
String, |
|
|
N As |
Long, |
|
|
Nrhs As |
Long, |
|
|
Val() As |
Double, |
|
|
Colptr() As |
Long, |
|
|
Rowind() As |
Long, |
|
|
X() As |
Double, |
|
|
Optional Info As |
Long, |
|
|
Optional Base As |
Long = -1 |
|
) |
| |
Solution of AX = B or ATX = B (Triangular matrices) (CSC)
- Purpose
- This function solves one of the following systems of equations for a sparse matrix in CSC format. where A is an N x N upper or lower sparse triangular matrix, and B and X are N x Nrhs dense matrices.
- Parameters
-
| [in] | Uplo | Specifies whether the matrix A is an upper or lower triangular matrix as follows:
= "U": A is an upper triangular matrix.
= "L": A is an lower triangular matrix.
The other triangular elements (not including diagonal elements) are ignored. |
| [in] | Trans | Specifies the equation to be solved as follows:
= "N": A*X = B.
= "T" or "C": A^T*X = B. |
| [in] | Diag | Specifies whether or not the matrix A is assumed to be unit triangular.
= "N": A is not assumed to be unit triangular.
= "U": A is assumed to be unit triangular. (Diagonal elements are assumed to be ones. Elements of Val() at diagonal element positions (if exist) are ignored.) |
| [in] | N | Number of rows and columns of matrix A. (N >= 0) (If N = 0, returns without computation) |
| [in] | Nrhs | Number of columns of matrices B and C. (Nrhs >= 0) (if Nrhs = 0, returns without computation) |
| [in] | Val() | Array Val(LVal - 1) (LVal >= Nnz) (Nnz is the number of nonzero elements of matrix A)
Values of nonzero elements of matrix A. |
| [in] | Colptr() | Array Colptr(LColptr - 1) (LColptr >= N + 1)
Column pointers of matrix A. |
| [in] | Rowind() | Array Rowind(LRowind - 1) (LRowind >= Nnz)
Row indices of matrix A. |
| [in,out] | X() | Array X(LX1 - 1, LX2 - 1) (LX1 >= N, LX2 >= Nrhs)
[in] Right-hand side matrix B.
[out] Solution matrix X. |
| [out] | Info | (Optional)
= 0: Successful exit.
= i < 0: The (-i)-th argument is invalid.
= i > 0: The matrix is singular (i-th diagonal element is zero). |
| [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) |
|