|
FEDEM Solver
R8.0
Source code of the dynamics solver
|
Matrix multiplication involving diagonal matrices. More...
Public Member Functions | |
| subroutine | diagmatmulmat (D, A, B, iflag, ierr) |
Performs the matrix multiplication B = c1∗B + c2∗D∗A. More... | |
| subroutine | diagmatmulvec (D, X, Y, iflag, ierr) |
Performs the matrix-vector multiplication Y = c1∗Y + c2∗D∗X. More... | |
Matrix multiplication involving diagonal matrices.
| subroutine manipmatrixmodule::diagmatmul::diagmatmulmat | ( | real(dp), dimension(:), intent(in) | D, |
| real(dp), dimension(:,:), intent(in) | A, | ||
| real(dp), dimension(:,:), intent(out) | B, | ||
| integer, intent(in) | iflag, | ||
| integer, intent(out) | ierr | ||
| ) |
Performs the matrix multiplication B = c1∗B + c2∗D∗A.
D is a diagonal matrix, whereas B and A are full matrices. The value of the parameters c1 and c2 are determined from the input variable iflag, as follows:
| subroutine manipmatrixmodule::diagmatmul::diagmatmulvec | ( | real(dp), dimension(:), intent(in) | D, |
| real(dp), dimension(:), intent(in) | X, | ||
| real(dp), dimension(:), intent(out) | Y, | ||
| integer, intent(in) | iflag, | ||
| integer, intent(out) | ierr | ||
| ) |
Performs the matrix-vector multiplication Y = c1∗Y + c2∗D∗X.
D is a diagonal matrix, whereas Y and X are vectors. The value of the parameters c1 and c2 are determined from the input variable iflag, as follows: