EFFICIENT ALGORITHM FOR FINDING THE INVERSE AND THE ...

1 downloads 0 Views 166KB Size Report
Zhao-Lin Jiang and Zong-Ben Xu. = ⎛. ⎢. ⎢. ⎢. ⎢. ⎢. ⎢. ⎝ a0 a1 a2 ... an−2 an−1 .... ai(ωj)i, 0 ≤ j ≤ n − 1. (4) where f(x) = n−1. ∑ i=0 aixi, ωj(0 ≤ j ≤ n − 1) are ...
J. Appl. Math. & Computing Vol. 18(2005), No. 1 - 2 , pp. 45 - 57

EFFICIENT ALGORITHM FOR FINDING THE INVERSE AND THE GROUP INVERSE OF FLS r-CIRCULANT MATRIX ZHAO-LIN JIANG∗ AND ZONG-BEN XU

Abstract. An efficient algorithm for finding the inverse and the group inverse of the FLS r-circulant matrix is presented by Euclidean algorithm. Extension is made to compute the inverse of the FLS r-retrocirculant matrix by using the relationship between an FLS r-circulant matrix and an FLS r-retrocirculant matrix. Finally, some examples are given. AMS Mathematics Subject Classification : 15A21, 65F15. Key words and phrases : FLS r-circulant matrix, inverse; group inverse, polynomial ring, Euclidean algorithm.

0. Introduction The FLS r-circulant matrix has a wide application. Especially,it has been applied to the generalized cyclic codes[1-2]. So, computing the inverse and the group inverse of the FLS r-circulant matrix has become an important problem. This paper presents an efficient algorithm to compute the inverse of an FLS r-circulant matrix when it is nonsingular or to compute the group inverse of it when it is singular. This algorithm does not need to compute the triangular function and has little count of work. Extension is made to compute the inverse of the FLS r-retrocirculant matrix by using the relationship between an FLS r-circulant matrix and an FLS r-retrocirculant matrix. Definition 0.1. An FLS r-circulant matrix is defined as a square matrix of the following form : A = f lscircr (a0 , a1 , ..., an−1 ) Received February 9, 2004. Revised December 5, 2004. ∗ Corresponding author. Foundation item: The 35th Postdoctoral Work Science Foundation of China. c 2005 Korean Society for Computational & Applied Mathematics and Korean SIGCAM.

45

46

Zhao-Lin Jiang and Zong-Ben Xu



   =    

a0 ran−1 ran−2 ... ra2 ra1

a1 a0 + an−1 ran−1 + an−2 ... ra3 + a2 ra2 + a1

a2 a1 a0 + an−1 ... ra4 + a3 ra3 + a2

... ... ... ... ... ...

an−2 an−3 an−4 ... a0 + an−1 ran−1 + an−2

an−1 an−2 an−3 ... a1 a0 + an−1



   .   

Definition 0.2. An FLS r-retrocirculant matrix is defined as a square matrix of the following form : A = f lsretrocircr (a0 , a1 , ..., an−1 )  a1 a2 a0  a a a3 1 2   a a a4 2 3 =   . . . . . . . ..   a0 + an−1 a1 + ra0 an−2 a0 + an−1 a1 + ra0 a2 + ra1

... ... ... ... ... ...

an−2 a0 + an−1 a1 + ra0 ... an−3 + ran−4 an−2 + ran−3

an−1 ra0 ra1 ... ran−3 ran−2



   .   

Lemma 0.1. Let A = f lscircr (a0 , a1 , ..., an−1 ) be an FLS r-circulant matrix and B = f lsretrocircr (an−1 , an−2 , ..., a1 , a0 ) be an FLS r-retrocirculant matrix. Then BK = A or B = AK, where   0 0 ... 0 1  0 0 ... 1 0   K=  ... ... ... ... ... . 1 0 ... 0 0 In [3], for an m × n matrix A, any solution to the equation AXA = A is called a generalized inverse of A. In addition, if X satisfies X = XAX, then A and X are said to be semi-inverses. In this paper, we consider only square matrix A. If A has index 1, then the generalized inverse X of A is called the group inverse of A. Clearly A and X are group inverses if and only if they are semi-inverses and AX = XA. In [4] and [5], a semi-inverse X of A has been considered in which the nonzero eigenvalues of X are the reciprocals of the nonzero eigenvalue of A. These matrices were called spectral inverses. It was shown in [5] that a nonzero matrix A has a unique spectral inverse, As if and only if A has index 1 in which case As is the group inverse A# of A.

1. The properties of FLS r-circulant matrix

Efficient algorithm for finding the inverse and the group inverse

We define Gr as the basic FLS r-circulant matrix, that is,   0 1 0 ... 0 0  0 0 1 ... 0 0     Gr =  . . . . . . . . . . . . . . . . . .    0 0 0 ... 0 1  r 1 0 ... 0 0 n×n

47

(1)

It is easily verified that the polynomial g(x) = xn − x − r is both the minimal polynomial and the characteristic polynomial of the matrix Gr if r 6= 0 and (n−1) , i.e., Gr is nonsingular nonderogatory. In addition, Gnr = rn−1 6= (1−n) nn rIn + Gr . In view of the structure of the powers of the basic FLS r-circulant matrix Gr , it is clear that A = f lscircr (a0 , a1 , ..., an−1 ) =

n−1 X

ai Gir .

(2)

i=0

Thus, A is an FLS r-circulant matrix if and only if A = f (Gr ) for some polynon−1 X mial f (x). The polynomial f (x) = ai xi will be called the representer of the i=0

FLS r-circulant matrix A. By Definition 0.1 and the equation (2), it is clear that A is an FLS r-circulant matrix if and only if A commutes with the Gr , that is, AGr = Gr A.

(3)

Theorem 1.1. Let A = f lscircr (a0 , a1 , ..., an−1 ) be an FLS r-circulant matrix over the complex field C. Then (1) VG−1 AVGr = diag(f (ω0 ), f (ω1 ), ..., f (ωn−1 )). r (2) The eigenvalues of A are λj =

n−1 X

ai (ωj )i , 0 ≤ j ≤ n − 1

(4)

i=0

where f (x) =

n−1 X

ai xi ,

i=0

ωj (0 ≤ j ≤ n − 1) are the distinct roots of g(x), g(x) = xn − x − r, and VGr = V (ω0 , ω1 , ..., ωn−1 ) denotes the Vandermonde matrix of the ωi ’s.

48

Zhao-Lin Jiang and Zong-Ben Xu

Proof. (1) Let

 1 1 ... 1  ω0 ω1 . . . ωn−1    2 2 2   ω1 . . . ωn−1 VGr =  ω0 (5)   ... ... ... ...  n−1 ω0n−1 ω1n−1 . . . ωn−1 n where ω0 , ω1 , ..., ωn−1 Yare the distinct roots of g(x), and g(x) = x − x − r. Since detVGr = (ωi − ωj ) 6= 0, then VGr is a nonsingular matrix. On 

0≤i deg(g1 (x)), we can do polynomial division f1 (x) = g1 (x)s(x) + f12 (x). As f12 (ωi ) = f1 (ωi ), i = 0, 1, ..., m − 1, f1 (x) can be replaced by f12 (x). 3. The algorithm for inverting the FLS r-circulant matrix The problem becomes how to evaluate u(x) and v(x) when f (x) and g(x) are known, and u(x), v(x) satisfy f (x)u(x) + g(x)v(x) = 1. Using Euclidean algorithm: g(x) = q0 (x)f (x) + r1 (x), f (x) = q1 (x)r1 (x) + r2 (x), r1 (x) = q2 (x)r2 (x) + r3 (x), ......... ri−1 (x) = qi (x)ri (x) + ri+1 (x), ......... Let v1 (x) = 1 and u1 (x) = −q0 (x). Then r1 (x) = f (x)u1 (x) + g(x)v1 (x). Obviously h i r2 (x) = f (x) − q1 (x) g(x) − q0 (x)f (x) h i = 1 + q0 (x)q1 (x) f (x) − g(x)q1 (x). Let v2 (x) = −q1 (x) and u2 (x) = 1 + q0 (x)q1 (x). Then we have r2 (x) = f (x)u2 (x) + g(x)v2 (x). Suppose rj (x) = f (x)uj (x) + g(x)vj (x) and vj (x), uj (x)

Efficient algorithm for finding the inverse and the group inverse

53

have been computed when j = 0, 1, ..., i. Then ri+1 (x) = ri−1 (x) − qi (x)ri (x)

h i = f (x)ui−1 (x) + g(x)vi−1 (x) − qi (x) f (x)ui (x) + g(x)vi (x) h i h i = f (x) ui−1 (x) − qi (x)ui (x) + g(x) vi−1 (x) − qi (x)vi (x) .

Let ri+1 (x) = f (x)ui+1 (x) + g(x)vi+1 (x). Then ui+1 (x) = ui−1 (x) − qi (x)ui (x). Now, we have got the recurrence formula about ui (x). So, computing u(x) becomes computing a series of polynomials q0 (x), r1 (x), u1 (x), q1 (x), r2 (x), u2 (x), ..., qi (x), ri+1 (x), ui+1 (x), ... If rj+1 =const, then u(x) = of polynomial becomes

uj+1 (x) rj+1 (x) .

We can improve the method. If the division

ri−1 (x) = qi (x)ri (x) + ci+1 ri+1 (x), where ci+1 is a nonzero number, then the recurrence formula becomes ui+1 (x) =

ui−1 (x) − qi (x)ui (x) . ci+1

Thus, we can make the leading coefficient of ri (x) equal to 1 by suitably choosing ci . Algorithm 1. Given an FLS r-circulant matrix A = f lscircr (a0 , a1 , ..., an−1 ). The algorithm computes an FLS r-circulant matrix B = f lscircr (b0 , b1 , ..., bn−1 ). When A is nonsingular, B is the inverse of A. When A is singular, B is the group inverse of A. Let n−1 X f (x) = ai xi , i=0

g(x) = xn − x − r, r−1 (x) = g(x), r0 (x) u0 (x)

= f (x), = 1.

u−1 (x) = 0,

 ri−1 (x) = qi (x)ri (x) + ri+1 (x),    (let ci+1 be the leading coefficient of ri+1 (x)), do r  i+1 (x) ← ri+1 (x)/ci+1 ,   ui+1 (x) ← [ui−1 (x) − qi (x)ui (x)]/ci+1 , i = 0, 1, ... until rm (x) = 1 or rm (x) = 0.

(7)

54

Zhao-Lin Jiang and Zong-Ben Xu

If rm (x) = 1, then um (x) is the representer of B. B is the inve -rse of A. If rm (x) = 0, then rm−1 (x) is the largest common factor of f (x) and g(x). Let r(x) r−1 (x) r0 (x)

= rm−1 (x), = g(x)/rm−1 (x), = f (x)rm−1 (x)mod(r−1 (x)).

Go to (7). Now, if rm (x) = 1, then um (x)r(x)mod(g(x)) is the representer of B. B is the group inverse A# of A. It is a notable character of the algorithm that the singularity of an FLS r-circulant matrix need not be known firstly. The algo -rithm to compute the inverse of an FLS r-circulant matrix when it is nonsingular or to compute the group inverse of it when it is singular. By Lemma 0.1 and the Algorithm 1, we can also compute the inverse of the FLS r-retrocirculant matrix. 4. Discussion on the count of work If the matrix is nonsingular, the count of work is divided into two parts. Suppose that the order of the FLS r−circulant matrix A is n, and deg(f (x)) = n − 1. First, we discuss the count of work on the division of polynomials. ri−1 (x) = qi (x)ri (x) + ri+1 (x), ri+1 (x) ← ri+1 (x)/ci+1 , for i = 0, 1, 2, . . . It is obvious that the division of polynomials will be done for less than n − 1 times. If it has been computed for n − 1 times, then deg(qi (x)) = 1, the leading n−1 X coefficient of ri (x), qi (x) is 1. So the division of polynomials involves 2 i= i=1

n2 + O(n) flops. If it has been computed for less than n − 1 times, although deg(qi (x)) > 1, the times of polynomial division are much simplified. It can be deduced that this part involves less than n2 flops. Second, we discuss the count of work on the multiplication of polynomials. ui+1 (x) ← [ui−1 (x) − qi (x)ui (x)]/ci+1 , i = 0, 1, 2, . . . . From the algorithm, we know that the multiplication of polynomials will be done for less than n−1 times. If it has been done for n−1 times, since deg(qi (x)) = 1, and the leading coefficient of ri (x), qi (x) is 1, the multiplication of polynomials

Efficient algorithm for finding the inverse and the group inverse

requires 2

n−1 X

55

i = n2 + O(n) flops. If it has been computed for less than n − 1

i=1

times, the multiple of division involves less than n2 flops. So, all the amount of work is 2n2 flops. Thus, when deg(f (x)) = m, the algorithm involves 3nm flops. So when m