Octopus
lalg_adv.F90 File Reference

Go to the source code of this file.

Modules

module  lalg_adv_oct_m
 

Data Types

interface  lalg_adv_oct_m::lalg_cholesky
 
interface  lalg_adv_oct_m::lalg_geneigensolve
 
interface  lalg_adv_oct_m::lalg_eigensolve_nonh
 
interface  lalg_adv_oct_m::lalg_eigensolve
 
interface  lalg_adv_oct_m::lalg_eigensolve_parallel
 
interface  lalg_adv_oct_m::lalg_determinant
 Note that lalg_determinant and lalg_inverse are just wrappers over the same routine. More...
 
interface  lalg_adv_oct_m::lalg_inverse
 
interface  lalg_adv_oct_m::lalg_linsyssolve
 
interface  lalg_adv_oct_m::lalg_singular_value_decomp
 
interface  lalg_adv_oct_m::lalg_svd_inverse
 
interface  lalg_adv_oct_m::lalg_lowest_geneigensolve
 
interface  lalg_adv_oct_m::lalg_lowest_eigensolve
 
interface  lalg_adv_oct_m::lapack_geev
 
interface  lalg_adv_oct_m::lalg_least_squares
 
interface  lalg_adv_oct_m::lalg_matrix_norm2
 
interface  lalg_adv_oct_m::lalg_matrix_function
 

Functions/Subroutines

real(real64) function lalg_adv_oct_m::sfmin ()
 Auxiliary function. More...
 
subroutine lalg_adv_oct_m::lalg_dgeev (jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info)
 
subroutine lalg_adv_oct_m::lalg_zgeev (jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info)
 
subroutine, public lalg_adv_oct_m::zlalg_exp (nn, pp, aa, ex, hermitian)
 
subroutine, public lalg_adv_oct_m::zlalg_phi (nn, pp, aa, ex, hermitian)
 
subroutine, public lalg_adv_oct_m::lalg_zeigenderivatives (n, mat, zeigenvec, zeigenval, zmat)
 
subroutine, public lalg_adv_oct_m::lalg_zpseudoinverse (n, mat, imat)
 
subroutine, public lalg_adv_oct_m::lalg_check_zeigenderivatives (n, mat)
 
complex(real64) function, public lalg_adv_oct_m::lalg_zdni (eigenvec, alpha, beta)
 
complex(real64) function, public lalg_adv_oct_m::lalg_zduialpha (eigenvec, mmatrix, alpha, gamma, delta)
 
complex(real64) function, public lalg_adv_oct_m::lalg_zd2ni (eigenvec, mmatrix, alpha, beta, gamma, delta)
 
pure real(real64) function lalg_adv_oct_m::pseudoinverse_default_tolerance (m, n, sg_values)
 Computes the default Moore-Penrose pseudoinverse tolerance for zeroing. More...
 
real(real64) function, dimension(1:n, 1:n), public lalg_adv_oct_m::lalg_remove_rotation (n, A)
 Remove rotation from affine transformation A by computing the polar decomposition and discarding the rotational part. The polar decomposition of A is given by A = U P with P = sqrt(A^T A), where U is a rotation matrix and P is a scaling matrix. This function returns P. More...
 
subroutine lalg_adv_oct_m::zcholesky (n, a, bof, err_code)
 Compute the Cholesky decomposition of real symmetric or complex Hermitian positive definite matrix a, dim(a) = n x n. On return a = u^T u with u upper triangular matrix. More...
 
subroutine lalg_adv_oct_m::zgeneigensolve (n, a, b, e, preserve_mat, bof, err_code)
 Computes all the eigenvalues and the eigenvectors of a real symmetric or complex Hermitian generalized definite eigenproblem, of the form \( Ax=\lambda Bx \). B is also positive definite. More...
 
subroutine lalg_adv_oct_m::zeigensolve_nonh (n, a, e, err_code, side, sort_eigenvectors)
 Computes all the eigenvalues and the right (left) eigenvectors of a real or complex (non-Hermitian) eigenproblem, of the form A*x=(lambda)*x. More...
 
subroutine lalg_adv_oct_m::zlowest_geneigensolve (k, n, a, b, e, v, preserve_mat, bof, err_code)
 Computes the k lowest eigenvalues and the eigenvectors of a real symmetric or complex Hermitian generalized definite eigenproblem, of the form A*x=(lambda)*B*x. B is also positive definite. More...
 
subroutine lalg_adv_oct_m::zeigensolve (n, a, e, bof, err_code)
 Computes all eigenvalues and eigenvectors of a real symmetric or hermitian square matrix A. More...
 
subroutine lalg_adv_oct_m::zlowest_eigensolve (k, n, a, e, v, preserve_mat)
 Computes the k lowest eigenvalues and the eigenvectors of a standard symmetric-definite eigenproblem, of the form A*x=(lambda)*x. Here A is assumed to be symmetric. More...
 
complex(real64) function lalg_adv_oct_m::zdeterminant (n, a, preserve_mat)
 Invert a real symmetric or complex Hermitian square matrix a. More...
 
subroutine lalg_adv_oct_m::zdirect_inverse (n, a, det)
 Invert a real symmetric or complex Hermitian square matrix a. More...
 
subroutine lalg_adv_oct_m::zmatrix_norm2 (m, n, a, norm_l2, preserve_mat)
 Norm of a 2D matrix. More...
 
subroutine lalg_adv_oct_m::zsym_inverse (uplo, n, a)
 Invert a real/complex symmetric square matrix a. More...
 
subroutine lalg_adv_oct_m::zlinsyssolve (n, nrhs, a, b, x)
 compute the solution to a complex system of linear equations A*X = B, where A is an N-by-N matrix and X and B are N-by-NRHS matrices. More...
 
subroutine lalg_adv_oct_m::zsingular_value_decomp (m, n, a, u, vt, sg_values, preserve_mat)
 computes the singular value decomposition of a complex MxN matrix a(:,:) More...
 
subroutine lalg_adv_oct_m::zsvd_inverse (m, n, a, threshold)
 computes inverse of a complex MxN matrix a(:,:) using the SVD decomposition More...
 
subroutine lalg_adv_oct_m::zupper_triangular_inverse (n, a)
 Calculate the inverse of a real/complex upper triangular matrix (in unpacked storage). (lower triangular would be a trivial variant of this) More...
 
subroutine lalg_adv_oct_m::zleast_squares_vec (nn, aa, bb, xx, preserve_mat)
 
subroutine lalg_adv_oct_m::zeigensolve_parallel (n, a, e, bof, err_code)
 Computes all the eigenvalues and the eigenvectors of a real symmetric or complex Hermitian eigenproblem in parallel using ScaLAPACK or ELPA on all processors n: dimension of matrix a: input matrix, on exit: contains eigenvectors e: eigenvalues. More...
 
subroutine lalg_adv_oct_m::zinverse (n, a, method, det, threshold, uplo)
 An interface to different method to invert a matrix. More...
 
subroutine, public lalg_adv_oct_m::zlalg_matrix_function (n, factor, a, fun_a, fun, hermitian)
 This routine calculates a function of a matrix by using an eigenvalue decomposition. More...
 
subroutine lalg_adv_oct_m::dcholesky (n, a, bof, err_code)
 Compute the Cholesky decomposition of real symmetric or complex Hermitian positive definite matrix a, dim(a) = n x n. On return a = u^T u with u upper triangular matrix. More...
 
subroutine lalg_adv_oct_m::dgeneigensolve (n, a, b, e, preserve_mat, bof, err_code)
 Computes all the eigenvalues and the eigenvectors of a real symmetric or complex Hermitian generalized definite eigenproblem, of the form \( Ax=\lambda Bx \). B is also positive definite. More...
 
subroutine lalg_adv_oct_m::deigensolve_nonh (n, a, e, err_code, side, sort_eigenvectors)
 Computes all the eigenvalues and the right (left) eigenvectors of a real or complex (non-Hermitian) eigenproblem, of the form A*x=(lambda)*x. More...
 
subroutine lalg_adv_oct_m::dlowest_geneigensolve (k, n, a, b, e, v, preserve_mat, bof, err_code)
 Computes the k lowest eigenvalues and the eigenvectors of a real symmetric or complex Hermitian generalized definite eigenproblem, of the form A*x=(lambda)*B*x. B is also positive definite. More...
 
subroutine lalg_adv_oct_m::deigensolve (n, a, e, bof, err_code)
 Computes all eigenvalues and eigenvectors of a real symmetric or hermitian square matrix A. More...
 
subroutine lalg_adv_oct_m::dlowest_eigensolve (k, n, a, e, v, preserve_mat)
 Computes the k lowest eigenvalues and the eigenvectors of a standard symmetric-definite eigenproblem, of the form A*x=(lambda)*x. Here A is assumed to be symmetric. More...
 
real(real64) function lalg_adv_oct_m::ddeterminant (n, a, preserve_mat)
 Invert a real symmetric or complex Hermitian square matrix a. More...
 
subroutine lalg_adv_oct_m::ddirect_inverse (n, a, det)
 Invert a real symmetric or complex Hermitian square matrix a. More...
 
subroutine lalg_adv_oct_m::dmatrix_norm2 (m, n, a, norm_l2, preserve_mat)
 Norm of a 2D matrix. More...
 
subroutine lalg_adv_oct_m::dsym_inverse (uplo, n, a)
 Invert a real/complex symmetric square matrix a. More...
 
subroutine lalg_adv_oct_m::dlinsyssolve (n, nrhs, a, b, x)
 compute the solution to a real system of linear equations A*X = B, where A is an N-by-N matrix and X and B are N-by-NRHS matrices. More...
 
subroutine lalg_adv_oct_m::dsingular_value_decomp (m, n, a, u, vt, sg_values, preserve_mat)
 computes the singular value decomposition of a real NxN matrix a(:,:) More...
 
subroutine lalg_adv_oct_m::dsvd_inverse (m, n, a, threshold)
 computes inverse of a real NxN matrix a(:,:) using the SVD decomposition More...
 
subroutine lalg_adv_oct_m::dupper_triangular_inverse (n, a)
 Calculate the inverse of a real/complex upper triangular matrix (in unpacked storage). (lower triangular would be a trivial variant of this) More...
 
subroutine lalg_adv_oct_m::dleast_squares_vec (nn, aa, bb, xx, preserve_mat)
 
subroutine lalg_adv_oct_m::deigensolve_parallel (n, a, e, bof, err_code)
 Computes all the eigenvalues and the eigenvectors of a real symmetric or complex Hermitian eigenproblem in parallel using ScaLAPACK or ELPA on all processors n: dimension of matrix a: input matrix, on exit: contains eigenvectors e: eigenvalues. More...
 
subroutine lalg_adv_oct_m::dinverse (n, a, method, det, threshold, uplo)
 An interface to different method to invert a matrix. More...
 
subroutine lalg_adv_oct_m::dlalg_matrix_function (n, factor, a, fun_a, fun, hermitian)
 This routine calculates a function of a matrix by using an eigenvalue decomposition. More...