Thermal-FIST 1.5
Package for hadron resonance gas model applications
Loading...
Searching...
No Matches
thermalfist::BroydenJacobian Class Reference

Class which implements calculation of the Jacobian needed for the Broyden's method. More...

#include <Broyden.h>

Inheritance diagram for thermalfist::BroydenJacobian:
thermalfist::ExcludedVolumeModelMultiBase::BroydenJacobianEVMulti

Public Member Functions

 BroydenJacobian (BroydenEquations *eqs=NULL)
 Construct a new BroydenJacobian object.
 
virtual ~BroydenJacobian (void)=default
 Destructor.
 
virtual std::vector< double > Jacobian (const std::vector< double > &x)
 Evaluates the Jacobian for given values of the variables.
 
void SetDx (double dx)
 Set the finite variable difference value used for calculating the Jacobian numerically.
 
double CurrentDx () const
 

Static Public Attributes

static const double EPS = 1.0E-6
 

Detailed Description

Class which implements calculation of the Jacobian needed for the Broyden's method.

Here it is done numerically using the BroydenEquations instance and the finite difference method. A derived class may implement an analytic calculation.

Definition at line 76 of file Broyden.h.

Constructor & Destructor Documentation

◆ BroydenJacobian()

thermalfist::BroydenJacobian::BroydenJacobian ( BroydenEquations * eqs = NULL)
inline

Construct a new BroydenJacobian object.

Parameters
eqsA pointer to BroydenEquations object which implements the equations to be solved by the Broyden's method.

Definition at line 89 of file Broyden.h.

◆ ~BroydenJacobian()

virtual thermalfist::BroydenJacobian::~BroydenJacobian ( void )
virtualdefault

Destructor.

Member Function Documentation

◆ CurrentDx()

double thermalfist::BroydenJacobian::CurrentDx ( ) const
inline
Returns
double Current finite variable difference value.

Definition at line 119 of file Broyden.h.

◆ Jacobian()

std::vector< double > thermalfist::BroydenJacobian::Jacobian ( const std::vector< double > & x)
virtual

Evaluates the Jacobian for given values of the variables.

Parameters
xVector of the variables' values.
Returns
std::vector<double> The computed Jacobian matrix. Returns a vector of matrix elements stored in a RowMajor ordering.

Here finite differences are used to approximates the derivatives. This method can be overriden in a derived class e.g. to implement analytic calculations for a specific system of equations.

Reimplemented in thermalfist::ExcludedVolumeModelMultiBase::BroydenJacobianEVMulti.

Definition at line 35 of file Broyden.cpp.

◆ SetDx()

void thermalfist::BroydenJacobian::SetDx ( double dx)
inline

Set the finite variable difference value used for calculating the Jacobian numerically.

Parameters
dxThe finite difference value.

Definition at line 114 of file Broyden.h.

Member Data Documentation

◆ EPS

const double thermalfist::BroydenJacobian::EPS = 1.0E-6
static

The default finite variable difference value used for calculations the Jacobian numerically.

Definition at line 81 of file Broyden.h.


The documentation for this class was generated from the following files: