FEDEM Solver  R8.0
Source code of the dynamics solver
Public Member Functions | List of all members
manipmatrixmodule::diagmatmul Interface Reference

Matrix multiplication involving diagonal matrices. More...

Public Member Functions

subroutine diagmatmulmat (D, A, B, iflag, ierr)
 Performs the matrix multiplication B = c1B + c2DA. More...
 
subroutine diagmatmulvec (D, X, Y, iflag, ierr)
 Performs the matrix-vector multiplication Y = c1Y + c2DX. More...
 

Detailed Description

Matrix multiplication involving diagonal matrices.

Member Function/Subroutine Documentation

◆ diagmatmulmat()

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 = c1B + c2DA.

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:

  • iflag = 1 : c1 = 0, c2 = 1
  • iflag = -1 : c1 = 0, c2 = -1
  • iflag = 2 : c1 = 1, c2 = 1
  • iflag = -2 : c1 = 1, c2 = -1
Author
Knut Morten Okstad
Date
Jan 2003

◆ diagmatmulvec()

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 = c1Y + c2DX.

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:

  • iflag = 1 : c1 = 0, c2 = 1
  • iflag = -1 : c1 = 0, c2 = -1
  • iflag = 2 : c1 = 1, c2 = 1
  • iflag = -2 : c1 = 1, c2 = -1
Author
Knut Morten Okstad
Date
Jan 2003

The documentation for this interface was generated from the following file: