EigenSolversModule Module

A module for computing the eigenvalues of a matrix.



Contents


Subroutines

public subroutine EigenDecomposition(this, eigenvalues, eigenvectors_in, nvals_in, solver_parameters_in)

Compute the eigendecomposition of a matrix.

Arguments

Type IntentOptional Attributes Name
type(Matrix_ps), intent(in) :: this

The matrix to decompose.

type(Matrix_ps), intent(inout) :: eigenvalues

Diagonal matrix of eigenvalues.

type(Matrix_ps), intent(inout), optional :: eigenvectors_in

The eigenvectors of a matrix.

integer, intent(in), optional :: nvals_in

The number of desired eigenvalues.

type(SolverParameters_t), intent(in), optional :: solver_parameters_in

Parameters for computing

public subroutine DenseMatrixFunction(this, ResultMat, func, solver_parameters_in)

Apply an arbitrary matrix function defined by a matrix map as a

Arguments

Type IntentOptional Attributes Name
type(Matrix_ps), intent(in) :: this

The matrix to apply the function to.

type(Matrix_ps), intent(inout) :: ResultMat

The transformed matrix

private function func(val) result(outval)

The procedure to apply to each eigenvalue.

Arguments
Type IntentOptional Attributes Name
real(kind=NTREAL), intent(in) :: val

The actual value of an element.

Return Value real(kind=NTREAL)

The transformed value.

type(SolverParameters_t), intent(in), optional :: solver_parameters_in

Parameters for computing