Matrix Inverter class Class to specialize calls to Dinv.
Dinv computes the inverse of a square matrix if dimension idim and order n. The content of the matrix will be replaced by its inverse. In case the inversion fails, the matrix content is destroyed. Invert specializes Dinv by the matrix order. E.g. if the order of the matrix is two, the routine Inverter<2> is called which implements Cramers rule.
Static Public Member Functions | |
template<class T > | |
static int | DfactMatrix (MatRepStd< T, idim, n > &rhs, T &det, unsigned int *work) |
LU Factorization method for inversion of general square matrices (see implementation in Math/MatrixInversion.icc) More... | |
template<class T > | |
static int | DfinvMatrix (MatRepStd< T, idim, n > &rhs, unsigned int *work) |
LU inversion of general square matrices. More... | |
template<class T > | |
static bool | Dinv (MatRepSym< T, idim > &rhs) |
symmetric matrix inversion using Bunch-kaufman pivoting method implementation in Math/MatrixInversion.icc More... | |
template<class MatrixRep > | |
static bool | Dinv (MatrixRep &rhs) |
matrix inversion for a generic square matrix using LU factorization (code originally from CERNLIB and then ported in C++ for CLHEP) implementation is in file Math/MatrixInversion.icc More... | |
template<class T > | |
static void | InvertBunchKaufman (MatRepSym< T, idim > &rhs, int &ifail) |
Bunch-Kaufman method for inversion of symmetric matrices. More... | |
#include <Math/Dinv.h>
|
static |
LU Factorization method for inversion of general square matrices (see implementation in Math/MatrixInversion.icc)
LU factorization : code originally from CERNLIB dfact routine and ported in C++ for CLHEP.
Definition at line 447 of file MatrixInversion.icc.
|
static |
LU inversion of general square matrices.
Inversion for General square matrices.
To be called after DFactMatrix (see implementation in Math/MatrixInversion.icc)
Code from dfinv routine from CERNLIB Assumed first the LU decomposition via DfactMatrix function
taken from CLHEP : L. Moneta May 2006
Definition at line 577 of file MatrixInversion.icc.
|
inlinestatic |
symmetric matrix inversion using Bunch-kaufman pivoting method implementation in Math/MatrixInversion.icc
|
inlinestatic |
matrix inversion for a generic square matrix using LU factorization (code originally from CERNLIB and then ported in C++ for CLHEP) implementation is in file Math/MatrixInversion.icc
|
static |
Bunch-Kaufman method for inversion of symmetric matrices.
General Inversion for a symmetric matrix Bunch-Kaufman diagonal pivoting method It is decribed in J.R.
Bunch, L. Kaufman (1977). "Some Stable Methods for Calculating Inertia and Solving Symmetric Linear Systems", Math. Comp. 31, p. 162-179. or in Gene H. Golub, /Charles F. van Loan, "Matrix Computations" (the second edition has a bug.) and implemented in "lapack" Mario Stanke, 09/97
Definition at line 40 of file MatrixInversion.icc.