This document has been generated automatically using Hevea software. To wiew its contents correctly you may need to configure your browser (see Hevea Home page for more informations).

Alternatively, you can download the pdf or the ps files.





On the Rational Univariate Representation




Fabrice Rouillier




SALSA (INRIA) project and CALFOR (LIP6) TEAM
8, rue du Capitaine Scott F-75015 Paris - France






Abstract




We propose new algorithms for computing Rational Univariate Representations of the roots of zero-dimensional systems, without any assumption on the associated ideal. The proposed methods can be viewed as a variants of the probabilistic algorithm proposed by A. Bostan, B. Salvy and E. Schost based on baby-step/giant step techniques. Our main contributions are deterministic versions which do not sacrifice the complexity bounds. They have been obtained by mixing baby-step giant-step strategies and some operation from the original RUR algorithm designed by the author. We also illustrate the capabilities of such roots representations by extending their use for computing the values of polynomials at the roots of a zero-dimensional system. For example, we show that we can improve the complexity bounds for computing all the sign conditions realized by a set of polynomials at the roots of a zero-dimensional system.




The Rational Univariate Representation [8] is, from the end-user point of view, a simple way for representing symbolically the roots of a zero-dimensional system without loosing information (multiplicities or real roots). Given a zero-dimensional system I = < p1, ..., ps > where the pi Î Q [ X1, ..., Xn ], a Rational Univariate Representation of V ( I ) has the following shape : ft ( T ) = 0, X1 = gt, 1 ( T )/gt ( T ), ..., Xn = gt, n ( T )/gt ( T ), where ft, gt, gt, 1, ..., gt, n Î Q [ T ] (T is a new variable). It is uniquely defined w.r.t. a given polynomial t which separates V ( I ) (injective on V ( I )), the polynomial ft being necessarily the characteristic polynomial of the image of t in Q [ X1, ..., Xn ] / I(see [8]). The RUR defines a bijection between the zeroes of I and those of ft preserving the multiplicities and the real roots.

For computing a RUR one have to solve two problems : There exists many solutions for computing RUR-Candidates. For example, from a Lexicographic Gröbner basis, one can easily compute a RUR-Candidate, taking for t the smallest variable. Most of the proposed solutions do not guarantee that the RUR-Candidate is a RUR except by checking that ft is square-free (sufficient condition for a RUR-Candidate to be a RUR).

Almost all linear forms separate V ( I ) so that a RUR-Candidate computed w.r.t. a randomly chosen linear form, is a RUR with a probability 1. But such a probabilistic output is not acceptable for many situations, especially for decision algorithms such as in [1]. Moreover, the complexity bounds of deterministic algorithm using a RUR as a black box must take into account the computation of a separating element.

There are two classes of algorithms for computing a RUR-Candidate : those which suppose that the ideal is radical, and the general ones. In the first case, computing a RUR mainly remains to computing a lexicographic Gröbner basis, and we can easily verify that the RUR-Candidate is a RUR by checking that ft is square-free. Since at least one among the linear forms X1 + iX2 + ... + in - 1 Xn, i = 1 ... nd ( d - 1 ) / 2, d = # V ( I ) separates V ( I ), it is then easy to provide a deterministic algorithm for computing a RUR when I is radical. For algorithm using a Gröbner basis or [10] to represent Q [ X1, ..., Xn ] ] / I, the main part of the computation is devoted to solving a linear system, which can be done using using Bareiss method, multi-modular or p-adic techniques such as in [5], [4] or [7]. Note that in the particular case of radical ideals, the RUR coincides also with the geometrical resolution proposed in [6].

For the general case, up to our knowledge, only one method [8] computes a RUR (computes a RUR-Candidate and check the it is a RUR), but a recent algorithm [2] may be used to solve partially the problem : it computes an object closed to a RUR-Candidate (multiplicities may be lost) with respect to a linear form t (but do not check that t is separating V ( I )).

Both methods ([2] and [8]) take as input a multiplication table of Q [ X1, ..., Xn ] / I (the reduced forms of all products of two elements of a monomial basis of Q [ X1, ..., Xn ] / I). Let's denote by D the dimension of Q [ X1, ..., Xn ] / I, B = { w1, ..., wD } a monomial basis of Q [ X1, ..., Xn ] / I and T the multiplication table of Q [ X1, ..., Xn ] / I. Algorithm from [2] provides a RUR-Candidate with a computing time complexity in O ( n 2n D5 / 2 ), while the one from [8] computes a RUR (guarantees that the associated polynomial separates V ( I )) with a computing time complexity for the computation of a RUR-Candidate in O ( D3 + nD2 ), counting O ( 1 ) for basic arithmetic operations in Q in both cases. One can use as complexity parameter the number of elements of T denoted by # T in this text. The complexity bound of algorithm from [2] then becomes O ( n. # T D3 / 2 ) and depends strongly on the shape of Q [ X1, ..., Xn ] / I.

If we assume that a reasonable entry is a suitable description of the quotient Q [ X1, ..., Xn ] / I : a monomial basis and a normal form (see [10] for an alternative to Gröbner bases), those two complexity bounds have first to be compared to cost of the computation of the multiplication table which is O ( # T D2 ), counting O ( 1 ) for basic arithmetic operations in Q. If we take into account the cost of the basic operations (at least proportional to the binary size of the scalars), the computation time of the multiplication table is (not easy to compare upper bounds ...) dominated by the computation time of the RUR-Candidate, at least for a large class of examples.


Our first result is an algorithm that computes a RUR-Candidate, performing O ( # T D3 / 2 + nD2 ) operations in Q, taking as input a multiplication table of Q [ X1, ..., Xn ] / I which is slightly better than [2]. The proposed algorithm is mainly the same as in [2] (based on the Baby-Step/Giant-Step algorithm [9]) but computes differently the so called ''transposed product'' (main operation). In addition, the output preserves the multiplicities. Basically, [2] generalizes the formulas from [8] : the coefficients of the RUR-Candidate can directly be expressed w.r.t l ( Xj ti ) where l is a "sufficiently generic" linear form. Taking for l the Trace map (trace of the multiplication in Q [ X1, ..., Xn ] / I), one recover the formulas from [8]. In both cases, one can decompose the computation into 4 steps : In the case of [2], ft is the minimal polynomial of t and is computed using Berlekamp-Massey algorithm. In [8], ft is the characteristic polynomial of t and the author remarks that the Trace ( ti ) are its Newton sums. Also both methods deduce [B] from [A] performing O ( D2 ) arithmetic operations. Note that the lost of multiplicities in [2] is due to the fact that ft is the minimal polynomial of t (not its characteristic polynomial). Steps [C] and [D] are similar in both cases. To preserve the multiplicities and to get rid of the probabilistic aspect related to the use of the generic linear form l, we mix both approaches :

Algorithm RURCandidate-BSGS For getting the right complexity, the function mulTk used in [2] performs the following operations : Our second result shows that one can check that the obtained RUR-Candidate is a RUR performing O ( n # T D3 / 2 ) arithmetic operations, so that it produces the same output as [8] with the same computing time as the probabilistic computation of the RUR-Candidate from [2]. Let's suppose that ft, gt, gt, 1, ..., gt, n is a RUR-Candidate w.r.t. a linear form t. From [8], this candidate will be a RUR is and only if the polynomials ft ( t ), gt ( t ) Xi - gt, i ( t ), i = 1 ... n belong to I or equivalently if and only if Trace ( ft wj ) = Trace ( ( gt Xi - gt, i ) wj ) = 0, " i = 1 ... n, j = 1 ... n. One way for performing such a test is to first compute the images of ft ( t ), gt ( t ) Xi - gt, i ( t ), i = 1 ... n in Q [ X1, ..., Xn ] / I expressed as vectors w.r.t. B and then to compute the needed traces using the relation [ Trace ( p ( t ) w1 ), ..., Trace ( p ( t ) wD ) ] = Q.p ( t ). The computation of the reduced expression of a given polynomial p of degree D - 1 can be done in # T D3 / 2 operations adapting slightly the algorithm from [3] :

Algorithm ReducedEval The computing time of ReducedEval is clearly O ( D1 / 2 Tk ) if Tk is the computing time of mulTk and the algorithm for checking if a RUR-Candidate is a RUR then becomes :

Algorithm CheckRURCandidate Let's denote by RUR-ORIG the algorithm from [8]. For providing a full and honest comparison with RURCandidate-BSGS one have to take into account the memory consumed in both cases.

Our third result shows that RUR-ORIG do not need to store the full multiplication table, but simply the reductions of the traces of elements of B and the products Xi m, m Î B. This must be compared to the full storage of the multiplication table (# T D) needed by algorithm RURCandidate-BSGS (but also by algorithm from [2]). For systems with a large number of roots, we then loose the benefit of the baby-step/giant-step strategy since the full multiplication table can not be stored in practice. One can correct this by simply replacing the function mulTk in algorithm RURCandidate-BSGS by : Of course, the computation of Mtk sacrifices the complexity when counting the number of operations in Q since it requires O ( D3 ) operation, but , if we take in account the growth of coefficients, it appears to be comparable to the computation of the multiplication table; Its use strongly decreases the cost of all the other functions : algorithm RURCandidate-BSGS then requires O ( D5 / 2 ) operations in Q and algorithm CheckRURCandidate requires O ( nD5 / 2 ) operations in Q. Thus the full complexity of this algorithm for computing a RUR (including the verification) is O ( nD5 / 2 ) which is a priori better than [8] and [2].

The choice of the right algorithm (the choice of the right mulTk function) will strongly depends on the system to be studied, but, in general, if D or n is large, one will prefer the use Mtk to save memory. In practice, the gain compared to the RUR-ORIG algorithm is inexistent except if one want only to compute a RUR-Candidate, skipping the verification.

The second part of our contribution deals with the use of the RUR to check if the zeroes of a zero-dimensional system verifies or not some polynomial equations/inequations/inequalities. In particular we propose an algorithm that computes all the sign conditions realized by a set of polynomials at the zeros of a zero-dimensional system. Its computing time complexity is D times less than the one of algorithm 11.18 p. 375 in [1] for the same input (T). Given any polynomial f, the formulas from [8] or [2] can be used to compute a rational function gt, f / gt which takes the same values as f at the zeroes of I. According to the results above, given a set of polynomials F = { f1, ..., fs }, one can compute a RUR and the rational functions gt, fi in O ( t1 + s.D2 ) if t1 is the computing time of the RUR. Thus, computing the sign conditions realized by the fi remains to computing the sign conditions realized by the gt, fi at the roots of ft. We can then substitute the ``Sturm query`` algorithm based on Hermite's quadratic form in [1] (computing time in O ( D3 ) by its equivalent for univariate polynomials (see also for example [1] - computing time in O ( D2 ) for the naive version).




References :




References

[1]
S. Basu, R. Pollack, and M.-F. Roy. Algorithms in real algebraic geometry, volume 10 of Algorithms and Computations in Mathematics. Springer-Verlag, 2003.

[2]
A. Bostan, B. Salvy, and É. Schost. Fast algorithms for zero-dimensional polynomial systems using duality. Applicable Algebra in Engineering, Communication and Computing, 14(4):239 -- 272, 2003.

[3]
R.-P. Brend and H.-T. Kung. Fast algorithms for manipulating formal power series. J. Assoc.Comput. Mach., pages 581--595, 1978.

[4]
J.-C. Faugère. A new efficient algorithm for computing gröbner bases (f4). Journal of Pure and Applied Algebra, 139(1-3):61--88, June 1999.

[5]
J.C. Faugère, P. Gianni, D. Lazard, and T. Mora. Efficient computation of zero-dimensional gröbner basis by change of ordering. Journal of Symbolic Computation, 16(4):329--344, October 1993.

[6]
M. Giusti, G. Lecerf, and B. Salvy. A gröbner free alternative for solving polynomial systems. Journal of Complexity, 17(1):154--211, 2001.

[7]
M. Noro and K. Yokoyama. A modular method to compute the rational univariate representation of zero-dimensional ideals. Journal of Symbolic Computation, 28(1-2):243--263, 1999.

[8]
F. Rouillier. Solving zero-dimensional systems through the rational univariate representation. Journal of Applicable Algebra in Engineering, Communication and Computing, 9(5):433--461, 1999.

[9]
V. Shoup. Efficient computation of minimal polynomials in algebraic extensions of finite fields. In ISSAC'99.

[10]
P. Trébuchet. Vers une résolution stable et rapide des équations algébriques. PhD thesis, Université Pierre et Marie Curie, 2002.

This document was translated from LATEX by HEVEA.