|
|
◆ SsrDusmv()
| Sub SsrDusmv |
( |
Uplo As |
String, |
|
|
N As |
Long, |
|
|
Alpha As |
Double, |
|
|
Val() As |
Double, |
|
|
Rowptr() As |
Long, |
|
|
Colind() As |
Long, |
|
|
X() As |
Double, |
|
|
Beta As |
Double, |
|
|
Y() As |
Double, |
|
|
Optional Info As |
Long, |
|
|
Optional Base As |
Long = -1, |
|
|
Optional IncX As |
Long = 1, |
|
|
Optional IncY As |
Long = 1 |
|
) |
| |
y <- αAx + βy (CSR) (Symmetric matrix)
- Purpose
- This function performs one of the following matrix-vector operations for a symmetric sparse matrix in CSR format. where alpha and beta are scalars, x and y are vectors and A is an M x N symmetric sparse matrix.
The order of elements in each row of input matrix A must be ascending order of column index. The triangular elements (not including diagonal elements) other than specified by Uplo will be ignored.
- Parameters
-
| [in] | Uplo | Specifies whether the upper or lower triangular part of input matrix A is stored.
= "U": Upper triangular part.
= "L": Lower triangular part. |
| [in] | N | Number of columns of matrix A. (N >= 0) (If N = 0, returns without computation) |
| [in] | Alpha | Scalar α |
| [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] | Rowptr() | Array Rowptr(LRowptr - 1) (LRowptr >= N + 1)
Row pointers of matrix A. |
| [in] | Colind() | Array Colind(LColind - 1) (LColind >= Nnz)
Column indices of matrix A. |
| [in] | X() | Array X(LX - 1) (LX >= 1 + (N - 1)*|IncX|)
Vector x. |
| [in] | Beta | Scalar β. |
| [in,out] | Y() | Array Y(LY - 1) (LY >= 1 + (M - 1)*|IncY|)
[in] Input vector y (If Beta is supplied as zero, Y() needs not be set on input).
[out] Output vector. (= αAx + βy) |
| [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] | IncX | (Optional)
Storage spacing between elements of X(). (IncX <> 0) (default = 1) |
| [in] | IncY | (Optional)
Storage spacing between elements of Y(). (IncY <> 0) (default = 1) |
|