CGAL 4.14 - Algebraic Kernel
AlgebraicKernel_d_1::Solve_1 Concept Reference

## Definition

Computes the real roots of a univariate polynomial.

Refines:

Assignable

CopyConstructible

## Operations

A model of this type must provide:

template<class OutputIterator >
OutputIterator operator() (AlgebraicKernel_d_1::Polynomial_1 p, OutputIterator res)
Computes all real solutions of $$p$$ with multiplicity, and copies them as objects of type std::pair<AlgebraicKernel_d_1::Algebraic_real_1, AlgebraicKernel_d_1::Multiplicity_type> in res.

template<class OutputIterator >
OutputIterator operator() (AlgebraicKernel_d_1::Polynomial_1 p, bool known_to_be_square_free, OutputIterator res)
Computes all real solutions of $$p$$, and copies them as objects of type AlgebraicKernel_d_1::Algebraic_real_1 in res. More...

template<class OutputIterator >
OutputIterator operator() (AlgebraicKernel_d_1::Polynomial_1 p, AlgebraicKernel_d_1::Bound l, AlgebraicKernel_d_1::Bound u, OutputIterator res)
Computes all real solutions of $$p$$ in the closed interval $$[l,u]$$ with multiplicity, and copies them as objects of type std::pair<AlgebraicKernel_d_1::Algebraic_real_1, AlgebraicKernel_d_1::Multiplicity_type> in res.

template<class OutputIterator >
OutputIterator operator() (AlgebraicKernel_d_1::Polynomial_1 p, bool known_to_be_square_free, AlgebraicKernel_d_1::Bound l, AlgebraicKernel_d_1::Bound u, OutputIterator res)
Computes all real solutions of $$p$$ in the closed interval $$[l,u]$$, and copies them as objects of type AlgebraicKernel_d_1::Algebraic_real_1 in res. More...

## ◆ operator()() [1/2]

template<class OutputIterator >
 OutputIterator AlgebraicKernel_d_1::Solve_1::operator() ( AlgebraicKernel_d_1::Polynomial_1 p, bool known_to_be_square_free, OutputIterator res )

Computes all real solutions of $$p$$, and copies them as objects of type AlgebraicKernel_d_1::Algebraic_real_1 in res.

The bool known_to_be_square_free indicates whether $$p$$ is known to be square free. Each root, though it might be a multiple root, is reported only once.

## ◆ operator()() [2/2]

template<class OutputIterator >
 OutputIterator AlgebraicKernel_d_1::Solve_1::operator() ( AlgebraicKernel_d_1::Polynomial_1 p, bool known_to_be_square_free, AlgebraicKernel_d_1::Bound l, AlgebraicKernel_d_1::Bound u, OutputIterator res )

Computes all real solutions of $$p$$ in the closed interval $$[l,u]$$, and copies them as objects of type AlgebraicKernel_d_1::Algebraic_real_1 in res.

The bool known_to_be_square_free indicates whether $$p$$ is known to be square free. Each root, though it might be a multiple root, is reported only once.