Bertini 2 - C++ Core
Software for Numerical Algebraic Geometry
Loading...
Searching...
No Matches
bertini::node::Symbol Class Reference

Abstract symbol class. More...

#include <symbol.hpp>

Inheritance diagram for bertini::node::Symbol:
[legend]
Collaboration diagram for bertini::node::Symbol:
[legend]

Public Member Functions

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
virtual int Degree (std::shared_ptr< Variable > const &v=nullptr) const =0
 
virtual int Degree (VariableGroup const &vars) const =0
 
virtual std::shared_ptr< Node > Differentiate (std::shared_ptr< Variable > const &v=nullptr) const =0
 Compute the derivative with respect to a single variable.
 
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
 
virtual void Homogenize (VariableGroup const &vars, std::shared_ptr< Variable > const &homvar)=0
 
virtual bool IsHomogeneous (std::shared_ptr< Variable > const &v=nullptr) const =0
 
virtual bool IsHomogeneous (VariableGroup const &vars) const =0
 
bool IsPolynomial (std::shared_ptr< Variable > const &v=nullptr) const
 
bool IsPolynomial (VariableGroup const &v) const
 
virtual std::vector< int > MultiDegree (VariableGroup const &vars) const =0
 
virtual void precision (unsigned int prec) const =0
 
virtual void print (std::ostream &target) const =0
 
virtual unsigned ReduceDepth ()
 A mutating function which finds ways to reduce the depth of the tree.
 
virtual void Reset () const =0
 

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.
 

Detailed Description

Abstract symbol class.

This class is an interface for all non-operators.

Member Function Documentation

◆ EliminateOnes()

unsigned bertini::node::Symbol::EliminateOnes ( )
overridevirtual

A transform function, which eliminates nodes from the tree.

A better implementation of this would use a generic Transform. If you know how to do this, please rewrite the Nodes so they can transform to our whim, and submit a PR.

Returns
The number of nodes eliminated
See also
EliminateZeros

Implements bertini::node::Node.

◆ EliminateZeros()

unsigned bertini::node::Symbol::EliminateZeros ( )
overridevirtual

A transform function, which eliminates nodes from the tree.

A better implementation of this would use a generic Transform. If you know how to do this, please rewrite the Nodes so they can transform to our whim, and submit a PR.

Returns
The number of nodes eliminated
See also
EliminateOnes

Implements bertini::node::Node.


The documentation for this class was generated from the following files: