carl  24.04
Computer ARithmetic Library
carl::VarSolutionFormula< Polynomial > Class Template Reference

#include <Contraction.h>

Collaboration diagram for carl::VarSolutionFormula< Polynomial >:

Public Member Functions

 VarSolutionFormula ()=delete
 
 VarSolutionFormula (const Polynomial &p, Variable::Arg x)
 Constructs the solution formula for the given variable x in the equation p = 0, where p is the given polynomial. More...
 
void addRoot (const Interval< double > &_interv, const Interval< double > &_varInterval, std::vector< Interval< double >> &_result) const
 
std::vector< Interval< double > > evaluate (const Interval< double >::evalintervalmap &intervals) const
 Evaluates this solution formula for the given mapping of the variables occurring in the solution formula to double intervals. More...
 

Private Attributes

Variable mVar
 The variable, for which to solve. More...
 
uint mRoot
 Stores n, if the nth root has to be taken of mNumerator/mDenominator. More...
 
Polynomial mNumerator
 Stores the numerator. More...
 
std::shared_ptr< const typename Polynomial::MonomType > mDenominator
 Stores the denominator, which is one, if mDenominator == nullptr. More...
 

Detailed Description

template<typename Polynomial>
class carl::VarSolutionFormula< Polynomial >

Definition at line 22 of file Contraction.h.

Constructor & Destructor Documentation

◆ VarSolutionFormula() [1/2]

template<typename Polynomial >
carl::VarSolutionFormula< Polynomial >::VarSolutionFormula ( )
delete

◆ VarSolutionFormula() [2/2]

template<typename Polynomial >
carl::VarSolutionFormula< Polynomial >::VarSolutionFormula ( const Polynomial &  p,
Variable::Arg  x 
)
inline

Constructs the solution formula for the given variable x in the equation p = 0, where p is the given polynomial.

The polynomial p must have one of the following forms: 1.) ax+h, with a being a rational number and h a linear polynomial not containing x and not having a constant part 2.) x^i*m-y, with i being a positive integer, m being a monomial not containing x and y being a variable different from x

Parameters
pThe polynomial containing the given variable to construct a solution formula for.
xThe variable to construct a solution formula for.

Definition at line 48 of file Contraction.h.

Here is the call graph for this function:

Member Function Documentation

◆ addRoot()

template<typename Polynomial >
void carl::VarSolutionFormula< Polynomial >::addRoot ( const Interval< double > &  _interv,
const Interval< double > &  _varInterval,
std::vector< Interval< double >> &  _result 
) const
inline

Definition at line 144 of file Contraction.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ evaluate()

template<typename Polynomial >
std::vector<Interval<double> > carl::VarSolutionFormula< Polynomial >::evaluate ( const Interval< double >::evalintervalmap &  intervals) const
inline

Evaluates this solution formula for the given mapping of the variables occurring in the solution formula to double intervals.

Parameters
intervalsThe mapping of the variables occurring in the solution formula to double intervals
resAThe first interval of the result.
resBThe second interval of the result.
Returns
true, if the second interval is not empty. (the first interval must then be also nonempty)

Definition at line 196 of file Contraction.h.

Here is the call graph for this function:

Field Documentation

◆ mDenominator

template<typename Polynomial >
std::shared_ptr<const typename Polynomial::MonomType> carl::VarSolutionFormula< Polynomial >::mDenominator
private

Stores the denominator, which is one, if mDenominator == nullptr.

Definition at line 32 of file Contraction.h.

◆ mNumerator

template<typename Polynomial >
Polynomial carl::VarSolutionFormula< Polynomial >::mNumerator
private

Stores the numerator.

Definition at line 30 of file Contraction.h.

◆ mRoot

template<typename Polynomial >
uint carl::VarSolutionFormula< Polynomial >::mRoot
private

Stores n, if the nth root has to be taken of mNumerator/mDenominator.

Definition at line 28 of file Contraction.h.

◆ mVar

template<typename Polynomial >
Variable carl::VarSolutionFormula< Polynomial >::mVar
private

The variable, for which to solve.

Definition at line 26 of file Contraction.h.


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