#include <denseConstMetric.h>
Public Member Functions | |
denseConstMetric (int dim, MatrixXd &massInv) | |
double | T () |
Return the kinetic energy. | |
void | evolveQ (const double epsilon) |
Evolve the position through some time epsilon. | |
void | bounceP (const VectorXd &normal) |
void | sampleP (Random &random) |
void | setInvMass (MatrixXd &massInv) |
Set the inverse mass matrix and recompute the Cholesky decomposition. | |
Protected Attributes | |
MatrixXd | mMassInv |
Inverse mass matrix. | |
LLT< MatrixXd > | mMassL |
Cholesky factorization of mass matrix. |
Abstract base class defining the interface for a Hamiltonian with quadratic kinetic energy defined on a Euclidean manifold with dense metric.
denseConstMetric::denseConstMetric | ( | int | dim, |
MatrixXd & | massInv | ||
) | [explicit] |
Constructor
dim | Dimension of the target space |
massInv | Euclidean metric |
void denseConstMetric::bounceP | ( | const VectorXd & | normal | ) | [virtual] |
Evolve the momentum through a bounce off of a constraint surface
normal | Vector normal to constraint surface |
Implements baseHamiltonian.
void denseConstMetric::sampleP | ( | Random & | random | ) | [virtual] |
Sample the momentum from the conditional distribution
random | External RandomLib generator |
Implements baseHamiltonian.