![]() |
QMCPACK
|
Inheritance diagram for PolynomialFunctor3D:
Collaboration diagram for PolynomialFunctor3D:Public Types | |
| using | value_type = real_type |
Public Types inherited from OptimizableFunctorBase | |
| using | real_type = optimize::VariableSet::real_type |
| typedef for real values More... | |
| using | opt_variables_type = optimize::VariableSet |
| typedef for variableset: this is going to be replaced More... | |
Public Member Functions | |
| PolynomialFunctor3D (const std::string &my_name, real_type ee_cusp=0.0, real_type eI_cusp=0.0) | |
| constructor More... | |
| OptimizableFunctorBase * | makeClone () const override |
| create a clone of this object More... | |
| void | resize (int neI, int nee) |
| void | reset () override |
| reset function More... | |
| void | reset_gamma () |
| real_type | evaluate (real_type r_12, real_type r_1I, real_type r_2I) const |
| real_type | evaluateV (int Nptcl, const real_type *restrict r_12_array, const real_type *restrict r_1I_array, const real_type *restrict r_2I_array) const |
| real_type | evaluate (real_type r_12, real_type r_1I, real_type r_2I, TinyVector< real_type, 3 > &grad, Tensor< real_type, 3 > &hess) const |
| void | evaluateVGL (int Nptcl, const real_type *restrict r_12_array, const real_type *restrict r_1I_array, const real_type *restrict r_2I_array, real_type *restrict val_array, real_type *restrict grad0_array, real_type *restrict grad1_array, real_type *restrict grad2_array, real_type *restrict hess00_array, real_type *restrict hess11_array, real_type *restrict hess22_array, real_type *restrict hess01_array, real_type *restrict hess02_array) const |
| real_type | evaluate (const real_type r_12, const real_type r_1I, const real_type r_2I, TinyVector< real_type, 3 > &grad, Tensor< real_type, 3 > &hess, TinyVector< Tensor< real_type, 3 >, 3 > &d3) |
| real_type | evaluate (const real_type r, const real_type rinv) |
| bool | evaluateDerivativesFD (const real_type r_12, const real_type r_1I, const real_type r_2I, std::vector< double > &d_vals, std::vector< TinyVector< real_type, 3 >> &d_grads, std::vector< Tensor< real_type, 3 >> &d_hess) |
| bool | evaluateDerivatives (const real_type r_12, const real_type r_1I, const real_type r_2I, std::vector< real_type > &d_vals) |
| calculate derivatives with respect to polynomial parameters More... | |
| bool | evaluateDerivatives (const real_type r_12, const real_type r_1I, const real_type r_2I, std::vector< real_type > &d_vals, std::vector< TinyVector< real_type, 3 >> &d_grads, std::vector< Tensor< real_type, 3 >> &d_hess) |
| real_type | f (real_type r) override |
| real_type | df (real_type r) override |
| bool | put (xmlNodePtr cur) override |
| process xmlnode and registers variables to optimize More... | |
| void | resetParametersExclusive (const opt_variables_type &active) override |
| reset the parameters during optimizations. More... | |
| void | checkInVariablesExclusive (opt_variables_type &active) override |
| check in variational parameters to the global list of parameters used by the optimizer. More... | |
| void | checkOutVariables (const opt_variables_type &active) override |
| check out variational optimizable variables More... | |
| void | print (std::ostream &os) |
| int | getNumParameters () |
Public Member Functions inherited from OptimizableFunctorBase | |
| OptimizableFunctorBase (const std::string &name="") | |
| default constructor More... | |
| virtual | ~OptimizableFunctorBase ()=default |
| virtual destrutor More... | |
| void | getIndex (const opt_variables_type &active) |
| virtual real_type | f (real_type r)=0 |
| evaluate the value at r More... | |
| virtual real_type | df (real_type r)=0 |
| evaluate the first derivative More... | |
| virtual void | setDensity (real_type n) |
| empty virtual function to help builder classes More... | |
| virtual void | setCusp (real_type cusp) |
| empty virtual function to help builder classes More... | |
| virtual void | setPeriodic (bool periodic) |
| empty virtual function to help builder classes More... | |
| virtual bool | evaluateDerivatives (real_type r, std::vector< qmcplusplus::TinyVector< real_type, 3 >> &derivs) |
| virtual bool | evaluateDerivatives (real_type r, std::vector< real_type > &derivs) |
| virtual void | setGridManager (bool willmanage) |
| virtual void | checkInVariablesExclusive (opt_variables_type &active)=0 |
| check in variational parameters to the global list of parameters used by the optimizer. More... | |
| virtual void | resetParametersExclusive (const opt_variables_type &active)=0 |
| reset the parameters during optimizations More... | |
Public Member Functions inherited from OptimizableObject | |
| OptimizableObject (const std::string &name) | |
| const std::string & | getName () const |
| bool | isOptimized () const |
| virtual void | reportStatus (std::ostream &os) |
| print the state, e.g., optimizables More... | |
| void | setOptimization (bool state) |
| virtual void | writeVariationalParameters (hdf_archive &hout) |
| Write the variational parameters for this object to the VP HDF file. More... | |
| virtual void | readVariationalParameters (hdf_archive &hin) |
| Read the variational parameters for this object from the VP HDF file. More... | |
Public Attributes | |
| int | N_eI |
| int | N_ee |
| Array< real_type, 3 > | gamma |
| std::vector< int > | GammaPerm |
| Array< int, 3 > | index |
| std::vector< bool > | IndepVar |
| std::vector< real_type > | GammaVec |
| std::vector< real_type > | dval_Vec |
| std::vector< TinyVector< real_type, 3 > > | dgrad_Vec |
| std::vector< Tensor< real_type, 3 > > | dhess_Vec |
| int | NumConstraints |
| int | NumGamma |
| Matrix< real_type > | ConstraintMatrix |
| std::vector< real_type > | Parameters |
| std::vector< real_type > | d_valsFD |
| std::vector< TinyVector< real_type, 3 > > | d_gradsFD |
| std::vector< Tensor< real_type, 3 > > | d_hessFD |
| std::vector< std::string > | ParameterNames |
| std::string | iSpecies |
| std::string | eSpecies1 |
| std::string | eSpecies2 |
| int | ResetCount |
| const int | C |
| real_type | scale |
| bool | notOpt |
Public Attributes inherited from OptimizableFunctorBase | |
| real_type | cutoff_radius = 0.0 |
| maximum cutoff More... | |
| opt_variables_type | myVars |
| set of variables to be optimized More... | |
Definition at line 30 of file PolynomialFunctor3D.h.
| using value_type = real_type |
Definition at line 32 of file PolynomialFunctor3D.h.
|
inline |
constructor
Definition at line 58 of file PolynomialFunctor3D.h.
References qmcplusplus::abs(), qmcplusplus::app_error(), and OptimizableFunctorBase::cutoff_radius.
Referenced by PolynomialFunctor3D::makeClone().
|
inlineoverridevirtual |
check in variational parameters to the global list of parameters used by the optimizer.
| active | a super set of optimizable variables |
The existing checkInVariables implementation in WFC/SPO/.. are inclusive and it calls checkInVariables of its members class A: public SPOSet {} class B: public WFC { A objA; checkInVariables() { objA.checkInVariables(); } };
With OptimizableObject, class A: public OptimizableObject {} class B: public OptimizableObject { A objA; checkInVariablesExclusive() { // should not call objA.checkInVariablesExclusive() if objA has been extracted; } }; A vector of OptimizableObject, will be created by calling extractOptimizableObjects(). All the checkInVariablesExclusive() will be called through this vector and thus checkInVariablesExclusive implementation should only handle non-OptimizableObject members.
Implements OptimizableObject.
Definition at line 1073 of file PolynomialFunctor3D.h.
References VariableSet::insertFrom(), OptimizableFunctorBase::myVars, PolynomialFunctor3D::notOpt, and VariableSet::setIndexDefault().
|
inlineoverridevirtual |
check out variational optimizable variables
| active | a super set of optimizable variables |
Implements OptimizableFunctorBase.
Definition at line 1082 of file PolynomialFunctor3D.h.
References VariableSet::getIndex(), OptimizableFunctorBase::myVars, and PolynomialFunctor3D::notOpt.
Definition at line 969 of file PolynomialFunctor3D.h.
Definition at line 320 of file PolynomialFunctor3D.h.
References PolynomialFunctor3D::C, BLAS::cone, OptimizableFunctorBase::cutoff_radius, BLAS::czero, PolynomialFunctor3D::gamma, qmcplusplus::Units::distance::m, qmcplusplus::n, PolynomialFunctor3D::N_ee, and PolynomialFunctor3D::N_eI.
Referenced by PolynomialFunctor3D::evaluateDerivativesFD(), and qmcplusplus::TEST_CASE().
|
inline |
Definition at line 396 of file PolynomialFunctor3D.h.
References PolynomialFunctor3D::C, BLAS::cone, OptimizableFunctorBase::cutoff_radius, BLAS::czero, PolynomialFunctor3D::gamma, qmcplusplus::Units::distance::m, qmcplusplus::n, PolynomialFunctor3D::N_ee, and PolynomialFunctor3D::N_eI.
|
inline |
Definition at line 589 of file PolynomialFunctor3D.h.
References PolynomialFunctor3D::C, OptimizableFunctorBase::cutoff_radius, PolynomialFunctor3D::gamma, qmcplusplus::Units::distance::m, qmcplusplus::n, PolynomialFunctor3D::N_ee, and PolynomialFunctor3D::N_eI.
Definition at line 700 of file PolynomialFunctor3D.h.
|
inline |
calculate derivatives with respect to polynomial parameters
Definition at line 737 of file PolynomialFunctor3D.h.
References qmcplusplus::abs(), PolynomialFunctor3D::C, BLAS::cone, PolynomialFunctor3D::ConstraintMatrix, OptimizableFunctorBase::cutoff_radius, BLAS::czero, PolynomialFunctor3D::dval_Vec, qmcplusplus::Units::charge::e, PolynomialFunctor3D::IndepVar, qmcplusplus::Units::distance::m, qmcplusplus::n, PolynomialFunctor3D::N_ee, PolynomialFunctor3D::N_eI, PolynomialFunctor3D::NumGamma, and PolynomialFunctor3D::scale.
|
inline |
Definition at line 817 of file PolynomialFunctor3D.h.
References qmcplusplus::abs(), PolynomialFunctor3D::C, BLAS::cone, PolynomialFunctor3D::ConstraintMatrix, OptimizableFunctorBase::cutoff_radius, BLAS::czero, PolynomialFunctor3D::d_gradsFD, PolynomialFunctor3D::d_hessFD, PolynomialFunctor3D::d_valsFD, PolynomialFunctor3D::dgrad_Vec, PolynomialFunctor3D::dhess_Vec, PolynomialFunctor3D::dval_Vec, qmcplusplus::Units::charge::e, PolynomialFunctor3D::evaluateDerivativesFD(), PolynomialFunctor3D::IndepVar, qmcplusplus::Units::distance::m, qmcplusplus::n, PolynomialFunctor3D::N_ee, PolynomialFunctor3D::N_eI, PolynomialFunctor3D::NumGamma, PolynomialFunctor3D::Parameters, and PolynomialFunctor3D::scale.
|
inline |
Definition at line 703 of file PolynomialFunctor3D.h.
References PolynomialFunctor3D::evaluate(), PolynomialFunctor3D::Parameters, and PolynomialFunctor3D::reset_gamma().
Referenced by PolynomialFunctor3D::evaluateDerivatives().
|
inline |
Definition at line 352 of file PolynomialFunctor3D.h.
References PolynomialFunctor3D::C, BLAS::cone, OptimizableFunctorBase::cutoff_radius, BLAS::czero, PolynomialFunctor3D::gamma, qmcplusplus::Units::distance::m, qmcplusplus::n, PolynomialFunctor3D::N_ee, and PolynomialFunctor3D::N_eI.
|
inline |
Definition at line 481 of file PolynomialFunctor3D.h.
References PolynomialFunctor3D::C, BLAS::cone, OptimizableFunctorBase::cutoff_radius, BLAS::czero, PolynomialFunctor3D::gamma, qmcplusplus::Units::distance::m, qmcplusplus::n, PolynomialFunctor3D::N_ee, and PolynomialFunctor3D::N_eI.
Definition at line 968 of file PolynomialFunctor3D.h.
|
inline |
Definition at line 1105 of file PolynomialFunctor3D.h.
References PolynomialFunctor3D::Parameters.
|
inlineoverridevirtual |
create a clone of this object
Implements OptimizableFunctorBase.
Definition at line 69 of file PolynomialFunctor3D.h.
References PolynomialFunctor3D::PolynomialFunctor3D().
|
inline |
Definition at line 1089 of file PolynomialFunctor3D.h.
|
inlineoverridevirtual |
process xmlnode and registers variables to optimize
| cur | xmlNode for a functor |
Implements OptimizableFunctorBase.
Definition at line 971 of file PolynomialFunctor3D.h.
References OhmmsAttributeSet::add(), qmcplusplus::app_log(), qmcplusplus::app_summary(), OptimizableFunctorBase::cutoff_radius, ReportEngine::error(), PolynomialFunctor3D::eSpecies1, PolynomialFunctor3D::eSpecies2, VariableSet::insert(), PolynomialFunctor3D::iSpecies, optimize::LOGLINEAR_P, OptimizableFunctorBase::myVars, PolynomialFunctor3D::N_ee, PolynomialFunctor3D::N_eI, PolynomialFunctor3D::notOpt, PolynomialFunctor3D::Parameters, VariableSet::print(), OhmmsAttributeSet::put(), putContent(), PolynomialFunctor3D::reset_gamma(), and PolynomialFunctor3D::resize().
|
inlineoverridevirtual |
reset function
Implements OptimizableFunctorBase.
Definition at line 219 of file PolynomialFunctor3D.h.
References PolynomialFunctor3D::N_ee, PolynomialFunctor3D::N_eI, PolynomialFunctor3D::reset_gamma(), and PolynomialFunctor3D::resize().
|
inline |
Definition at line 225 of file PolynomialFunctor3D.h.
References qmcplusplus::abs(), qmcplusplus::app_error(), PolynomialFunctor3D::C, PolynomialFunctor3D::ConstraintMatrix, OptimizableFunctorBase::cutoff_radius, qmcplusplus::Units::charge::e, PolynomialFunctor3D::gamma, PolynomialFunctor3D::GammaVec, PolynomialFunctor3D::IndepVar, PolynomialFunctor3D::index, qmcplusplus::Units::distance::m, qmcplusplus::n, PolynomialFunctor3D::N_ee, PolynomialFunctor3D::N_eI, PolynomialFunctor3D::NumGamma, PolynomialFunctor3D::Parameters, and PolynomialFunctor3D::scale.
Referenced by PolynomialFunctor3D::evaluateDerivativesFD(), PolynomialFunctor3D::put(), PolynomialFunctor3D::reset(), and PolynomialFunctor3D::resetParametersExclusive().
|
inlineoverridevirtual |
reset the parameters during optimizations.
Exclusive, see checkInVariablesExclusive
Implements OptimizableObject.
Definition at line 1053 of file PolynomialFunctor3D.h.
References OptimizableFunctorBase::myVars, PolynomialFunctor3D::notOpt, PolynomialFunctor3D::Parameters, PolynomialFunctor3D::reset_gamma(), PolynomialFunctor3D::ResetCount, and VariableSet::where().
|
inline |
Definition at line 71 of file PolynomialFunctor3D.h.
References qmcplusplus::abs(), PolynomialFunctor3D::C, PolynomialFunctor3D::ConstraintMatrix, OptimizableFunctorBase::cutoff_radius, PolynomialFunctor3D::d_gradsFD, PolynomialFunctor3D::d_hessFD, PolynomialFunctor3D::d_valsFD, PolynomialFunctor3D::dgrad_Vec, PolynomialFunctor3D::dhess_Vec, PolynomialFunctor3D::dval_Vec, qmcplusplus::Units::charge::e, PolynomialFunctor3D::gamma, PolynomialFunctor3D::GammaPerm, PolynomialFunctor3D::GammaVec, PolynomialFunctor3D::IndepVar, PolynomialFunctor3D::index, qmcplusplus::Units::distance::m, qmcplusplus::n, PolynomialFunctor3D::N_ee, PolynomialFunctor3D::N_eI, PolynomialFunctor3D::NumConstraints, PolynomialFunctor3D::NumGamma, PolynomialFunctor3D::Parameters, Array< T, D, ALLOC >::resize(), Matrix< T, Alloc >::resize(), and Matrix< T, Alloc >::swap_rows().
Referenced by PolynomialFunctor3D::put(), and PolynomialFunctor3D::reset().
| const int C |
Definition at line 53 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluate(), PolynomialFunctor3D::evaluateDerivatives(), PolynomialFunctor3D::evaluateV(), PolynomialFunctor3D::evaluateVGL(), PolynomialFunctor3D::reset_gamma(), and PolynomialFunctor3D::resize().
Definition at line 45 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluateDerivatives(), PolynomialFunctor3D::reset_gamma(), and PolynomialFunctor3D::resize().
| std::vector<TinyVector<real_type, 3> > d_gradsFD |
Definition at line 47 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluateDerivatives(), and PolynomialFunctor3D::resize().
Definition at line 48 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluateDerivatives(), and PolynomialFunctor3D::resize().
| std::vector<real_type> d_valsFD |
Definition at line 46 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluateDerivatives(), and PolynomialFunctor3D::resize().
| std::vector<TinyVector<real_type, 3> > dgrad_Vec |
Definition at line 42 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluateDerivatives(), and PolynomialFunctor3D::resize().
Definition at line 43 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluateDerivatives(), and PolynomialFunctor3D::resize().
| std::vector<real_type> dval_Vec |
Definition at line 41 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluateDerivatives(), and PolynomialFunctor3D::resize().
| std::string eSpecies1 |
Definition at line 50 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::put().
| std::string eSpecies2 |
Definition at line 50 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::put().
Definition at line 34 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluate(), PolynomialFunctor3D::evaluateV(), PolynomialFunctor3D::evaluateVGL(), PolynomialFunctor3D::reset_gamma(), and PolynomialFunctor3D::resize().
| std::vector<int> GammaPerm |
Definition at line 37 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::resize().
| std::vector<real_type> GammaVec |
Definition at line 41 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::reset_gamma(), and PolynomialFunctor3D::resize().
| std::vector<bool> IndepVar |
Definition at line 40 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluateDerivatives(), PolynomialFunctor3D::reset_gamma(), and PolynomialFunctor3D::resize().
| Array<int, 3> index |
Definition at line 39 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::reset_gamma(), and PolynomialFunctor3D::resize().
| std::string iSpecies |
Definition at line 50 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::put().
| int N_ee |
Definition at line 33 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluate(), PolynomialFunctor3D::evaluateDerivatives(), PolynomialFunctor3D::evaluateV(), PolynomialFunctor3D::evaluateVGL(), PolynomialFunctor3D::put(), PolynomialFunctor3D::reset(), PolynomialFunctor3D::reset_gamma(), and PolynomialFunctor3D::resize().
| int N_eI |
Definition at line 33 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluate(), PolynomialFunctor3D::evaluateDerivatives(), PolynomialFunctor3D::evaluateV(), PolynomialFunctor3D::evaluateVGL(), PolynomialFunctor3D::put(), PolynomialFunctor3D::reset(), PolynomialFunctor3D::reset_gamma(), and PolynomialFunctor3D::resize().
| bool notOpt |
Definition at line 55 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::checkInVariablesExclusive(), PolynomialFunctor3D::checkOutVariables(), PolynomialFunctor3D::put(), and PolynomialFunctor3D::resetParametersExclusive().
| int NumConstraints |
Definition at line 44 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::resize().
| int NumGamma |
Definition at line 44 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluateDerivatives(), PolynomialFunctor3D::reset_gamma(), and PolynomialFunctor3D::resize().
| std::vector<std::string> ParameterNames |
Definition at line 49 of file PolynomialFunctor3D.h.
| std::vector<real_type> Parameters |
Definition at line 46 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluateDerivatives(), PolynomialFunctor3D::evaluateDerivativesFD(), PolynomialFunctor3D::getNumParameters(), PolynomialFunctor3D::put(), PolynomialFunctor3D::reset_gamma(), PolynomialFunctor3D::resetParametersExclusive(), and PolynomialFunctor3D::resize().
| int ResetCount |
Definition at line 51 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::resetParametersExclusive().
| real_type scale |
Definition at line 54 of file PolynomialFunctor3D.h.
Referenced by PolynomialFunctor3D::evaluateDerivatives(), and PolynomialFunctor3D::reset_gamma().