eigenvectors Module

Module for computing eigenvectors and their associated eigenvalues


Uses

  • module~~eigenvectors~~UsesGraph module~eigenvectors eigenvectors module~linear_solvers linear_solvers module~eigenvectors->module~linear_solvers

Used by

  • module~~eigenvectors~~UsedByGraph module~eigenvectors eigenvectors program~test_eigenvectors test_eigenvectors program~test_eigenvectors->module~eigenvectors

Subroutines

public subroutine eigen_max(A, v, lambda, maxIter, err_v, v_0)

Given the matrix A, computes the eigenvector v associated to the eivenvalue of maximum modulus lambda using the power method.

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: A(:,:)

Symmetric matrix

real, intent(out) :: v(size(A,1))

Eigenvector

real, intent(out) :: lambda

Eigenvalue

integer, intent(in) :: maxIter

Maximum number of iterations

real, intent(in) :: err_v

Precision for the stop criterion

real, intent(in) :: v_0(size(A,1))

Initial vector for the iteration

public subroutine eigen_inv(A, v, lambda, p, maxIter, err_v, v_0)

Given the matrix A, computes the eigenvector v associated to the eivenvalue lambda closer to the value p using the inverse power method.

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: A(:,:)

Symmetric matrix

real, intent(out) :: v(size(A,1))

Eigenvector

real, intent(out) :: lambda

Eigenvalue

real, intent(in) :: p

value close to the eigenvalue wanted

integer, intent(in) :: maxIter

Maximum number of iterations

real, intent(in) :: err_v

Precision for the stop criterion

real, intent(in) :: v_0(size(A,1))

Initial vector for the iteration