\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 5.0.2 - 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...
 

Member Function Documentation

◆ 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.