CGAL 4.14 - Algebraic Kernel
CGAL::Algebraic_kernel_d_1< Coeff > Class Template Reference

#include <CGAL/Algebraic_kernel_d_1.h>

## Definition

The class represents an algebraic real root by a square free polynomial and an isolating interval that uniquely defines the root.

The template argument Coeff determines the coefficient type of the kernel, which is also the coefficient type of the supported polynomials.

Currently, the following coefficient types are supported:

• Gmpz, Gmpq, (requires configuration with external libraries GMP, MPFR and MPFI)
• CORE::BigInt, CORE::BigRat, (requires configuration with external library GMP)
• leda_integer, leda_rational. (requires configuration with external library LEDA)

The template argument type can also be set to Sqrt_extension<NT,ROOT>, where NT is one of the types listed above. ROOT should be one of the integer types. See also the documentation of Sqrt_extension<NT,ROOT>.

The current method to isolate roots is the bitstream Descartes method presented in [6]. The used method to refine the approximation of an algebraic real root is a slightly modified (filtered) version of the one presented in [1]. The method has quadratic convergence.

Is Model Of:
AlgebraicKernel_d_1
AlgebraicKernel_d_1
Polynomial_d
CGAL::Algebraic_kernel_d_2<Coeff>
Examples:
Algebraic_kernel_d/Compare_1.cpp, Algebraic_kernel_d/Construct_algebraic_real_1.cpp, Algebraic_kernel_d/Isolate_1.cpp, Algebraic_kernel_d/Sign_at_1.cpp, and Algebraic_kernel_d/Solve_1.cpp.

## Types

typedef unspecified_type Coefficient
Same type as the template argument Coeff.

typedef unspecified_type Polynomial_1
A model of AlgebraicKernel_d_1::Polynomial_1.

typedef unspecified_type Algebraic_real_1
A model of AlgebraicKernel_d_1::Algebraic_real_1.

typedef unspecified_type Bound
The choice of Coeff also determines the provided bound type. More...

typedef unspecified_type Multiplicity_type
The multiplicity type is int.

## ◆ Bound

template<typename Coeff >
 typedef unspecified_type CGAL::Algebraic_kernel_d_1< Coeff >::Bound

The choice of Coeff also determines the provided bound type.

In case of Coeff is:

• Gmpz or Gmpq, this is Gmpq,
• CORE::BigInt or CORE::BigRat, this is CORE::BigRat,
• leda_integer or leda_rational, this is leda_rational.