21#ifndef VOTCA_XTP_CHARGERESPONSESOLVER_H
22#define VOTCA_XTP_CHARGERESPONSESOLVER_H
77 Eigen::VectorXd
Apply(
const Eigen::VectorXd& y)
const;
83 Eigen::MatrixXd
ApplyMhalf(
const Eigen::MatrixXd& X)
const;
108 Eigen::VectorXd
ApplyT(
const Eigen::VectorXd& x)
const;
109 Eigen::VectorXd
ApplyMhalf(
const Eigen::VectorXd& x,
bool inverse)
const;
110 Eigen::VectorXd
Sources()
const;
std::vector< SiteRef > sites_
Eigen::MatrixXd DenseOperator() const
double InternalChargeEnergy() const
Coupling PairCoupling(Index a, Index b) const
Index ChargeIndex(Index k) const
std::vector< PolarSegment > & segments_
Eigen::MatrixXd ApplyMhalf(const Eigen::MatrixXd &X) const
M^1/2 X for a matrix of unknown-space columns.
std::vector< SegmentBlock > blocks_
const eeInteractor & interactor_
Eigen::VectorXd Sources() const
std::vector< Eigen::Matrix3d > alpha_sqrt_
void WriteToSites(const Eigen::VectorXd &x)
std::vector< Eigen::Matrix3d > alpha_inv_sqrt_
Eigen::VectorXd Apply(const Eigen::VectorXd &y) const
ChargeResponseSolver(std::vector< PolarSegment > &segments, const eeInteractor &interactor)
Eigen::VectorXd ApplyT(const Eigen::VectorXd &x) const
Eigen::VectorXd ReadFromSites() const
Info Solve(double tolerance, Index max_iter, bool use_previous)
Mediates interaction between polar and static sites.
Provides a means for comparing floating point numbers.