(git:ccc2433)
iterate_matrix.F File Reference

Go to the source code of this file.

Modules

module  iterate_matrix
 Routines useful for iterative matrix calculations.
 

Functions/Subroutines

recursive subroutine, public iterate_matrix::determinant (matrix, det, threshold)
 Computes the determinant of a symmetric positive definite matrix using the trace of the matrix logarithm via Mercator series: det(A) = det(S)det(I+X)det(S), where S=diag(sqrt(Aii),..,sqrt(Ann)) det(I+X) = Exp(Trace(Ln(I+X))) Ln(I+X) = X - X^2/2 + X^3/3 - X^4/4 + .. The series converges only if the Frobenius norm of X is less than 1. If it is more than one we compute (recursevily) the determinant of the square root of (I+X). More...
 
subroutine, public iterate_matrix::invert_taylor (matrix_inverse, matrix, threshold, use_inv_as_guess, norm_convergence, filter_eps, accelerator_order, max_iter_lanczos, eps_lanczos, silent)
 invert a symmetric positive definite diagonally dominant matrix More...
 
subroutine, public iterate_matrix::invert_hotelling (matrix_inverse, matrix, threshold, use_inv_as_guess, norm_convergence, filter_eps, accelerator_order, max_iter_lanczos, eps_lanczos, silent)
 invert a symmetric positive definite matrix by Hotelling's method explicit symmetrization makes this code not suitable for other matrix types Currently a bit messy with the options, to to be cleaned soon More...
 
subroutine, public iterate_matrix::matrix_sign_newton_schulz (matrix_sign, matrix, threshold, sign_order)
 compute the sign a matrix using Newton-Schulz iterations More...
 
subroutine, public iterate_matrix::matrix_sign_proot (matrix_sign, matrix, threshold, sign_order)
 compute the sign a matrix using the general algorithm for the p-th root of Richters et al. Commun. Comput. Phys., 25 (2019), pp. 564-585. More...
 
subroutine, public iterate_matrix::matrix_sign_submatrix (matrix_sign, matrix, threshold, sign_order, submatrix_sign_method)
 Submatrix method. More...
 
subroutine, public iterate_matrix::matrix_sign_submatrix_mu_adjust (matrix_sign, matrix, mu, nelectron, threshold, variant)
 Submatrix method with internal adjustment of chemical potential. More...
 
subroutine, public iterate_matrix::matrix_sqrt_newton_schulz (matrix_sqrt, matrix_sqrt_inv, matrix, threshold, order, eps_lanczos, max_iter_lanczos, symmetrize, converged)
 compute the sqrt of a matrix via the sign function and the corresponding Newton-Schulz iterations the order of the algorithm should be 2..5, 3 or 5 is recommended More...
 
subroutine, public iterate_matrix::matrix_sqrt_proot (matrix_sqrt, matrix_sqrt_inv, matrix, threshold, order, eps_lanczos, max_iter_lanczos, symmetrize, converged)
 compute the sqrt of a matrix via the general algorithm for the p-th root of Richters et al. Commun. Comput. Phys., 25 (2019), pp. 564-585. More...
 
subroutine, public iterate_matrix::matrix_exponential (matrix_exp, matrix, omega, alpha, threshold)
 ... More...