FEDEM Solver  R8.0
Source code of the dynamics solver
Public Member Functions | List of all members
densematrixmodule::solveeigenvalues Interface Reference

Solves an eigenvalue problem. More...

Public Member Functions

subroutine solveeigenvaluea (A, lambda, Z, n, nVal, nVec, ierr)
 Solves a symmetric-definite eigenvalue problem. More...
 
subroutine solveeigenvalueb (A, B, lambda, Z, n, nVal, nVec, ierr)
 Solves a generalized symmetric-definite eigenvalue problem. More...
 

Detailed Description

Solves an eigenvalue problem.

Member Function/Subroutine Documentation

◆ solveeigenvaluea()

subroutine densematrixmodule::solveeigenvalues::solveeigenvaluea ( real(dp), dimension(:,:), intent(inout)  A,
real(dp), dimension(:), intent(out)  lambda,
real(dp), dimension(:,:), intent(out)  Z,
integer, intent(in)  n,
integer, intent(in)  nVal,
integer, intent(in)  nVec,
integer, intent(out)  ierr 
)

Solves a symmetric-definite eigenvalue problem.

Parameters
ADense coefficient matrix
[out]lambdaComputed eigenvalues
[out]ZComputed eigenvectors
[in]nDimension of the eigenvalue problem
[in]nValNumber of eigenvalues to solve for
[in]nVecNumber of eigenvectors to solve for
[out]ierrError flag

The eigenvalues and (optionally) the associated eigenvectors of the symmetric-definite eigenproblem A*x - λx = 0 is computed using LAPACK::DSYEVX, where A is a dense symmetric matrix.

Author
Knut Morten Okstad
Date
5 Jul 2021

◆ solveeigenvalueb()

subroutine densematrixmodule::solveeigenvalues::solveeigenvalueb ( real(dp), dimension(:,:), intent(inout)  A,
real(dp), dimension(:,:), intent(inout)  B,
real(dp), dimension(:), intent(out)  lambda,
real(dp), dimension(:,:), intent(out), target  Z,
integer, intent(in)  n,
integer, intent(in)  nVal,
integer, intent(in)  nVec,
integer, intent(out)  ierr 
)

Solves a generalized symmetric-definite eigenvalue problem.

Parameters
ADense stiffness matrix
BDense or diagonal mass matrix
[out]lambdaComputed eigenvalues
[out]ZComputed eigenvectors
[in]nDimension of the eigenvalue problem
[in]nValNumber of eigenvalues to solve for
[in]nVecNumber of eigenvectors to solve for
[out]ierrError flag

The eigenvalues and (optionally) the associated eigenvectors of the generalized symmetric-definite eigenproblem A*x - λ*B*x = 0 is computed using LAPACK::DSYGVX, where A and B are dense matrices. If B is a diagonal matrix, the eigenvalue problem is transformed into the form A*x - λ*I*x = 0 where I is the identity matrix, and is solved using the LAPACK::DSYEVX subroutine instead.

Author
Knut Morten Okstad
Date
8 Apr 2011

The documentation for this interface was generated from the following file: