• No results found

Fraction-free block elimination

Now consider the case when all entries in Alin are coming from an integral do-main, for example F = k(z) for a field k but all entries are in F[z], or evenZ[z] when k =Q. It is desirable in this setting to keep all intermediate quantities in the computation integral, while at the same time controlling their growth. The classic technology for this purpose in the linear algebra setting is fraction-free Gaussian elimination [Edmonds, 1967,Bareiss, 1968].

The Gauss transform algorithm [Storjohann, 2000, Algorithm 2.14] is actually designed to do fraction-free Gaussian elimination, and because of its column recursive formulation, is well suited to the elimination of Alin.

The incorporation of fraction-free techniques into the algorithm supporting Theorem31is straightforward. For k=nd, nd−1, . . . , 0, the fraction-free Gauss transform algorithm also computes∆k+1, the minor of Rk+1 in (5.8) comprised of its rank profiles columns. To start the process set∆nd+1 =1 since Rnd+1is the 0×0 matrix, and recall that Endis the 0×n matrix. At step k we have the scaled matrix

k+1

h Ek ∗ · · · ∗ i

from the previous step, together with∆k+1. The rows of Alinoccupied by Ckare premultiplied by∆k+1to form the next slice

k+1

Ek ∗ · · · ∗ Ck ∗ · · · ∗

, (5.11)

which will be fraction-free, that is, all entries are minors of Alin of dimension bounded by one plus the rank of Rk+1. (We remark that only scaling the rows of Alin that will be involved in the next elimination step is important for the complexity, and similar to [Lee and Saunders, 1995].) At stage k, the fraction-free Gauss transform takes as input (5.11), together with ∆k+1, and returns as

output the permutation Pkand the scaled matrix

together with ∆k. The matrix ¯Fk is equal to the unit lower triangular Fk from before but with each row scaled by a certain minor of Alin which is known a priori to clear any denominators. The output (5.12) is also fraction-free, that is, all entries are minors of Alin of dimension bounded by the rank of Rk. The nullspace applications in Phase 1 can now be done in a fraction-free fashion as

1 In Phase 2 the entire Gauss transform is applied to obtain

1 The back substitution in Phase 3 can be done iteratively in a fraction-free fashion also [Bareiss, 1968].

Next we give the detailed steps of the fraction-free block elimination

algo-rithm.

ProcedureFFPopov(A)

Input: A∈ k[z][∂; σ, δ]n×n such that A is non-singular, d=deg A Output: P∈ k(z)[∂; σ, δ]n×n the Popov form of A.

1 Construct Alin, µ, ν←Dimensions(Alin)

2 i, j, ˘E1, ∆1, n0 ←1, 1, 0, 1, n

3 while i6µ do

4 n0 :=min(n,,,µ− (i−1+E˘1)) , ψ←i−1+E˘1+n0

5 Alin[i+E˘1..ψ,,,j..ν] ← 1.Alin[i+E˘1..ψ,,,j..ν]

6 T, P, r,∆2:= GaussTransform(Alin[i..ψ,,,j..j−1+n],∆1)

72← E˘1+n0r , τ ←i−1+r+E˘2 8 Apply the permutation P

9 Alin[i+r..τ,,,j..ν] := T[r+1..r+E˘2].Alin[i..τ,,,j..ν]

1 10 if j>ν−n(d+1) then

11 Alin[i..i−1+r,,,j..ν] :=T[1..r].Alin[i..τ,,,j..ν]

1

12 i←i+r , j ←j+n , ∆12 , E˘1 ←E˘2

13 Identify the rows of P in Alin

14 Let $ν−n(d+1) +1, ρ :=index of first row in Tdin (5.5)

15 Let lstPiv be list of first non-zero entry in Alin[ρ..µ]

16 for i looping the identified rows of P do

17 for ii from i+1 to µρ do

18 Alin[i]:= Alin[ii,j]∗AlstPivlin[i]−[iiAlin[i,j]∗Alin[ii]

ρ] # Back substitution

19 Make the identified Popov rows’ leading entry monic

20 Retrieve the rows of P from Alinthrough φP1

21 return P

Before every call to the Gauss transform algorithm at step6, we multiply the new rows by the appropriate minor at step5. Step5costsO(n3d)operations in F, repeatedO(nd)times, so overall cost of this step isO(n4d2).

• For OD<n, step5does not dominate the cost in Theorem31as ODω2n4d2>

n4d2when OD <n (note that OD>0, see Section5.2.1for OD=0).

• For OD>n, step5does not dominate the cost in Theorem31as OD nω+1d2 >

n4d2when OD >n and ω >2.

Using the fraction-free approach, all intermediate quantities arising during the elimination (i.e., the entries of (5.11) and (5.12)) will thus be minors of Alin. We recall some well known a priori bounds for the size of these minors for some common cases. We will use size and size for the bounds for Alinand ¯Alin respec-tively.

• F = k[z] with degzAlin, degzlin 6 e. Multiplying the row dimension of Alinand ¯Alinby e gives explicit bounds for the degrees sizek[z]and sizek[z]of minors of Alinand ¯Alinthat satisfy

sizek[z] ∈ O(n2de) and sizek[z] ∈ O(nde).

• F = Z with the magnitude of entries of Alin and ¯Alin bounded by β.

Hadamard’s inequality [Horn and Johnson, 1985, Corollary 7.82] gives an explicit bound 2sizeZ and 2sizeZ for the magnitudes of minors of Alin and A¯linthat satisfy

sizeZO(n2d log(ndβ)) and sizeZO(nd log(ndβ)).

• F = Z[z]with degzA 6e, and with the magnitude of integer coefficients of entries of Alin and ¯Alin bounded by β. Multiplying the determinant degree bound above with the logarithm base 2 of an explicit magnitude bound for the coefficients [Goldstein and Graham, 1974] gives

sizeZ[z] ∈O(n4d2e log(ndeβ)) and sizeZ[z] ∈O(n2d2e log(ndeβ)).

Now let M be a multiplication time for k[z], that is, two polynomials from k[z] with degree strictly less than t can be multiplied in M(t)operations from k. Then over k[z]a cost estimate in terms of operations from k is obtained by multiply-ing the algebraic cost estimates of Theorem31by M(sizek[z]). Note that the poly-nomial multiplication can be done modulo zp for p = 2 sizek[z]+1 to control degrees during the fast matrix multiplications.

If M is a multiplication time forZ, that is, two integers with bit-length bounded by t can be multiplied with M(t)bit operations, then a cost estimate in terms of bit operations for the cases Z and Z[z] are obtained by multiplying the alge-braic cost estimates by M(sizeZ)and M(sizeZ[z]). Note that for theZ[z] case we can use Kronecker substitution [Harvey, 2009] to reduce the integer polynomial multiplication to integer multiplication. Similar to the case k[z], the multiplica-tion can be done modulo 2pfor an appropriate p ∈O(sizeZ[z]).

All these cost estimates can be improved (by logarithmic factors) by per-forming the matrix multiplications using a homomorphic imaging scheme. For example, if #k>2nd+1, then two n×n matrices over k[x]with degree bounded by d can be multiplied using only O(nωd+n2M(d))operations from k [Bostan and Schost, 2005], instead of O(nωM(d)). For integer matrix multiplication we refer to [Harvey and van der Hoeven, 2014].

Related documents