Public Member Functions | Protected Member Functions | Protected Attributes
outerSoftAbsMetric Class Reference

#include <outerSoftAbsMetric.h>

Inheritance diagram for outerSoftAbsMetric:
dynamMetric baseHamiltonian

List of all members.

Public Member Functions

 outerSoftAbsMetric (int dim)
double T ()
 Return the kinetic energy.
double tau ()
 Return the quadratic form of the kinetic energy.
void bounceP (const VectorXd &normal)
void sampleP (Random &random)
void setSoftAbsAlpha (double a)
 Set the SoftAbs regularization coefficient.
void checkEvolution (const double epsilon=1e-6)
 Comparing the evolution implementations with finite differences.
void prepareEvolution ()

Protected Member Functions

VectorXd & fLambdaDot (const VectorXd &v)
 Compute the product of Lambda and v efficiently.
virtual void fComputeH ()=0
 Compute the Hessian matrix of the potential.
void fComputeMetric ()
 Compute the metric at the current position.
void fPrepareSpatialGradients ()
VectorXd & dTaudp ()
 Gradient of the quadrtic form with respect to the momenta.
VectorXd & dTaudq ()
 Gradient of the quadratic form with respect to the position.
VectorXd & dPhidq ()
 Compute the gradient of the log determinant of the inverse induced metric.

Protected Attributes

double mSoftAbsAlpha
 Regualarization coefficient.
MatrixXd mH
 Hessian of the potential energy.

Detailed Description

Author:
Michael Betancourt

Abstract base class defining the interface for a Hamiltonian defined on a Riemannian manifold with an outer-product approximation to the SoftAbs Metric


Constructor & Destructor Documentation

outerSoftAbsMetric::outerSoftAbsMetric ( int  dim) [explicit]

Constructor

Parameters:
dimDimension of the target space

Member Function Documentation

void outerSoftAbsMetric::bounceP ( const VectorXd &  normal) [virtual]

Evolve the momentum through a bounce off of a constraint surface

Parameters:
normalVector normal to constraint surface

Implements baseHamiltonian.

void outerSoftAbsMetric::checkEvolution ( const double  epsilon = 1e-6) [virtual]

Comparing the evolution implementations with finite differences.

Compare the position and momentum evolution implementations with finite differences

Parameters:
epsilonSize of finite difference step

Reimplemented from baseHamiltonian.

void outerSoftAbsMetric::fPrepareSpatialGradients ( ) [inline, protected, virtual]

Update any position-dependent auxiliary terms in preparation for spatial gradients

Reimplemented from dynamMetric.

void outerSoftAbsMetric::prepareEvolution ( ) [inline, virtual]

Perform any necessary calculations before simulation Hamiltonian dynamics

Reimplemented from dynamMetric.

void outerSoftAbsMetric::sampleP ( Random &  random) [virtual]

Sample the momentum from the conditional distribution $ \pi \left( \mathbf{p} | \mathbf{q} \right) \propto \exp \left( - T \left( \mathbf{p}, \mathbf{q} \right) \right) $

Parameters:
randomExternal RandomLib generator

Implements baseHamiltonian.


The documentation for this class was generated from the following files:
 All Classes Functions Variables