|
Bertini 2 - C++ Core
Software for Numerical Algebraic Geometry
|
Abstract Number type from which other Numbers derive. More...
#include <number.hpp>
Public Member Functions | |
| int | Degree (std::shared_ptr< Variable > const &v=nullptr) const override |
| Get the degree of this node. | |
| int | Degree (VariableGroup const &vars) const override |
| Get the degree of this node. | |
| std::shared_ptr< Node > | Differentiate (std::shared_ptr< Variable > const &v=nullptr) const override |
| Differentiate a number. | |
| void | Homogenize (VariableGroup const &vars, std::shared_ptr< Variable > const &homvar) override |
| Homogenize this node. | |
| bool | IsHomogeneous (std::shared_ptr< Variable > const &v=nullptr) const override |
| Is this node homogeneous? | |
| bool | IsHomogeneous (VariableGroup const &vars) const override |
| std::vector< int > | MultiDegree (VariableGroup const &vars) const override |
| Get the multidegree of this node. | |
| void | precision (unsigned int prec) const override |
| void | Reset () const override |
Public Member Functions inherited from bertini::node::Symbol | |
| unsigned | EliminateOnes () override |
| A transform function, which eliminates nodes from the tree. | |
| unsigned | EliminateZeros () override |
| A transform function, which eliminates nodes from the tree. | |
Public Member Functions inherited from bertini::node::Node | |
| template<typename T> | |
| T | Eval (std::shared_ptr< Variable > const &diff_variable=nullptr) const |
| template<typename T> | |
| void | EvalInPlace (T &eval_value, std::shared_ptr< Variable > const &diff_variable=nullptr) const |
| bool | IsPolynomial (std::shared_ptr< Variable > const &v=nullptr) const |
| bool | IsPolynomial (VariableGroup const &v) const |
| virtual void | print (std::ostream &target) const =0 |
| virtual unsigned | ReduceDepth () |
| A mutating function which finds ways to reduce the depth of the tree. | |
Additional Inherited Members | |
Protected Member Functions inherited from bertini::node::Node | |
| virtual void | FreshEval_d (dbl &evaluation_value, std::shared_ptr< Variable > const &) const =0 |
| virtual dbl | FreshEval_d (std::shared_ptr< Variable > const &) const =0 |
| virtual void | FreshEval_mp (mpfr_complex &evaluation_value, std::shared_ptr< Variable > const &) const =0 |
| virtual mpfr_complex | FreshEval_mp (std::shared_ptr< Variable > const &) const =0 |
| void | ResetStoredValues () const |
Static Protected Member Functions inherited from bertini::VisitableBase< RetT, CatchAll > | |
| template<typename T> | |
| static VisitReturnType | AcceptBase (T &visited, VisitorBase &guest) |
| Abstract method for how to accept a visitor. | |
Abstract Number type from which other Numbers derive.
This class represents constant leaves to a function tree. FreshEval simply returns the value of the constant.
|
inlineoverridevirtual |
Get the degree of this node.
The degree of a number is always 0. It's a number.
Implements bertini::node::Node.
|
inlineoverridevirtual |
Get the degree of this node.
The degree of a number is always 0. It's a number.
Implements bertini::node::Node.
|
overridevirtual |
Differentiate a number.
Implements bertini::node::Node.
|
inlineoverridevirtual |
Homogenize this node.
Homogenization of a number is a trivial operation. Don't do anything.
Implements bertini::node::Node.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Check for homogeneity, with respect to a variable group.
Implements bertini::node::Node.
|
inlineoverridevirtual |
Get the multidegree of this node.
The degree of a number is always 0. It's a number.
Implements bertini::node::Node.
|
overridevirtual |
Change the precision of this variable-precision tree node.
| prec | the number of digits to change precision to. |
Implements bertini::node::Node.
|
overridevirtual |
Tells code to run a fresh eval on node next time.
Implements bertini::node::Node.