Octopus
lalg_adv_oct_m::lalg_pseudo_inverse Interface Reference

Detailed Description

Definition at line 210 of file lalg_adv.F90.

Private Member Functions

subroutine dlalg_pseudo_inverse (a, threshold)
 Invert a matrix with the Moore-Penrose pseudo-inverse. More...
 
subroutine zlalg_pseudo_inverse (a, threshold)
 Invert a matrix with the Moore-Penrose pseudo-inverse. More...
 

Member Function/Subroutine Documentation

◆ dlalg_pseudo_inverse()

subroutine lalg_adv_oct_m::lalg_pseudo_inverse::dlalg_pseudo_inverse ( real(real64), dimension(:, :), intent(inout), allocatable  a,
real(real64), intent(in), optional  threshold 
)
private

Invert a matrix with the Moore-Penrose pseudo-inverse.

SVD is used to find the U, V and Sigma matrices:

\[ A = U \Sigma V^\dagger \]

Diagonal terms in Sigma <= threshold are set to zero, and the inverse is constructed as:

\[] A^{-1} \approx V \Sigma U^\dagger \]

Parameters
[in,out]aInput: (m, n)

Definition at line 3504 of file lalg_adv.F90.

◆ zlalg_pseudo_inverse()

subroutine lalg_adv_oct_m::lalg_pseudo_inverse::zlalg_pseudo_inverse ( complex(real64), dimension(:, :), intent(inout), allocatable  a,
real(real64), intent(in), optional  threshold 
)
private

Invert a matrix with the Moore-Penrose pseudo-inverse.

SVD is used to find the U, V and Sigma matrices:

\[ A = U \Sigma V^\dagger \]

Diagonal terms in Sigma <= threshold are set to zero, and the inverse is constructed as:

\[] A^{-1} \approx V \Sigma U^\dagger \]

Parameters
[in,out]aInput: (m, n)

Definition at line 1893 of file lalg_adv.F90.


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