IFEM  90A354
Namespaces | Functions | Variables
EigSolver.C File Reference

Interface to LAPack and ARPack eigenvalue solvers. More...

#include "EigSolver.h"
#include "DenseMatrix.h"
#include "SPRMatrix.h"
#include "Profiler.h"
#include "IFEM.h"
Include dependency graph for EigSolver.C:

Namespaces

 eig
 Top-level functions for invoking eigenproblem solvers.
 

Functions

void eig_drv1_ (const int &n, const int &nev, const int &ncv, double *d, double *v, double *work, int &ierr)
 Driver to solve a standard eigenvalue problem. More...
 
void eig_drv2_ (const int &n, const int &nev, const int &ncv, const double &sig, double *d, double *v, double *work, int &ierr)
 Driver to solve a standard eigenvalue problem. More...
 
void eig_drv3_ (const int &n, const int &nev, const int &ncv, double *d, double *v, double *work, int &ierr)
 Driver to solve a generalized eigenvalue problem. More...
 
void eig_drv4_ (const int &n, const int &nev, const int &ncv, const double &sig, double *d, double *v, double *work, int &ierr)
 Driver to solve a generalized eigenvalue problem. More...
 
void eig_drv5_ (const int &n, const int &nev, const int &ncv, const double &sig, double *d, double *v, double *work, int &ierr)
 Driver to solve a generalized eigenvalue problem. More...
 
void eig_drv6_ (const int &n, const int &nev, const int &ncv, const double &sig, double *d, double *v, double *work, int &ierr)
 Driver to solve a generalized eigenvalue problem. More...
 
static void _eig_ax (const SystemMatrix *A, const double *x, double *y)
 Performs the matrix-vector multiplication y = A * x.
 
void eig_av_ (const double *x, double *y)
 Performs the matrix-vector multiplication y = K * x.
 
void eig_mv_ (const double *x, double *y)
 Performs the matrix-vector multiplication y = M * x.
 
void eig_sol_ (const double *x, double *y, int &ierr)
 Solves the linear system of equations AM y = x. More...
 

Variables

static SystemMatrixK = nullptr
 Pointer to coefficient matrix A.
 
static SystemMatrixM = nullptr
 Pointer to coefficient matrix B.
 
static SystemMatrixAM = nullptr
 Pointer to the matrix to invert.
 
static int iverb = -1
 Arnoldi iteration counter (for verbose print)
 

Detailed Description

Interface to LAPack and ARPack eigenvalue solvers.

Date
Apr 20 2009
Author
Knut Morten Okstad / SINTEF

Function Documentation

◆ eig_drv1_()

void eig_drv1_ ( const int &  n,
const int &  nev,
const int &  ncv,
double *  d,
double *  v,
double *  work,
int &  ierr 
)

Driver to solve a standard eigenvalue problem.

The regular mode is used. This is a FORTRAN 77 subroutine based on the example driver DSDRV1 from the ARPACK distribution.

See also
ARPACK documentation.

Referenced by eig::solve().

◆ eig_drv2_()

void eig_drv2_ ( const int &  n,
const int &  nev,
const int &  ncv,
const double &  sig,
double *  d,
double *  v,
double *  work,
int &  ierr 
)

Driver to solve a standard eigenvalue problem.

The shift-and-invert mode is used. This is a FORTRAN 77 subroutine based on the example driver DSDRV2 from the ARPACK distribution.

See also
ARPACK documentation.

Referenced by eig::solve().

◆ eig_drv3_()

void eig_drv3_ ( const int &  n,
const int &  nev,
const int &  ncv,
double *  d,
double *  v,
double *  work,
int &  ierr 
)

Driver to solve a generalized eigenvalue problem.

The inverse mode is used. This is a FORTRAN 77 subroutine based on the example driver DSDRV3 from the ARPACK distribution.

See also
ARPACK documentation.

Referenced by eig::solve().

◆ eig_drv4_()

void eig_drv4_ ( const int &  n,
const int &  nev,
const int &  ncv,
const double &  sig,
double *  d,
double *  v,
double *  work,
int &  ierr 
)

Driver to solve a generalized eigenvalue problem.

The shift-and-invert mode is used. This is a FORTRAN 77 subroutine based on the example driver DSDRV4 from the ARPACK distribution.

See also
ARPACK documentation.

Referenced by eig::solve().

◆ eig_drv5_()

void eig_drv5_ ( const int &  n,
const int &  nev,
const int &  ncv,
const double &  sig,
double *  d,
double *  v,
double *  work,
int &  ierr 
)

Driver to solve a generalized eigenvalue problem.

The buckling mode is used. This is a FORTRAN 77 subroutine based on the example driver DSDRV5 from the ARPACK distribution.

See also
ARPACK documentation.

Referenced by eig::solve().

◆ eig_drv6_()

void eig_drv6_ ( const int &  n,
const int &  nev,
const int &  ncv,
const double &  sig,
double *  d,
double *  v,
double *  work,
int &  ierr 
)

Driver to solve a generalized eigenvalue problem.

The Cayley mode is used. This is a FORTRAN 77 subroutine based on the example driver DSDRV6 from the ARPACK distribution.

See also
ARPACK documentation.

Referenced by eig::solve().

◆ eig_sol_()

void eig_sol_ ( const double *  x,
double *  y,
int &  ierr 
)