CGAL 5.1 - Algebraic Kernel
AlgebraicKernel_d_1 Class Reference

#include <Concepts/AlgebraicKernel_d_1.h>

Definition

A model of the AlgebraicKernel_d_1 concept is meant to provide the algebraic functionalities on univariate polynomials of general degree \( d\).

Refines:

CopyConstructible

Assignable

Has Models:

CGAL::Algebraic_kernel_rs_gmpz_d_1

CGAL::Algebraic_kernel_rs_gmpq_d_1

See also
AlgebraicKernel_d_2

A model of AlgebraicKernel_d_1 must provide:

Classes

class  ApproximateAbsolute_1
 A model of AlgebraicKernel_d_1::ApproximateAbsolute_1 is an AdaptableBinaryFunction that computes an approximation of an AlgebraicKernel_d_1::Algebraic_real_1 value with respect to a given absolute precision. More...
 
class  ApproximateRelative_1
 A model of AlgebraicKernel_d_1::ApproximateRelative_1 is an AdaptableBinaryFunction that computes an approximation of an AlgebraicKernel_d_1::Algebraic_real_1 value with respect to a given relative precision. More...
 
class  BoundBetween_1
 Computes a number of type AlgebraicKernel_d_1::Bound in-between two AlgebraicKernel_d_1::Algebraic_real_1 values. More...
 
class  Compare_1
 Compares AlgebraicKernel_d_1::Algebraic_real_1 values. More...
 
class  ComputePolynomial_1
 Computes a square free univariate polynomial \( p\), such that the given AlgebraicKernel_d_1::Algebraic_real_1 is a root of \( p\). More...
 
class  ConstructAlgebraicReal_1
 Constructs AlgebraicKernel_d_1::Algebraic_real_1. More...
 
class  IsCoprime_1
 Determines whether a given pair of univariate polynomials \( p_1, p_2\) is coprime, namely if \( \deg({\rm gcd}(p_1 ,p_2)) = 0\). More...
 
class  Isolate_1
 Computes an open isolating interval for an AlgebraicKernel_d_1::Algebraic_real_1 with respect to the real roots of a given univariate polynomial. More...
 
class  IsSquareFree_1
 Computes whether the given univariate polynomial is square free. More...
 
class  IsZeroAt_1
 Computes whether an AlgebraicKernel_d_1::Polynomial_1 is zero at a given AlgebraicKernel_d_1::Algebraic_real_1. More...
 
class  MakeCoprime_1
 Computes for a given pair of univariate polynomials \( p_1\), \( p_2\) their common part \( g\) up to a constant factor and coprime parts \( q_1\), \( q_2\) respectively. More...
 
class  MakeSquareFree_1
 Returns a square free part of a univariate polynomial. More...
 
class  NumberOfSolutions_1
 Computes the number of real solutions of the given univariate polynomial. More...
 
class  SignAt_1
 Computes the sign of a univariate polynomial AlgebraicKernel_d_1::Polynomial_1 at a real value of type AlgebraicKernel_d_1::Algebraic_real_1. More...
 
class  Solve_1
 Computes the real roots of a univariate polynomial. More...
 
class  SquareFreeFactorize_1
 Computes a square free factorization of an AlgebraicKernel_d_1::Polynomial_1. More...
 

Types

typedef unspecified_type Coefficient
 A model of IntegralDomain and RealEmbeddable. More...
 
typedef unspecified_type Polynomial_1
 A univariate polynomial that is a model of Polynomial_d, where CGAL::Polynomial_traits_d<Polynomial_1>::Innermost_coefficient_type is AlgebraicKernel_d_1::Coefficient. More...
 
typedef unspecified_type Algebraic_real_1
 A type that is used to represent real roots of univariate polynomials. More...
 
typedef unspecified_type Bound
 A type to represent upper and lower bounds of AlgebraicKernel_d_1::Algebraic_real_1. More...
 
typedef unspecified_type size_type
 Size type (unsigned integral type). More...
 
typedef unspecified_type Multiplicity_type
 Multiplicity type (unsigned integral type). More...
 

Functors

typedef unspecified_type Construct_algebraic_real_1
 A model of AlgebraicKernel_d_1::ConstructAlgebraicReal_1. More...
 
typedef unspecified_type Compute_polynomial_1
 A model of AlgebraicKernel_d_1::ComputePolynomial_1. More...
 
typedef unspecified_type Isolate_1
 A model of AlgebraicKernel_d_1::Isolate_1. More...
 
typedef unspecified_type Is_square_free_1
 A model of AlgebraicKernel_d_1::IsSquareFree_1. More...
 
typedef unspecified_type Make_square_free_1
 A model of AlgebraicKernel_d_1::MakeSquareFree_1. More...
 
typedef unspecified_type Square_free_factorize_1
 A model of AlgebraicKernel_d_1::SquareFreeFactorize_1. More...
 
typedef unspecified_type Is_coprime_1
 A model of AlgebraicKernel_d_1::IsCoprime_1. More...
 
typedef unspecified_type Make_coprime_1
 A model of AlgebraicKernel_d_1::MakeCoprime_1. More...
 
typedef unspecified_type Solve_1
 A model of AlgebraicKernel_d_1::Solve_1. More...
 
typedef unspecified_type Number_of_solutions_1
 A model of AlgebraicKernel_d_1::NumberOfSolutions_1. More...
 
typedef unspecified_type Sign_at_1
 A model of AlgebraicKernel_d_1::SignAt_1. More...
 
typedef unspecified_type Compare_1
 A model of AlgebraicKernel_d_1::Compare_1. More...
 
typedef unspecified_type Bound_between_1
 A model of AlgebraicKernel_d_1::BoundBetween_1. More...
 
typedef unspecified_type Approximate_absolute_1
 A model of AlgebraicKernel_d_1::ApproximateAbsolute_1. More...
 
typedef unspecified_type Approximate_relative_1
 A model of AlgebraicKernel_d_1::ApproximateRelative_1. More...
 

Operations

For each of the function objects above, there must exist a member function that requires no arguments and returns an instance of that function object.

The name of the member function is the uncapitalized name of the type returned with the suffix _object appended. For example, for the function object AlgebraicKernel_d_1::Bound_between_1 the following member function must exist:

AlgebraicKernel_d_1::Bound_between_1 bound_between_1_object () const
 

Member Typedef Documentation

◆ Algebraic_real_1

typedef unspecified_type AlgebraicKernel_d_1::Algebraic_real_1

A type that is used to represent real roots of univariate polynomials.

The type must be a model of DefaultConstructible, CopyConstructible, Assignable and RealEmbeddable.

◆ Approximate_absolute_1

◆ Approximate_relative_1

◆ Bound

typedef unspecified_type AlgebraicKernel_d_1::Bound

A type to represent upper and lower bounds of AlgebraicKernel_d_1::Algebraic_real_1.

The type is ExplicitInteroperable with AlgebraicKernel_d_1::Coefficient and must be a model IntegralDomain, RealEmbeddable and dense in \( \mathbb{R}\).

◆ Bound_between_1

◆ Coefficient

◆ Compare_1

typedef unspecified_type AlgebraicKernel_d_1::Compare_1

◆ Compute_polynomial_1

◆ Construct_algebraic_real_1

◆ Is_coprime_1

◆ Is_square_free_1

◆ Isolate_1

typedef unspecified_type AlgebraicKernel_d_1::Isolate_1

◆ Make_coprime_1

◆ Make_square_free_1

◆ Multiplicity_type

typedef unspecified_type AlgebraicKernel_d_1::Multiplicity_type

Multiplicity type (unsigned integral type).

◆ Number_of_solutions_1

◆ Polynomial_1

◆ Sign_at_1

typedef unspecified_type AlgebraicKernel_d_1::Sign_at_1

◆ size_type

typedef unspecified_type AlgebraicKernel_d_1::size_type

Size type (unsigned integral type).

◆ Solve_1

typedef unspecified_type AlgebraicKernel_d_1::Solve_1

◆ Square_free_factorize_1

Member Function Documentation

◆ bound_between_1_object()

AlgebraicKernel_d_1::Bound_between_1 AlgebraicKernel_d_1::bound_between_1_object ( ) const