A dedicated algorithm for calculating the remainder of a polynomial modulo a set of other polynomials.
More...
#include <Reductor.h>
|
using | Order = typename InputPolynomial::OrderedBy |
|
using | EntryType = typename Configuration< InputPolynomial >::EntryType |
|
using | Coeff = typename InputPolynomial::CoeffType |
|
template<typename InputPolynomial, typename PolynomialInIdeal, template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
class carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >
A dedicated algorithm for calculating the remainder of a polynomial modulo a set of other polynomials.
Definition at line 68 of file Reductor.h.
◆ Coeff
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
using carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::Coeff = typename InputPolynomial::CoeffType |
|
protected |
◆ EntryType
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
◆ Order
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
using carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::Order = typename InputPolynomial::OrderedBy |
|
protected |
◆ Reductor() [1/2]
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::Reductor |
( |
const Ideal< PolynomialInIdeal > & |
ideal, |
|
|
const InputPolynomial & |
f |
|
) |
| |
|
inline |
◆ Reductor() [2/2]
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
◆ ~Reductor()
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
◆ fullReduce()
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
InputPolynomial carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::fullReduce |
( |
| ) |
|
|
inline |
Uses the ideal to reduce a polynomial as far as possible.
- Returns
Definition at line 181 of file Reductor.h.
◆ insert() [1/2]
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
void carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::insert |
( |
const InputPolynomial & |
g, |
|
|
const Term< Coeff > & |
fact |
|
) |
| |
|
inlineprivate |
◆ insert() [2/2]
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
void carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::insert |
( |
const Term< Coeff > & |
g | ) |
|
|
inlineprivate |
◆ reduce()
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
bool carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::reduce |
( |
| ) |
|
|
inline |
The basic reduce routine on a priority queue.
- Returns
Definition at line 105 of file Reductor.h.
◆ reductionOccured()
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
bool carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::reductionOccured |
( |
| ) |
|
|
inline |
Gets the flag which indicates that a reduction has occurred (p -> p' with p' != p)
- Returns
- the value of the flag
Definition at line 172 of file Reductor.h.
◆ updateDatastruct()
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
bool carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::updateDatastruct |
( |
EntryType * |
entry | ) |
|
|
inlineprivate |
A small routine which updates the underlying data structure for the polynomial which is reduced.
- Parameters
-
- Returns
Definition at line 214 of file Reductor.h.
◆ mDatastruct
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
Datastructure<Configuration<InputPolynomial> > carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::mDatastruct |
|
private |
◆ mIdeal
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
const Ideal<PolynomialInIdeal>& carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::mIdeal |
|
private |
◆ mReasons
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
◆ mReductionOccured
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
bool carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::mReductionOccured |
|
private |
◆ mRemainder
template<typename InputPolynomial , typename PolynomialInIdeal , template< class > class Datastructure = carl::Heap, template< typename Polynomial > class Configuration = ReductorConfiguration>
std::vector<Term<Coeff> > carl::Reductor< InputPolynomial, PolynomialInIdeal, Datastructure, Configuration >::mRemainder |
|
private |
The documentation for this class was generated from the following file: