Dune Core Modules (unstable)

fmatrixev.hh File Reference

Eigenvalue computations for the FieldMatrix class. More...

#include <algorithm>
#include <iostream>
#include <cmath>
#include <cassert>
#include <dune/common/exceptions.hh>
#include <dune/common/fvector.hh>
#include <dune/common/fmatrix.hh>
#include <dune/common/math.hh>

Go to the source code of this file.

Namespaces

 Dune
 Dune namespace.
 

Functions

template<int dim, typename K >
static void Dune::FMatrixHelp::eigenValues (const FieldMatrix< K, dim, dim > &matrix, FieldVector< K, dim > &eigenValues)
 calculates the eigenvalues of a symmetric field matrix More...
 
template<int dim, typename K >
static void Dune::FMatrixHelp::eigenValuesVectors (const FieldMatrix< K, dim, dim > &matrix, FieldVector< K, dim > &eigenValues, FieldMatrix< K, dim, dim > &eigenVectors)
 calculates the eigenvalues and eigenvectors of a symmetric field matrix More...
 
template<int dim, typename K >
static void Dune::FMatrixHelp::eigenValuesLapack (const FieldMatrix< K, dim, dim > &matrix, FieldVector< K, dim > &eigenValues)
 calculates the eigenvalues of a symmetric field matrix More...
 
template<int dim, typename K >
static void Dune::FMatrixHelp::eigenValuesVectorsLapack (const FieldMatrix< K, dim, dim > &matrix, FieldVector< K, dim > &eigenValues, FieldMatrix< K, dim, dim > &eigenVectors)
 calculates the eigenvalues and -vectors of a symmetric field matrix More...
 
template<int dim, typename K , class C >
static void Dune::FMatrixHelp::eigenValuesNonSym (const FieldMatrix< K, dim, dim > &matrix, FieldVector< C, dim > &eigenValues)
 calculates the eigenvalues of a non-symmetric field matrix More...
 

Detailed Description

Eigenvalue computations for the FieldMatrix class.

Function Documentation

◆ eigenValues()

template<int dim, typename K >
static void Dune::FMatrixHelp::eigenValues ( const FieldMatrix< K, dim, dim > &  matrix,
FieldVector< K, dim > &  eigenValues 
)
static

calculates the eigenvalues of a symmetric field matrix

Parameters
[in]matrixmatrix eigenvalues are calculated for
[out]eigenValuesFieldVector that contains eigenvalues in ascending order
Note
specializations for dim=1,2,3 exist, for dim>3 LAPACK::dsyev is used

References Dune::FMatrixHelp::eigenValues().

Referenced by Dune::FMatrixHelp::eigenValues(), Dune::FMatrixHelp::eigenValuesLapack(), Dune::FMatrixHelp::eigenValuesVectors(), and Dune::FMatrixHelp::eigenValuesVectorsLapack().

◆ eigenValuesLapack()

template<int dim, typename K >
static void Dune::FMatrixHelp::eigenValuesLapack ( const FieldMatrix< K, dim, dim > &  matrix,
FieldVector< K, dim > &  eigenValues 
)
static

calculates the eigenvalues of a symmetric field matrix

Parameters
[in]matrixmatrix eigenvalues are calculated for
[out]eigenValuesFieldVector that contains eigenvalues in ascending order
Note
LAPACK::dsyev is used to calculate the eigenvalues

References Dune::FMatrixHelp::eigenValues(), and Dune::FMatrixHelp::eigenValuesLapack().

Referenced by Dune::FMatrixHelp::eigenValuesLapack().

◆ eigenValuesNonSym()

template<int dim, typename K , class C >
static void Dune::FMatrixHelp::eigenValuesNonSym ( const FieldMatrix< K, dim, dim > &  matrix,
FieldVector< C, dim > &  eigenValues 
)
static

calculates the eigenvalues of a non-symmetric field matrix

Parameters
[in]matrixmatrix eigenvalues are calculated for
[out]eigenValuesFieldVector that contains eigenvalues in ascending order
Note
LAPACK::dgeev is used to calculate the eigenvalues

References Dune::FMatrixHelp::eigenValuesNonSym().

Referenced by Dune::FMatrixHelp::eigenValuesNonSym().

◆ eigenValuesVectors()

template<int dim, typename K >
static void Dune::FMatrixHelp::eigenValuesVectors ( const FieldMatrix< K, dim, dim > &  matrix,
FieldVector< K, dim > &  eigenValues,
FieldMatrix< K, dim, dim > &  eigenVectors 
)
static

calculates the eigenvalues and eigenvectors of a symmetric field matrix

Parameters
[in]matrixmatrix eigenvalues are calculated for
[out]eigenValuesFieldVector that contains eigenvalues in ascending order
[out]eigenVectorsFieldMatrix that contains the eigenvectors
Note
specializations for dim=1,2,3 exist, for dim>3 LAPACK::dsyev is used

References Dune::FMatrixHelp::eigenValues(), and Dune::FMatrixHelp::eigenValuesVectors().

Referenced by Dune::FMatrixHelp::eigenValuesVectors().

◆ eigenValuesVectorsLapack()

template<int dim, typename K >
static void Dune::FMatrixHelp::eigenValuesVectorsLapack ( const FieldMatrix< K, dim, dim > &  matrix,
FieldVector< K, dim > &  eigenValues,
FieldMatrix< K, dim, dim > &  eigenVectors 
)
static

calculates the eigenvalues and -vectors of a symmetric field matrix

Parameters
[in]matrixmatrix eigenvalues are calculated for
[out]eigenValuesFieldVector that contains eigenvalues in ascending order
[out]eigenVectorsFieldMatrix that contains the eigenvectors
Note
LAPACK::dsyev is used to calculate the eigenvalues and -vectors

References Dune::FMatrixHelp::eigenValues(), and Dune::FMatrixHelp::eigenValuesVectorsLapack().

Referenced by Dune::FMatrixHelp::eigenValuesVectorsLapack().

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 4, 22:30, 2024)