|
CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <PolynomialFunction.hh>
Inheritance diagram for CASM::PolynomialFunction:Definition at line 22 of file PolynomialFunction.hh.
Public Member Functions | |
| PolynomialFunction () | |
| PolynomialFunction (const std::vector< std::shared_ptr< BasisSet > > &_args) | |
| PolynomialFunction (const std::vector< std::shared_ptr< BasisSet > > &_args, const PolyTrie< double > &_coeffs) | |
| PolynomialFunction (const PolynomialFunction &RHS) | |
| PolynomialFunction (const PolynomialFunction &RHS, const PolyTrie< double > &_coeffs) | |
| PolynomialFunction (const PolynomialFunction &LHS, const PolynomialFunction &RHS) | |
| SparseTensor< double > const * | get_coeffs () const override |
| const PolyTrie< double > & | poly_coeffs () const |
| std::string | type_name () const override |
| Function * | copy () const override |
| Function * | copy (const PolyTrie< double > &new_coeffs) const |
| bool | depends_on (const Function *test_func) const override |
| bool | is_zero () const override |
| void | small_to_zero (double tol=TOL) override |
| Index | num_terms () const override |
| double | leading_coefficient () const override |
| double | leading_coefficient (Index &index) const override |
| double | get_coefficient (Index i) const override |
| void | make_formula () const override |
| void | make_formula (double prefactor) const |
| std::set< Index > | dof_IDs () const override |
| int | class_ID () const override |
| Function * | transform_monomial_and_add_new (double prefactor, const Array< Index > &ind, const SymOp &op, const std::vector< bool > &transform_flags) |
| Function * | transform_monomial_and_add (double prefactor, const Array< Index > &ind, const SymOp &op) |
| void | scale (double scale_factor) override |
| double | frobenius_scalar_prod (const PolynomialFunction &RHS) const |
| double | box_integral_scalar_prod (const PolynomialFunction &RHS, double edge_length) const |
| double | gaussian_integral_scalar_prod (const PolynomialFunction &RHS, double std_dev) const |
| bool | compare (const PolynomialFunction *RHS) const |
| bool | prune_zeros () |
| Function * | plus_equals (const PolynomialFunction *RHS) |
| Function * | minus_equals (const PolynomialFunction *RHS) |
| double | remote_eval () const override |
| double | remote_deval (const DoF::RemoteHandle &dvar) const override |
| double | cache_eval () const override |
| double | cache_deval (const DoF::RemoteHandle &dvar) const override |
| Function * | apply_sym_coeffs (const SymOp &op, int dependency_layer) override |
| Function * | poly_quotient (const Variable *RHS) const |
| Function * | poly_remainder (const Variable *RHS) const |
| Function * | poly_quotient (const OccupantFunction *RHS) const |
| Function * | poly_remainder (const OccupantFunction *RHS) const |
| void | refresh_ID () |
| Index | ID () const |
| Index | num_args () const |
| void | set_identifier (char _key, std::string const &_value) |
| std::string | identifier (char _key) const |
| std::string | formula () const |
| std::string | tex_formula () const |
| void | print (std::ostream &stream) const |
| void | print_tex (std::ostream &stream) const |
| void | set_formula (const std::string &new_formula) |
| void | set_tex_formula (const std::string &new_formula) |
| void | clear_formula () |
| bool | accept (const FunctionVisitor &visitor, BasisSet const *home_basis_ptr=nullptr) |
| bool | accept (const FunctionVisitor &visitor, BasisSet const *home_basis_ptr=nullptr) const |
| virtual Eigen::VectorXd const * | get_eigen_coeffs () const |
| virtual int | register_remotes (const std::vector< DoF::RemoteHandle > &remote_handles) |
| bool | update_dof_IDs (const std::vector< Index > &before_IDs, const std::vector< Index > &after_IDs) |
| Function * | sym_copy_coeffs (const SymOp &op, int dependency_layer=1) const |
| void | normalize () |
| double | dot (Function const *RHS) const |
| bool | shallow_compare (Function const *RHS) const |
| bool | compare (Function const *RHS) const |
| Function * | minus (Function const *RHS) const |
| Function * | plus (Function const *RHS) const |
| Function * | multiply (Function const *RHS) const |
| Function * | poly_quotient (Function const *RHS) const |
| Function * | poly_remainder (Function const *RHS) const |
| Function * | minus_in_place (Function const *RHS) |
| Function * | plus_in_place (Function const *RHS) |
| void | set_arguments (const ArgumentContainer &new_arg) |
| change arguments of this function More... | |
| void | set_arguments (const ArgumentContainer &new_arg, std::vector< Index > const &compatibility_map) |
| change arguments, allowing for new_arg to be larger than current argument list [or permuted (not yet implemented)] More... | |
| const ArgumentContainer & | argument_bases () const |
| virtual jsonParser & | to_json (jsonParser &json) const |
Static Public Member Functions | |
| static void | fill_dispatch_table () |
| static int | sclass_ID () |
Protected Types | |
| typedef std::vector< std::shared_ptr< BasisSet > > | ArgumentContainer |
Protected Member Functions | |
| void | _set_arguments (const ArgumentContainer &new_arg, std::vector< Index > const &compatibility_map) override |
| Function * | _apply_sym (const SymOp &op) override |
| Function * | _apply_sym (const SymOp &op, const std::vector< bool > &transform_flags) |
| bool | _accept (const FunctionVisitor &visitor, BasisSet const *home_basis_ptr=NULL) override |
| bool | _accept (const FunctionVisitor &visitor, BasisSet const *home_basis_ptr=NULL) const override |
| ReturnArray< SymGroupRepID > | _sub_sym_reps () const |
| Function const * | _argument (Index i) const |
| double | _arg_eval_cache (Index i) const |
| double | _arg_deval_cache (Index i) const |
| int | _dependency_layer () const |
| virtual bool | _update_dof_IDs (const std::vector< Index > &before_IDs, const std::vector< Index > &after_IDs) |
Static Protected Member Functions | |
| static void | extend_hierarchy () |
| static int | new_class_ID () |
| static int | get_class_ID () |
| static int | new_class_ID () |
Protected Attributes | |
| PolyTrie< double > | m_coeffs |
| Index | func_ID |
| ArgumentContainer | m_argument |
| Array< Index > | m_arg2sub |
| Array< Index > | m_arg2fun |
| std::string | m_formula |
| std::string | m_tex_formula |
Static Protected Attributes | |
| static Array< Array< InnerProduct * > > | inner_prod_table |
| static Array< Array< FunctionOperation * > > | operation_table |
Private Attributes | |
| std::map< char, std::string > | m_identifiers |
Static Private Attributes | |
| static Index | ID_count |
|
protectedinherited |
Definition at line 43 of file BasisFunction.hh.
|
inline |
Definition at line 25 of file PolynomialFunction.hh.
| CASM::PolynomialFunction::PolynomialFunction | ( | const std::vector< std::shared_ptr< BasisSet > > & | _args | ) |
Definition at line 14 of file PolynomialFunction.cc.
| CASM::PolynomialFunction::PolynomialFunction | ( | const std::vector< std::shared_ptr< BasisSet > > & | _args, |
| const PolyTrie< double > & | _coeffs | ||
| ) |
Definition at line 40 of file PolynomialFunction.cc.
| CASM::PolynomialFunction::PolynomialFunction | ( | const PolynomialFunction & | RHS | ) |
Definition at line 140 of file PolynomialFunction.cc.
| CASM::PolynomialFunction::PolynomialFunction | ( | const PolynomialFunction & | RHS, |
| const PolyTrie< double > & | _coeffs | ||
| ) |
Definition at line 145 of file PolynomialFunction.cc.
| CASM::PolynomialFunction::PolynomialFunction | ( | const PolynomialFunction & | LHS, |
| const PolynomialFunction & | RHS | ||
| ) |
Definition at line 72 of file PolynomialFunction.cc.
|
overrideprotectedvirtual |
Implements CASM::Function.
Definition at line 178 of file PolynomialFunction.cc.
|
overrideprotectedvirtual |
Implements CASM::Function.
Definition at line 171 of file PolynomialFunction.cc.
Implements CASM::Function.
Definition at line 480 of file PolynomialFunction.cc.
|
protected |
Definition at line 499 of file PolynomialFunction.cc.
|
protectedinherited |
Definition at line 150 of file BasisFunction.cc.
|
protectedinherited |
Definition at line 144 of file BasisFunction.cc.
Definition at line 138 of file BasisFunction.cc.
|
protectedinherited |
Definition at line 156 of file BasisFunction.cc.
|
overrideprotectedvirtual |
Reimplemented from CASM::Function.
Definition at line 440 of file PolynomialFunction.cc.
|
protectedinherited |
Definition at line 128 of file BasisFunction.cc.
|
inlineprotectedvirtualinherited |
Reimplemented in CASM::Variable, and CASM::OccupantFunction.
Definition at line 257 of file BasisFunction.hh.
|
inherited |
Definition at line 171 of file BasisFunction.cc.
|
inherited |
Definition at line 189 of file BasisFunction.cc.
|
overridevirtual |
Reimplemented from CASM::Function.
Definition at line 995 of file PolynomialFunction.cc.
|
inlineinherited |
Definition at line 170 of file BasisFunction.hh.
| double CASM::PolynomialFunction::box_integral_scalar_prod | ( | const PolynomialFunction & | RHS, |
| double | edge_length | ||
| ) | const |
Definition at line 918 of file PolynomialFunction.cc.
|
overridevirtual |
Implements CASM::Function.
Definition at line 839 of file PolynomialFunction.cc.
|
overridevirtual |
Implements CASM::Function.
Definition at line 819 of file PolynomialFunction.cc.
|
inlineoverridevirtual |
Implements CASM::Function.
Definition at line 63 of file PolynomialFunction.hh.
|
inlineinherited |
Definition at line 76 of file BasisFunction.hh.
| bool CASM::PolynomialFunction::compare | ( | const PolynomialFunction * | RHS | ) | const |
Definition at line 976 of file PolynomialFunction.cc.
|
inherited |
Definition at line 52 of file BasisFunction.cc.
|
overridevirtual |
Implements CASM::Function.
Definition at line 159 of file PolynomialFunction.cc.
Definition at line 165 of file PolynomialFunction.cc.
|
overridevirtual |
Reimplemented from CASM::Function.
Definition at line 185 of file PolynomialFunction.cc.
Implements CASM::Function.
Definition at line 373 of file PolynomialFunction.cc.
|
inherited |
Definition at line 28 of file BasisFunction.cc.
|
inlinestaticprotectedinherited |
Definition at line 182 of file BasisFunction.hh.
|
static |
Definition at line 399 of file PolynomialFunction.cc.
|
inherited |
Definition at line 281 of file BasisFunction.cc.
| double CASM::PolynomialFunction::frobenius_scalar_prod | ( | const PolynomialFunction & | RHS | ) | const |
Definition at line 879 of file PolynomialFunction.cc.
| double CASM::PolynomialFunction::gaussian_integral_scalar_prod | ( | const PolynomialFunction & | RHS, |
| double | std_dev | ||
| ) | const |
|
inlinestaticprotectedinherited |
Definition at line 30 of file HierarchyID.hh.
|
overridevirtual |
Implements CASM::Function.
Definition at line 251 of file PolynomialFunction.cc.
|
overridevirtual |
Reimplemented from CASM::Function.
Definition at line 425 of file PolynomialFunction.cc.
|
inlinevirtualinherited |
Reimplemented in CASM::OccupantFunction.
Definition at line 113 of file BasisFunction.hh.
|
inlineinherited |
Definition at line 55 of file BasisFunction.hh.
|
inherited |
Definition at line 273 of file BasisFunction.cc.
|
overridevirtual |
Implements CASM::Function.
Definition at line 205 of file PolynomialFunction.cc.
|
overridevirtual |
Implements CASM::Function.
Definition at line 232 of file PolynomialFunction.cc.
|
overridevirtual |
Implements CASM::Function.
Definition at line 239 of file PolynomialFunction.cc.
|
overridevirtual |
Implements CASM::Function.
Definition at line 266 of file PolynomialFunction.cc.
| void CASM::PolynomialFunction::make_formula | ( | double | prefactor | ) | const |
Definition at line 72 of file BasisFunction.cc.
| Function * CASM::PolynomialFunction::minus_equals | ( | const PolynomialFunction * | RHS | ) |
Definition at line 970 of file PolynomialFunction.cc.
Definition at line 104 of file BasisFunction.cc.
Definition at line 90 of file BasisFunction.cc.
|
inlinestaticprotectedinherited |
Definition at line 16 of file HierarchyID.hh.
|
inlinestaticprotectedinherited |
Definition at line 16 of file HierarchyID.hh.
|
inherited |
Definition at line 33 of file BasisFunction.cc.
|
inlineinherited |
Definition at line 57 of file BasisFunction.hh.
|
overridevirtual |
Implements CASM::Function.
Definition at line 221 of file PolynomialFunction.cc.
Definition at line 67 of file BasisFunction.cc.
| Function * CASM::PolynomialFunction::plus_equals | ( | const PolynomialFunction * | RHS | ) |
Definition at line 989 of file PolynomialFunction.cc.
Definition at line 96 of file BasisFunction.cc.
|
inline |
Definition at line 41 of file PolynomialFunction.hh.
| Function * CASM::PolynomialFunction::poly_quotient | ( | const OccupantFunction * | RHS | ) | const |
Definition at line 1062 of file PolynomialFunction.cc.
Definition at line 1009 of file PolynomialFunction.cc.
Definition at line 78 of file BasisFunction.cc.
| Function * CASM::PolynomialFunction::poly_remainder | ( | const OccupantFunction * | RHS | ) | const |
Definition at line 1090 of file PolynomialFunction.cc.
Definition at line 1038 of file PolynomialFunction.cc.
Definition at line 84 of file BasisFunction.cc.
|
inherited |
Definition at line 211 of file BasisFunction.cc.
|
inherited |
Definition at line 220 of file BasisFunction.cc.
| bool CASM::PolynomialFunction::prune_zeros | ( | ) |
Definition at line 987 of file PolynomialFunction.cc.
|
inherited |
Definition at line 207 of file BasisFunction.cc.
|
virtualinherited |
Reimplemented in CASM::Variable, and CASM::OccupantFunction.
Definition at line 238 of file BasisFunction.cc.
|
overridevirtual |
Implements CASM::Function.
Definition at line 779 of file PolynomialFunction.cc.
|
overridevirtual |
Implements CASM::Function.
Definition at line 755 of file PolynomialFunction.cc.
|
overridevirtual |
Implements CASM::Function.
Definition at line 431 of file PolynomialFunction.cc.
|
inlinestatic |
Definition at line 66 of file PolynomialFunction.hh.
|
inlineinherited |
change arguments of this function
Definition at line 161 of file BasisFunction.hh.
|
inherited |
change arguments, allowing for new_arg to be larger than current argument list [or permuted (not yet implemented)]
| compatibility_map | specifies which elements of |
| new_arg | are compatible with urrent argument list (e.g., [2, 3]) |
Definition at line 113 of file BasisFunction.cc.
|
inlineinherited |
Definition at line 69 of file BasisFunction.hh.
|
inherited |
Definition at line 268 of file BasisFunction.cc.
|
inlineinherited |
Definition at line 73 of file BasisFunction.hh.
|
inherited |
Definition at line 45 of file BasisFunction.cc.
|
overridevirtual |
Implements CASM::Function.
Definition at line 216 of file PolynomialFunction.cc.
|
inherited |
Definition at line 230 of file BasisFunction.cc.
|
inherited |
Definition at line 291 of file BasisFunction.cc.
|
virtualinherited |
Reimplemented in CASM::Variable, and CASM::OccupantFunction.
Definition at line 387 of file BasisFunction.cc.
| Function * CASM::PolynomialFunction::transform_monomial_and_add | ( | double | prefactor, |
| const Array< Index > & | ind, | ||
| const SymOp & | op | ||
| ) |
Definition at line 520 of file PolynomialFunction.cc.
| Function * CASM::PolynomialFunction::transform_monomial_and_add_new | ( | double | prefactor, |
| const Array< Index > & | ind, | ||
| const SymOp & | op, | ||
| const std::vector< bool > & | transform_flags | ||
| ) |
Definition at line 651 of file PolynomialFunction.cc.
|
inlineoverridevirtual |
Implements CASM::Function.
Definition at line 43 of file PolynomialFunction.hh.
|
inherited |
Definition at line 250 of file BasisFunction.cc.
|
protectedinherited |
Definition at line 194 of file BasisFunction.hh.
|
staticprivateinherited |
Definition at line 266 of file BasisFunction.hh.
|
staticprotectedinherited |
Definition at line 177 of file BasisFunction.hh.
Definition at line 219 of file BasisFunction.hh.
m_label_format sets the label format used to generate a label string for a Function object. It is specified as a string of the form (substr1 + "%a" + substr2 + "%b" + substr3 + ... ), where "%a" and "%b" are flags that specify object-specific values. The following flags are allowed:
Definition at line 218 of file BasisFunction.hh.
|
protectedinherited |
Definition at line 196 of file BasisFunction.hh.
|
protected |
Definition at line 127 of file PolynomialFunction.hh.
|
mutableprotectedinherited |
Definition at line 221 of file BasisFunction.hh.
|
privateinherited |
Definition at line 268 of file BasisFunction.hh.
|
protectedinherited |
Definition at line 221 of file BasisFunction.hh.
|
staticprotectedinherited |
Definition at line 178 of file BasisFunction.hh.