• Aucun résultat trouvé

Effective Real Numbers

Dans le document Mathematics and Visualization (Page 134-137)

In this section, we will consider a special type of real numbers, which we call effective real numbers. We will be able to manipulate them effectively in geometric computations, because the following methods are available:

an algorithm which computes a numerical approximation of them to any precision.

an algorithm which compares them in an exact way.

We will see that working in this sub-class of real numbers, is enough to tackle the geometric problems that we want to solve. Namely, we are interested by computing intersection points of curves, arrangements of pieces of algebraic curves and surfaces, . . . This leads to the resolution of polynomial equations.

Here are some notations. A polynomial over a ringL of coefficients is an expression of the form

f(x) =anxn+· · ·+a1x+a0

where thecoefficientsan = 0, an−1, . . . , a1, a0 are elements ofLand the vari-able xmay be regarded as a formal symbol with an indeterminate meaning.

The greatest power ofxappeared inf (with an non zero coefficient) is called thedegreeoff, (nin our case sincean= 0). It is denoted deg(f). The degree of the zero polynomial is equal to−∞. The coefficientan is called theleading coefficient, and denoted ldcf(f). The ring of polynomials with coefficient in L, is denotedL[x].

We call a polynomialg∈L[x] afactoroff if there exists another polyno-mial g∈L[x] with f =g·h. In particular, iff = 0, then every g∈L[x] is a factor off.

In the following, we will consider polynomials with coefficient in a unitary ringL. For instance, we can imageL=Z. We denote byKa field containing L. In the following, we work most of the time with K the field of rational numbers or its algebraic closure (that is the smallest field containing all the roots of polynomials with rational coefficients). In some cases, the problem may depend on parametersu1, . . . , un and so in theses cases the fieldKwill be the fraction fieldK=Q(u1, . . . , un). The algebraic closure of the fieldK is denoted K. (so image K=C).

3.3.1 Algebraic Numbers

We recall here the basic definitions on algebraic numbers. Analgebraic number over the fieldKis a root of a polynomialp(x) with coefficients inK(p(x) K[x]). An algebraic integer over the ring L is a root of a polynomial with coefficients inL, where the leading coefficient is 1.

Letαbe an algebraic number overKandp(x)∈K[x] be a polynomial of degreedwithp(α) = 0. Ifp(x) is irreducible over K(it cannot be written in K[x] as the product of two polynomials which are both different from 1), it is called theminimal polynomialofα. The other rootsα2, . . . , αdof the minimal polynomial inKare theconjugatesofα. Thedegree of the algebraic number αis the degree of the minimal polynomial defining α. Letα1 =α, then the

αare algebraic numbers over K. If α, βare algebraic integers over L, then α±β, α·β and k

αare algebraic integers over L.

For instance, γ = 7 is an algebraic integer over Qsince it is the root of x−7 = 0. Moreover,α=

2 (resp.β =

3) is an algebraic integer over Q, since it is the positive root of the (minimal) polynomialx22, (resp.x23) and α+β is a root of (x25)224 = x410x2 + 1 = 0. We observe in the last example, that the degree of the minimal polynomial of α+β is bounded by the product of the degrees of the minimal polynomials ofαand β. This is a general result, which we deduce from the resultant properties (see

Section 3.4.1 and [236]). The same result is valid for the operations−,×, /on these algebraic numbers.

Letp(x) be a polynomial with algebraic number as coefficients. Then the roots of p(x) are algebraic numbers. If the coefficients of p(x) are algebraic integers and the leading coefficient of p(x) is 1, then the roots of p(x) are algebraic integers.

We describe now two important methods to represent real algebraic num-bers.

3.3.2 Isolating Interval Representation of Real Algebraic Numbers A natural way to encode arealalgebraic numberαoverQis by using

a polynomialp(x) ofQ[x], which vanishes atα, and

anisolating interval [a, b] containing α such that a, b Q and p(x) has exactly one real root in [a, b].

This representation is not unique, since the size of the interval [a, b] can reduce to any > 0 close to 0. If we assume moreover that p is a square-free polynomial (that is gcd(p, p) = 1 or in other words that the roots of p are distinct), as we assume in what follows, then αis a simple root ofpand p obtains different sign when evaluated over the endpoints of the isolating interval, i.e.p(a)p(b)<0.

Besides isolating interval representation there are other representations of real algebraic numbers. The most important alternative is Thom’s encoding [44]. The basic idea behind this representation is that the signs of all the deriv-atives ofpobtained by evaluation over the real roots ofpuniquely characterize (and order) the real roots. This representation besides the uniqueness prop-erty is also more general than the isolating interval representation. However we are not going into the details.

For higher (arbitrary) degree, isolating intervals will be computed by uni-variate polynomial solvers, that we will describe in Section 3.4.2. For polyno-mials of degree up to 4, real root isolation is more effective since it can be performed in constant time (see Section 3.4.3).

3.3.3 Symbolic Representation of Real Algebraic Numbers

The sumα+βof two algebraic numbersα, βof degree≤dis an algebraic num-ber, whose minimal polynomial is of degree≤d2(see Section 3.4.1 and [236]).

Instead of computing this minimal polynomial (which might be costly to per-form), we may wonder if we can use its symbolic representation (as an arith-metic tree) and develop methods which allow us to consider it as an effective algebraic numbers. In other words,

how can we approximate such a number within an arbitrary precision?

how can we compare two such numbers?

In this section, we describe the symbolic representation of such algebraic num-bers and in the next section, we will show how to perform these operations.

Areal algebraic expressionis an arithmetic expression built from the inte-gers using the operations +,−,·, /,√k and!, representing a root of a univari-ate polynomial, and which is defined as follows: The syntax for the!-operator is !(j, Ed, . . . , E0), where Ei are real algebraic expressions and 1 ≤j ≤dis an integer. It is representing the j-th real root (if it exists) of a polynomial with coefficients (Ei)di=0.

The value val(E) of a real algebraic expressionEis the real value given by the expression (if this is defined). ForE =!(j, Ed, . . . , E0), the value val(E) is thej-th smallest real root of the polynomial

p(x) = d i=0

val(Ei)xi,

if it exists and if the values of all coefficients are defined.

We are representing real algebraic expressions as directed acyclic graphs.

The inner nodes are the operations and the leaves are integers. Every node knows an interval containing the exact value represented by its subgraph.

If further accuracy is needed, the values are approximated recursively with higher precision.

Operations are done by creating a new root node and building the graph structure. Then a first approximating interval is computed. Comparisons are done exactly. The algorithms involved in these comparisons will be described in the next section.

Dans le document Mathematics and Visualization (Page 134-137)