An interface to the banded diagonal matrix multiplication routines.
Performs the matrix operation or where is a banded matrix and is a diagonal matrix.
The banded matrix is stored in a compressed form supplied column by column. The following code segment transfers between a full matrix to the bonded matrix storage scheme. \code{fortran} do j = 1, n k = ku + 1 - j do i = max(1, j - ku), min(n, j + kl) a(k + i, j) = matrix(i, j) end do end do \endcode
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | left |
A logical flag indicating whether to perform the operation (TRUE) or (FALSE). |
||
integer(kind=int32), | intent(in) | :: | m |
The number of rows in the banded matrix . |
||
integer(kind=int32), | intent(in) | :: | kl |
The number of subdiagonals in the banded matrix. |
||
integer(kind=int32), | intent(in) | :: | ku |
The number of superdiagonals in the banded matrix. |
||
real(kind=real64), | intent(in) | :: | alpha |
The scalar to multiply by. |
||
real(kind=real64), | intent(inout), | dimension(:,:) | :: | a |
The banded matrix to multiply. |
|
real(kind=real64), | intent(in), | dimension(:) | :: | b |
The diagonal matrix to multiply by. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
An error object to report any errors that occur. |
Performs the matrix operation or where is a banded matrix and is a diagonal matrix.
The banded matrix is stored in a compressed form supplied column by column. The following code segment transfers between a full matrix to the bonded matrix storage scheme. \code{fortran} do j = 1, n k = ku + 1 - j do i = max(1, j - ku), min(n, j + kl) a(k + i, j) = matrix(i, j) end do end do \endcode
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | left |
A logical flag indicating whether to perform the operation (TRUE) or (FALSE). |
||
integer(kind=int32), | intent(in) | :: | m |
The number of rows in the banded matrix . |
||
integer(kind=int32), | intent(in) | :: | kl |
The number of subdiagonals in the banded matrix. |
||
integer(kind=int32), | intent(in) | :: | ku |
The number of superdiagonals in the banded matrix. |
||
complex(kind=real64), | intent(in) | :: | alpha |
The scalar to multiply by. |
||
complex(kind=real64), | intent(inout), | dimension(:,:) | :: | a |
The banded matrix to multiply. |
|
complex(kind=real64), | intent(in), | dimension(:) | :: | b |
The diagonal matrix to multiply by. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
An error object to report any errors that occur. |