grid_tools  1.13.0
pmat4::expmat Interface Reference

Private Member Functions

subroutine expmat (n, a, b, detb)
 Evaluate the exponential, B, of a matrix, A, of degree n. More...
 
subroutine expmatd (n, a, b, bd, detb, detbd)
 Like expmat, but for the 1st derivatives also. More...
 
subroutine expmatdd (n, a, b, bd, bdd, detb, detbd, detbdd)
 Like expmat, but for the 1st and 2nd derivatives also. More...
 

Detailed Description

Definition at line 102 of file pmat4.f90.

Constructor & Destructor Documentation

◆ expmat()

subroutine pmat4::expmat::expmat ( integer(spi), intent(in)  n,
real(dp), dimension(n,n), intent(in)  a,
real(dp), dimension(n,n), intent(out)  b,
real(dp), intent(out)  detb 
)
private

Evaluate the exponential, B, of a matrix, A, of degree n.

Apply the iterated squaring method, m times, to the approximation to exp(A/(2**m)) obtained as a Taylor expansion of degree L See Fung, T. C., 2004, Int. J. Numer. Meth. Engng, 59, 1273–1286.

Parameters
[in]norder of square matrix A
[in]ainput matrix A
[out]bmatrix B, the exponential of matrix A
[out]detbdeterminant of matrix B
Author
R. J. Purser

Definition at line 1729 of file pmat4.f90.

Member Function/Subroutine Documentation

◆ expmatd()

subroutine pmat4::expmat::expmatd ( integer(spi), intent(in)  n,
real(dp), dimension(n,n), intent(in)  a,
real(dp), dimension(n,n), intent(out)  b,
real(dp), dimension(n,n,(n*(n+1))/2), intent(out)  bd,
real(dp), intent(out)  detb,
real(dp), dimension((n*(n+1))/2), intent(out)  detbd 
)
private

Like expmat, but for the 1st derivatives also.

Parameters
[in]norder of square matrix A
[in]ainput matrix A
[out]bmatrix B, the exponential of matrix A
[out]bdderivative of B wrt elements of A
[out]detbdeterminant of matrix B
[out]detbdderivative of detb wrt elements of A
Author
R. J. Purser

Definition at line 1767 of file pmat4.f90.

◆ expmatdd()

subroutine pmat4::expmat::expmatdd ( integer(spi), intent(in)  n,
real(dp), dimension(n,n), intent(in)  a,
real(dp), dimension(n,n), intent(out)  b,
real(dp), dimension(n,n,(n*(n+1))/2), intent(out)  bd,
real(dp), dimension(n,n,(n*(n+1))/2,(n*(n+1))/2), intent(out)  bdd,
real(dp), intent(out)  detb,
real(dp), dimension((n*(n+1))/2), intent(out)  detbd,
real(dp), dimension((n*(n+1))/2,(n*(n+1))/2), intent(out)  detbdd 
)
private

Like expmat, but for the 1st and 2nd derivatives also.

Parameters
[in]norder of the matrix A
[in]ainput matrix A
[out]bmatrix B, exponential of matrix A
[out]bdderivative of B wrt elements of A
[out]bdd2nd derivative of B wrt elements of A
[out]detbdeterminant of matrix B
[out]detbdderivative of detb wrt elements of A
[out]detbdd2nd derivative of detb wrt elements of A
Author
R. J. Purser

Definition at line 1834 of file pmat4.f90.


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