Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
Loading...
Searching...
No Matches
Garfield::Numerics::CERNLIB Namespace Reference

Linear algebra routines from CERNLIB. More...

Functions

int deqn (const int n, std::vector< std::vector< double > > &a, std::vector< double > &b)
 Replaces b by the solution x of Ax = b, after which A is undefined.
int deqinv (const int n, std::vector< std::vector< double > > &a, std::vector< double > &b)
 Replaces b by the solution x of Ax = b, and replace A by its inverse.
void dfact (const int n, std::vector< std::vector< double > > &a, std::vector< int > &ir, int &ifail, double &det, int &jfail)
void dfeqn (const int n, std::vector< std::vector< double > > &a, std::vector< int > &ir, std::vector< double > &b)
void dfinv (const int n, std::vector< std::vector< double > > &a, std::vector< int > &ir)
int dinv (const int n, std::vector< std::vector< double > > &a)
 Replace square matrix A by its inverse.
void cfact (const int n, std::vector< std::vector< std::complex< double > > > &a, std::vector< int > &ir, int &ifail, std::complex< double > &det, int &jfail)
void cfinv (const int n, std::vector< std::vector< std::complex< double > > > &a, std::vector< int > &ir)
int cinv (const int n, std::vector< std::vector< std::complex< double > > > &a)
 Replace square matrix A by its inverse.
void cfft (std::vector< std::complex< double > > &a, const int msign)

Detailed Description

Linear algebra routines from CERNLIB.

Function Documentation

◆ cfact()

void Garfield::Numerics::CERNLIB::cfact ( const int n,
std::vector< std::vector< std::complex< double > > > & a,
std::vector< int > & ir,
int & ifail,
std::complex< double > & det,
int & jfail )

◆ cfft()

void Garfield::Numerics::CERNLIB::cfft ( std::vector< std::complex< double > > & a,
const int msign )

◆ cfinv()

void Garfield::Numerics::CERNLIB::cfinv ( const int n,
std::vector< std::vector< std::complex< double > > > & a,
std::vector< int > & ir )

◆ cinv()

int Garfield::Numerics::CERNLIB::cinv ( const int n,
std::vector< std::vector< std::complex< double > > > & a )

Replace square matrix A by its inverse.

◆ deqinv()

int Garfield::Numerics::CERNLIB::deqinv ( const int n,
std::vector< std::vector< double > > & a,
std::vector< double > & b )

Replaces b by the solution x of Ax = b, and replace A by its inverse.

◆ deqn()

int Garfield::Numerics::CERNLIB::deqn ( const int n,
std::vector< std::vector< double > > & a,
std::vector< double > & b )

Replaces b by the solution x of Ax = b, after which A is undefined.

Parameters
norder of the square matrix A.
an by n matrix.
bright-hand side vector.
Returns
0: normal exit, -1: singular matrix.

◆ dfact()

void Garfield::Numerics::CERNLIB::dfact ( const int n,
std::vector< std::vector< double > > & a,
std::vector< int > & ir,
int & ifail,
double & det,
int & jfail )

◆ dfeqn()

void Garfield::Numerics::CERNLIB::dfeqn ( const int n,
std::vector< std::vector< double > > & a,
std::vector< int > & ir,
std::vector< double > & b )

◆ dfinv()

void Garfield::Numerics::CERNLIB::dfinv ( const int n,
std::vector< std::vector< double > > & a,
std::vector< int > & ir )

◆ dinv()

int Garfield::Numerics::CERNLIB::dinv ( const int n,
std::vector< std::vector< double > > & a )

Replace square matrix A by its inverse.