\( \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 4.3 - Algebraic Kernel

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
AlgebraicKernel_d_1::Solve_1 Concept Reference
Univariate Algebraic Kernel

## 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

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.

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.