grid_tools  1.13.0
psym2::eigensym2 Interface Reference

Private Member Functions

subroutine eigensym2 (em, vv, oo)
 Get the orthogonal eigenvectors, vv, and diagonal matrix of eigenvalues, oo, of the symmetric 2*2 matrix, em. More...
 
subroutine eigensym2d (em, vv, oo, vvd, ood, ff)
 For a symmetric 2*2 matrix, em, return the normalized eigenvectors, vv, and the diagonal matrix of eigenvalues, oo. More...
 

Detailed Description

Definition at line 21 of file psym2.f90.

Constructor & Destructor Documentation

◆ eigensym2()

subroutine psym2::eigensym2::eigensym2 ( real(dp), dimension(2,2), intent(in)  em,
real(dp), dimension(2,2), intent(out)  vv,
real(dp), dimension(2,2), intent(out)  oo 
)
private

Get the orthogonal eigenvectors, vv, and diagonal matrix of eigenvalues, oo, of the symmetric 2*2 matrix, em.

Parameters
[in]emsymmetric 2*2 matrix
[out]vvorthogonal eigenvectors
[out]oodiagonal matrix of eigenvalues
Author
R. J. Purser

Definition at line 43 of file psym2.f90.

Member Function/Subroutine Documentation

◆ eigensym2d()

subroutine psym2::eigensym2::eigensym2d ( real(dp), dimension(2,2), intent(in)  em,
real(dp), dimension(2,2), intent(out)  vv,
real(dp), dimension(2,2), intent(out)  oo,
real(dp), dimension(2,2,2,2), intent(out)  vvd,
real(dp), dimension(2,2,2,2), intent(out)  ood,
logical, intent(out)  ff 
)
private

For a symmetric 2*2 matrix, em, return the normalized eigenvectors, vv, and the diagonal matrix of eigenvalues, oo.

If the two eigenvalues are equal, proceed no further and raise the logical failure flag, ff, to .true.; otherwise, return with vvd=d(vv)/d(em) and ood=d(oo)/d(em) and ff=.false., and maintain the symmetries between the last two of the indices of these derivatives.

Parameters
[in]emsymmetric 2*2 matrix
[out]vvnormalized eigenvectors
[out]oodiagonal matrix of eigenvalues
[out]vvdvvd=d(vv)/d(em)
[out]oodood=d(oo)/d(em)
[out]fflogical failure flag
Author
R. J. Purser

Definition at line 76 of file psym2.f90.


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