
Inversion of Circulant Matrices over Zm Dario Bini1, Gianna M. Del Corso2 Giovanni Manzini2;3, Luciano Margara4 1 Dipartimento di Matematica, Universit`adi Pisa, 56126 Pisa, Italy. 2 Istituto di Matematica Computazionale, Via S. Maria, 46, 56126 Pisa, Italy. 3 Dipartimento di Scienze e Tecnologie Avanzate, Universit`adi Torino, 15100 Alessandria, Italy. 4 Dipartimento di Scienze dell'Informazione, Universit`adi Bologna, 40127 Bologna, Italy. Abstract. In this paper we consider the problem of inverting an n × n circulant matrix with entries over Zm. We show that the algorithm for inverting circulants, based on the reduction to diagonal form by means of FFT, has some drawbacks when working over Zm. We present three different algorithms which do not use this approach. Our algorithms re- quire different degrees of knowledge of m and n, and their costs range | roughly | from n log n log log n to n log2 n log log n log m operations over Zm. We also present an algorithm for the inversion of finitely generated bi-infinite Toeplitz matrices. The problems considered in this paper have applications to the theory of linear Cellular Automata. 1 Introduction In this paper we consider the problem of inverting circulant and bi-infinite Toeplitz matrices with entries over the ring Zm. In addition to their own in- terest as linear algebra problems, these problems play an important role in the theory of linear Cellular Automata. The standard algorithm for inverting circulant matrices with real or complex entries is based on the fact that any n × n circulant is diagonalizable by means (i−1)(j−1) of the Fourier matrix F (defined by Fij = ! where ! is a primitive n-th root of unity). Hence, we can compute the eigenvalues of the matrix with a single FFT. To compute the inverse of the matrix it suffices to invert the eigenvalues and execute an inverse FFT. The total cost of inverting an n × n circulant is therefore O(n log n) arithmetic operations. Unfortunately this method does not generalize, not even for circulant matri- ces over the field Zp. The reason is that if gcd(p; n) > 1 no extension field of Zp contains a primitive n-th root of unity. As a consequence, n × n circulant matrices over Zp are not diagonalizable. If gcd(p; n) = 1 we are guaranteed that a primitive n-th root of unity exists in a suitable extension of Zp. However, the approach based on the FFT still poses some problems. In fact, working in an extension of Zp requires that we find a suitable irreducible polynomial q(x) and every operation in the field involves manipulation of polynomials of degree up to deg(q(x)) − 1. In this paper we describe three algorithms for inverting an n × n circulant matrix over Zm which are not based on the reduction to diagonal form by means of FFT. Instead, we transform the original problem into an equivalent problem over the ring Zm[x]. Our first algorithm assumes the factorization of m is known and it requires n log2 n + n log m multiplications and n log2 n log log n additions over Zm. Our second algorithm does not requires the factorization of m and its cost is a factor log m greater than in the previous case. The third algorithm assumes nothing about m but works only for n = 2k. It is the fastest algorithm and it has the same asymptotic cost of a single multiplication between degree n polynomials in Zm[x]. Finally, we show that this last algorithm can be used to build a fast procedure for the inversion of finitely generated bi-infinite Toeplitz matrices. The problem of inverting a circulant matrix with entries over an arbitrary commutative ring R has been addressed in [4]. There, the author shows how to compute the determinant and the adjoint of an n×n circulant matrix of the form Pl i I + i=1 βiU , (where Uij = 1 for i − j ≡ 1 (mod n) and 0 otherwise). A naive implementation of the proposed method takes Onl + 2l operations over R. Although the same computation can be done in O(nl + M(l) log n) operations, where M(l) is the cost of l × l matrix multiplication (hence, M(l) = l!, with 2 ≤ ! < 2:376), this algorithm remains competitive only for very small values of the \band" l. 2 Definitions and notation Circulant matrices. Let U denote the n × n cyclic shift matrix whose entries are Uij = 1 if j − i ≡ 1 (mod n), and 0 otherwise. A circulant matrix over Pn−1 i Zm can be written as A = i=0 aiU , where ai 2 Zm. Assuming det(A) is invertible over Zm, we consider the problem of computing a circulant matrix Pn−1 i B = i=0 biU , such that AB = I (it is well known that the inverse of a circulant matrix is still circulant). Pn−1 i It is natural to associate with a circulant matrix A = i=0 aiU the poly- Pn−1 i nomial (over the ring Zm[x]) f(x) = i=0 aix . Computing the inverse of A is Pr i clearly equivalent to finding a polynomial g(x) = i=0 bix in Zm[x] such that f(x)g(x) ≡ 1 (mod xn − 1): (1) The congruence modulo xn − 1 follows from the equality U n = I. Hence, the problem of inverting a circulant matrix is equivalent to inversion in the ring n Zm[x]=(x − 1). Bi-infinite Toeplitz matrices. Let W; W −1;W 0 denote the bi-infinite matrices defined by 1; if j − i = 1, 1; if i − j = 1, 1; if j = i, W = W −1 = W 0 = ij 0; otherwise; ij 0; otherwise; ij 0; otherwise; where both indices i; j range over Z. If we extend in the obvious way the matrix product to the bi-infinite case we have WW −1 = W −1W = W 0. Hence, we can define the algebra of finitely generated bi-infinite Toeplitz matrices over Zm as the set of all matrices of the form X i T = aiW i2Z where ai 2 Zm and only finitely many of them are nonzero. An equivalent representation of the elements of this algebra can be obtained using finite formal power series (fps) over Zm. For example, the matrix T above is represented by the P i finite fps hT (x) = i2Z aix . In the following we use Zmfxg to denote the set of finite fps over Zm. Instead of stating explicitly that only finitely many coefficients Pr i are nonzero, we write each element f(x) 2 Zmfxg as f(x) = i=−r bix (where some of the bi's can still be zero). Computing the inverse of a bi-infinite Toeplitz matrix T is clearly equivalent to finding g(x) 2 Zmfxg such that hT (x)g(x) ≡ 1 (mod m): (2) Hence, inversion of finitely generated Toeplitz matrices is equivalent to inversion in the ring Zmfxg. Connections with Cellular Automata theory. Cellular Automata (CA) are dynamical systems consisting of a finite or infinite lattice of variables which can take a finite number of discrete values. The global state of the CA, specified by the values of all the variables at a given time, evolves in synchronous discrete time steps according to a given local rule which acts on the value of each single variable. In the following we restrict our attention to linear CA, that is, CA which are based on a linear local rule (they are sometimes called additive CA). Despite of their apparent simplicity, linear CA may exhibit many complex be- haviors (see for example [5, 6, 9{11, 14]). Linear CA have been used for pattern generation, design of error correcting codes and cipher systems, generation of hashing functions, etc. (see [3] for a survey of recent applications). An infinite one-dimensional linear CA is defined as follows. For m ≥ 2, let Cm denote the space of configurations Cm = fc j c: Z ! Zmg ; which consists of all functions from Z into Zm. Each element of Cm can be visualized as a bi-infinite array in which each cell contains an element of Zm.A local rule of radius r is defined by r X f(x−r; : : : ; xr) = aixi mod m; (3) i=−r where the 2r + 1 coefficients a−r; : : : ; a0; : : : ; ar belong to Zm. The global map F : Cm !Cm associated to the local rule f is given by r X [F (c)](i) = ajc(i + j) mod m; 8c 2 Cm; 8i 2 Z: j=−r In other words, the content of cell i in the configuration F (c) is a function of the content of cells i − r; : : : ; i + r in the configuration c. Finite one-dimensional additive CA (of size n) are defined over the configu- ration space ∗ Cn;m = fc j c: f0; 1; : : : ; n − 1g ! Zmg ; which can be seen as the set of all possible n-tuples of elements of Zm. To the ∗ ∗ local rule (3) we associate the global map G: Cn;m !Cn;m defined by r X ∗ [G(c)](i) = ajc(i + j mod n) mod m; 8c 2 Cn;m; 8i 2 f0; 1; : : : ; n − 1g: j=−r In other words, the new content of cell i depends on the content of cells i − r; : : : ; i + r, and we wrap around the borders of the array when i + r ≥ n or i − r < 0. Linear CA are often studied using formal power series. To each configuration c 2 Cm we associate the infinite fps X i Pc(x) = c(i)x : i2Z The advantage of this representation is that the computation of a linear map is equivalent to power series multiplication.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages15 Page
-
File Size-