FEDEM Solver  R8.0
Source code of the dynamics solver
Private Member Functions | List of all members
matextensionmodule::cspremult Interface Reference

Performs a matrix-matrix multiplication. More...

Private Member Functions

subroutine cspremultmat (aMat, bMat, cMat, iflag, ierr)
 Performs a matrix-matrix multiplication. More...
 
subroutine cspremultvec (aMat, bVec, cVec, iflag, ierr)
 Performs a matrix-vector multiplication. More...
 
subroutine cspremultmatrix (aMat, bMat, ierr)
 Performs a matrix-matrix multiplication. More...
 
subroutine cspremultvector (aMat, bVec, ierr)
 Performs a matrix-vector multiplication. More...
 

Detailed Description

Performs a matrix-matrix multiplication.

Member Function/Subroutine Documentation

◆ cspremultmat()

subroutine matextensionmodule::cspremult::cspremultmat ( type(sysmatrixtype), intent(inout)  aMat,
real(dp), dimension(:,:), intent(in)  bMat,
real(dp), dimension(:,:), intent(out), target  cMat,
integer, intent(in)  iflag,
integer, intent(out)  ierr 
)
private

Performs a matrix-matrix multiplication.

Parameters
[in]aMatSystem matrix A
[in]bMatRectangular dense matrix B
[out]cMatResulting matrix C
[in]iflagOperation flag (see below)
[out]ierrError flag

The matrix multiplication C = A B is performed, where A is on compact (sparse) form whereas C and B are dense rectangular matrices. The value on iflag determines the sign on the resulting matrix, as follows:

  • iflag = 0 : C = A B (where B and C may be the same array)
  • iflag = +1 : C = A B (B and C cannot be the same array)
  • iflag = -1 : C = -A B
  • iflag = +2 : C = C + A B
  • iflag = -2 : C = C - A B
Author
Bjorn Haugen
Date
Oct 1998
Author
Knut Morten Okstad
Date
Jan 2003

◆ cspremultmatrix()

subroutine matextensionmodule::cspremult::cspremultmatrix ( type(sysmatrixtype), intent(inout)  aMat,
real(dp), dimension(:,:), intent(inout), target  bMat,
integer, intent(out)  ierr 
)
private

Performs a matrix-matrix multiplication.

Parameters
[in]aMatSystem matrix A
bMatRectangular dense matrix B
[out]ierrError flag

The matrix multiplication B = A B is performed, where A is on compact (sparse) form and B is a dense rectangular matrix.

Author
Knut Morten Okstad
Date
Jan 2018

◆ cspremultvec()

subroutine matextensionmodule::cspremult::cspremultvec ( type(sysmatrixtype), intent(inout)  aMat,
real(dp), dimension(:), intent(in)  bVec,
real(dp), dimension(:), intent(out), target  cVec,
integer, intent(in)  iflag,
integer, intent(out)  ierr 
)
private

Performs a matrix-vector multiplication.

Parameters
[in]aMatSystem matrix A
[in]bVecSystem vector b
[out]cVecResulting matrix c
[in]iflagOperation flag (see below)
[out]ierrError flag

The matrix-vector multiplication c = A b is performed, where A is on compact (sparse) form whereas c and b are vectors. The value on iflag determines the sign on the resulting vector, as follows:

  • iflag = +1 : c = A b
  • iflag = -1 : c = -A b
  • iflag = +2 : c = c + A b
  • iflag = -2 : c = c - A b
Author
Bjorn Haugen
Date
Oct 1998
Author
Knut Morten Okstad
Date
Jan 2003

◆ cspremultvector()

subroutine matextensionmodule::cspremult::cspremultvector ( type(sysmatrixtype), intent(inout)  aMat,
real(dp), dimension(:), intent(inout), target  bVec,
integer, intent(out)  ierr 
)
private

Performs a matrix-vector multiplication.

Parameters
[in]aMatSystem matrix A
bVecSystem vector b
[out]ierrError flag

The matrix-vector multiplication b = A b is performed, where A is on compact (sparse) form and b is a vector.

Author
Knut Morten Okstad
Date
Jan 2018

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