|
|
using | VectorType = Eigen::Matrix< FloatType, Eigen::Dynamic, 1 > |
| Vector layout of positions.
|
|
using | ThreeDimensionalVector = Eigen::Matrix< FloatType, 3, 1 > |
| Three dimensional vector.
|
|
using | FullDimensionalVector = Eigen::Matrix< FloatType, dimensionality, 1 > |
| Three or four dimensional vector (depending on dimensionality)
|
|
using | ThreeDimensionalMatrixType = Eigen::Matrix< FloatType, 3, Eigen::Dynamic > |
| Three-row dynamic column matrix.
|
|
using | FullDimensionalMatrixType = Eigen::Matrix< FloatType, dimensionality, Eigen::Dynamic > |
| Three or four-row dynamic column matrix.
|
|
using | FloatingPointType = FloatType |
| Template argument specifying floating-point type.
|
|
|
void | operator() (const VectorType ¶meters, FloatType &value, Eigen::Ref< VectorType > gradient) const |
| Calculates the error value and gradient for all contributions. More...
|
|
double | calculateProportionChiralConstraintsCorrectSign (const VectorType &positions) const |
| Calculates the number of chiral constraints with correct sign. More...
|
|
template<typename Visitor > |
auto | visitTerms (const VectorType &positions, Visitor &&visitor) const |
|
template<typename Visitor > |
auto | visitUnfulfilledConstraints (const DistanceBoundsMatrix &bounds, const VectorType &positions, Visitor &&visitor) const |
| Visit all unfulfilled constraints. More...
|
|
|
| EigenRefinementProblem (const Eigen::MatrixXd &squaredBounds, std::vector< ChiralConstraint > passChiralConstraints, std::vector< DihedralConstraint > passDihedralConstraints) |
|
|
void | distanceContributions (const VectorType &positions, FloatType &error, Eigen::Ref< VectorType > gradient) const |
| Adds pairwise distance error and gradient contributions. More...
|
|
void | chiralContributions (const VectorType &positions, FloatType &error, Eigen::Ref< VectorType > gradient) const |
| Adds chiral error and gradient contributions. More...
|
|
void | dihedralContributions (const VectorType &positions, FloatType &error, Eigen::Ref< VectorType > gradient) const |
| Adds dihedral error and gradient contributions. More...
|
|
void | fourthDimensionContributions (const VectorType &positions, FloatType &error, Eigen::Ref< VectorType > gradient) const |
| Adds pairwise distance error and gradient contributions. More...
|
|
|
|
template<class Visitor > |
void | distanceContributionsImpl (const VectorType &positions, FloatType &error, Eigen::Ref< VectorType > gradient, Visitor &&visitor) const |
| Adds distance error and gradient contributions (non-SIMD)
|
|
template<typename Visitor > |
void | chiralContributionsImpl (const VectorType &positions, FloatType &error, Eigen::Ref< VectorType > gradient, Visitor &&visitor) const |
| Adds chiral error and gradient contributions.
|
|
template<class Visitor > |
void | dihedralContributionsImpl (const VectorType &positions, FloatType &error, Eigen::Ref< VectorType > gradient, Visitor &&visitor) const |
| Adds dihedral error and gradient contributions.
|
|
template<class Visitor = DefaultTermVisitor> |
void | fourthDimensionContributionsImpl (const VectorType &positions, FloatType &error, Eigen::Ref< VectorType > gradient, Visitor &&visitor={}) const |
| Adds fourth dimension error and gradient contributions. More...
|
|
template<unsigned dimensionality, typename FloatType, bool SIMD>
class Scine::Molassembler::DistanceGeometry::EigenRefinementProblem< dimensionality, FloatType, SIMD >
Eigen-based refinement error function.
- Template Parameters
-
dimensionality | 3 or 4 spatial dimensions to refine in |
FloatType | float or double |
SIMD | Whether to use rewritten implementations that try to take advantage of Eigen's SIMD capabilities |
template<unsigned dimensionality, typename FloatType , bool SIMD>
template<typename Visitor >
Visit all unfulfilled constraints.
- Template Parameters
-
Visitor | Type containing a deviationThreshold and result member variable and implementing the following methods:
- distanceOverThreshold: (unsigned, unsigned, double) -> void
- chiralOverThreshold: (ChiralConstraint, double) -> void
- dihedralOverThreshold: (DihedralConstraint, double) -> void
|
- Parameters
-
bounds | distance bounds instance |
positions | parameter positions to the error function |
visitor | Instance of VisitorType |
This function is very helpful in implementing multiple behaviors, like debug or error information on unsatisfied bonds or checking whether all constraints are within their bounds.
- Returns
visitor.result