Represents the differential of a single linear.
More...
#include <linear_product.hpp>
|
| int | Degree (std::shared_ptr< Variable > const &v=nullptr) const override |
| | Computes the degree for a particular variable. If that variable is part of the linear product, the degree is equal to the number of factors.
|
| |
| int | Degree (VariableGroup const &vars) const override |
| | Computer the degree for a particular group of variables. If one of the variables is a part of the linear product, the degree is equal to the number of factors.
|
| |
| std::shared_ptr< Node > | Differentiate (std::shared_ptr< Variable > const &v=nullptr) const override |
| |
| void | Homogenize (VariableGroup const &vars, std::shared_ptr< Variable > const &homvar) override |
| | Homogenize a sum, with respect to a variable group, and using a homogenizing variable.
|
| |
| bool | IsHomogeneous (std::shared_ptr< Variable > const &v=nullptr) const override |
| |
| bool | IsHomogeneous (VariableGroup const &vars) const override |
| | Check for homogeneity, with respect to a variable group. If vars is the same variable group as the one used to create the linear product, and it has been homogenized, then return true.
|
| |
| std::vector< int > | MultiDegree (VariableGroup const &vars) const override |
| | Compute the multidegree with respect to a variable group. This is for homogenization, and testing for homogeneity.
|
| |
| virtual void | precision (unsigned int prec) const override |
| |
| void | print (std::ostream &target) const override |
| |
| void | Reset () const override |
| | Reset variable values in this node.
|
| |
| unsigned | EliminateOnes () override |
| | A transform function, which eliminates nodes from the tree.
|
| |
| unsigned | EliminateZeros () override |
| | A transform function, which eliminates nodes from the tree.
|
| |
| 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 unsigned | ReduceDepth () |
| | A mutating function which finds ways to reduce the depth of the tree.
|
| |
|
| void | FreshEval_d (dbl &evaluation_value, std::shared_ptr< Variable > const &diff_variable) const override |
| | Evaluation of linear product node IN PLACE. Returns evaluation value.
|
| |
| dbl | FreshEval_d (std::shared_ptr< Variable > const &diff_variable) const override |
| | Evaluation of linear product node. Returns evaluation value.
|
| |
| void | FreshEval_mp (mpfr_complex &evaluation_value, std::shared_ptr< Variable > const &diff_variable) const override |
| | Evaluation of linear product node IN PLACE. Returns evaluation value.
|
| |
| mpfr_complex | FreshEval_mp (std::shared_ptr< Variable > const &diff_variable) const override |
| | Evaluation of linear product node. Returns evaluation value.
|
| |
| void | ResetStoredValues () const |
| |
|
| template<typename T> |
| static VisitReturnType | AcceptBase (T &visited, VisitorBase &guest) |
| | Abstract method for how to accept a visitor.
|
| |
Represents the differential of a single linear.
This class represents a linear of differentials. This is the result of differentiating a single linear node.
◆ Degree() [1/2]
| int bertini::node::DiffLinear::Degree |
( |
std::shared_ptr< Variable > const & | v = nullptr | ) |
const |
|
inlineoverridevirtual |
Computes the degree for a particular variable. If that variable is part of the linear product, the degree is equal to the number of factors.
- Parameters
-
| v | The variable we are determining the degree with respect to. |
- Returns
- Degree of polynomial with respect to variable v.
Implements bertini::node::Node.
◆ Degree() [2/2]
| int bertini::node::DiffLinear::Degree |
( |
VariableGroup const & | vars | ) |
const |
|
inlineoverridevirtual |
Computer the degree for a particular group of variables. If one of the variables is a part of the linear product, the degree is equal to the number of factors.
- Parameters
-
| vars | The group of variables we are determing the degree with respect to. |
- Returns
- Degree of polynomial with respect to variable group.
Implements bertini::node::Node.
◆ Differentiate()
| std::shared_ptr< Node > bertini::node::DiffLinear::Differentiate |
( |
std::shared_ptr< Variable > const & | v = nullptr | ) |
const |
|
inlineoverridevirtual |
◆ FreshEval_d() [1/2]
| void bertini::node::DiffLinear::FreshEval_d |
( |
dbl & | evaluation_value, |
|
|
std::shared_ptr< Variable > const & | diff_variable ) const |
|
inlineoverrideprotectedvirtual |
Evaluation of linear product node IN PLACE. Returns evaluation value.
- Parameters
-
| evaluation_value | The in place variable that stores the evaluation. |
| diff_variable | Variable that we are differentiating with respect to. Only for evaluating Jacobians. |
Implements bertini::node::Node.
◆ FreshEval_d() [2/2]
| dbl bertini::node::DiffLinear::FreshEval_d |
( |
std::shared_ptr< Variable > const & | diff_variable | ) |
const |
|
inlineoverrideprotectedvirtual |
Evaluation of linear product node. Returns evaluation value.
- Parameters
-
| diff_variable | Variable that we are differentiating with respect to. Only for evaluating Jacobians. |
Implements bertini::node::Node.
◆ FreshEval_mp() [1/2]
| void bertini::node::DiffLinear::FreshEval_mp |
( |
mpfr_complex & | evaluation_value, |
|
|
std::shared_ptr< Variable > const & | diff_variable ) const |
|
inlineoverrideprotectedvirtual |
Evaluation of linear product node IN PLACE. Returns evaluation value.
- Parameters
-
| evaluation_value | The in place variable that stores the evaluation. |
| diff_variable | Variable that we are differentiating with respect to. Only for evaluating Jacobians. |
Implements bertini::node::Node.
◆ FreshEval_mp() [2/2]
| mpfr_complex bertini::node::DiffLinear::FreshEval_mp |
( |
std::shared_ptr< Variable > const & | diff_variable | ) |
const |
|
inlineoverrideprotectedvirtual |
Evaluation of linear product node. Returns evaluation value.
- Parameters
-
| diff_variable | Variable that we are differentiating with respect to. Only for evaluating Jacobians. |
Implements bertini::node::Node.
◆ Homogenize()
| void bertini::node::DiffLinear::Homogenize |
( |
VariableGroup const & | vars, |
|
|
std::shared_ptr< Variable > const & | homvar ) |
|
inlineoverridevirtual |
Homogenize a sum, with respect to a variable group, and using a homogenizing variable.
- Parameters
-
| vars | Variable group to homogenize with respect to. |
| homvar | Homogenization variable. |
Implements bertini::node::Node.
◆ IsHomogeneous() [1/2]
| bool bertini::node::DiffLinear::IsHomogeneous |
( |
std::shared_ptr< Variable > const & | v = nullptr | ) |
const |
|
inlineoverridevirtual |
Check for homogeneity, absolutely with respect to all variables, including path variables and all other variable types, or with respect to a single varaible, if passed.
- Returns
- True if it is homogeneous, false if not.
Implements bertini::node::Node.
◆ IsHomogeneous() [2/2]
| bool bertini::node::DiffLinear::IsHomogeneous |
( |
VariableGroup const & | vars | ) |
const |
|
inlineoverridevirtual |
Check for homogeneity, with respect to a variable group. If vars is the same variable group as the one used to create the linear product, and it has been homogenized, then return true.
- Parameters
-
| vars | Variable group to check if homogenous with respect to. |
- Returns
- boolean.
Implements bertini::node::Node.
◆ MultiDegree()
| std::vector< int > bertini::node::DiffLinear::MultiDegree |
( |
VariableGroup const & | vars | ) |
const |
|
inlineoverridevirtual |
Compute the multidegree with respect to a variable group. This is for homogenization, and testing for homogeneity.
- Parameters
-
| vars | The variable group computing degree with respect to. |
- Returns
- Multidegree vector of polynomial with repect to variable group.
Implements bertini::node::Node.
◆ precision()
| virtual void bertini::node::DiffLinear::precision |
( |
unsigned int | prec | ) |
const |
|
inlineoverridevirtual |
Change the precision of this variable-precision tree node.
- Parameters
-
| prec | the number of digits to change precision to. |
Implements bertini::node::Node.
◆ print()
| void bertini::node::DiffLinear::print |
( |
std::ostream & | target | ) |
const |
|
overridevirtual |
◆ Reset()
| void bertini::node::DiffLinear::Reset |
( |
| ) |
const |
|
inlineoverridevirtual |
The documentation for this class was generated from the following files: