fffc_linalg_linv.f90 Source File


Contents

Source Code


Source Code

submodule (fffc_linalg) fffc_linalg_linv
contains
    module procedure linv_real_kind
        real(kind=fffc_real_kind) :: Ainv(size(x, 2), size(x, 2))
        y = transpose(x)
        Ainv = gemm(y, x)
        call inv(Ainv)
        y = gemm(Ainv, y)
    end procedure linv_real_kind
    module procedure linv_complex_kind
        complex(kind=fffc_complex_kind) :: Ainv(size(x, 2), size(x, 2))
        y = transpose(x)
        Ainv = gemm(y, x)
        call inv(Ainv)
        y = gemm(Ainv, y)
    end procedure linv_complex_kind
end submodule fffc_linalg_linv