19 template<
typename Poly,
typename Callback>
20 void single(
const Poly& p, carl::Variable variable, Callback&& cb) {
30 template<
typename Poly,
typename Callback>
31 void paired(
const Poly& p,
const UPoly& q, carl::Variable variable, Callback&& cb) {
32 SMTRAT_LOG_DEBUG(
"smtrat.cad.projection",
"Lazard_paired(" << p <<
", " << q <<
") -> McCallum_paired");
void paired(const Poly &p, const UPoly &q, carl::Variable variable, Callback &&cb)
Implements the part of Lazard projection operator from that deals with two polynomials p and q which...
void single(const Poly &p, carl::Variable variable, Callback &&cb)
Implements the part of Lazards projection operator from that deals with a single polynomial p: .
void paired(const Poly &p, const UPoly &q, carl::Variable variable, Callback &&cb)
Implements the part of McCallums projection operator from that deals with two polynomials p and q: .
void returnPoly(const Poly &p, Callback &&cb)
Poly discriminant(carl::Variable variable, const Poly &p)
Computes the discriminant of a polynomial.
Poly normalize(const Poly &p)
Normalizes the given Poly by removing constant and duplicate factors.
carl::UnivariatePolynomial< Poly > UPoly
Class to create the formulas for axioms.
carl::MultivariatePolynomial< Rational > Poly
#define SMTRAT_LOG_DEBUG(channel, msg)