a finite algorithm for generalized inverses of polynomial and rational matrices

16
A finite algorithm for generalized inverses of polynomial and rational matrices Predrag S. Stanimirovi c Department of Mathematics, Faculty of Science, University of Ni s, Vi segradska 33, 18000 Nis, Yugoslavia Abstract There are proposed two types of finite algorithms for symbolic computation of outer inverses of a given polynomial or rational matrix, based on the extension of the Le- verrier–Faddeev algorithm. The implementation of the algorithm corresponding to rational matrices is developed in the symbolic package MATHEMATICA. Ó 2002 Elsevier Inc. All rights reserved. Keywords: Polynomial matrix; Leverrier–Faddeev algorithm; Generalized inverses; Symbolic computation 1. Introduction Let C be the set of complex numbers, C mn be the set of m n complex matrices, and C mn r ¼fX 2 C mn : rankðX Þ¼ rg. As usual, C½s (resp. CðsÞ) denotes the polynomials (resp. rational expressions) with complex coefficients in the indeterminate s. The m n matrices with elements in C½s (resp. CðsÞ) are denoted by C½s mn (resp. CðsÞ mn ). By I r we denote the identity matrix of the order r, and by O is denoted an appropriate null matrix. Also, by TrðAÞ is denoted the trace of A. By AðsÞ 1 R (resp. AðsÞ 1 L ) we denote the right (resp. left) generalized inverse of AðsÞ. The Drazin and the Moore–Penrose inverse of AðsÞ are denoted by AðsÞ D and AðsÞ y , respectively. Also, AðsÞf2g and AðsÞf1; 2g denote the set of all outer inverses and the set of all reflexive g-inverses of AðsÞ, respectively. E-mail address: [email protected] (P.S. Stanimirovi c). 0096-3003/02/$ - see front matter Ó 2002 Elsevier Inc. All rights reserved. doi:10.1016/S0096-3003(02)00401-0 Applied Mathematics and Computation 144 (2003) 199–214 www.elsevier.com/locate/amc

Upload: predrag-s-stanimirovic

Post on 02-Jul-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Applied Mathematics and Computation 144 (2003) 199–214

www.elsevier.com/locate/amc

A finite algorithm for generalized inversesof polynomial and rational matrices

Predrag S. Stanimirovi�cc

Department of Mathematics, Faculty of Science, University of Ni�ss,Vi�ssegradska 33, 18000 Nis, Yugoslavia

Abstract

There are proposed two types of finite algorithms for symbolic computation of outer

inverses of a given polynomial or rational matrix, based on the extension of the Le-

verrier–Faddeev algorithm. The implementation of the algorithm corresponding to

rational matrices is developed in the symbolic package MATHEMATICA.

� 2002 Elsevier Inc. All rights reserved.

Keywords: Polynomial matrix; Leverrier–Faddeev algorithm; Generalized inverses; Symbolic

computation

1. Introduction

Let C be the set of complex numbers, Cm�n be the set of m� n complex

matrices, and Cm�nr ¼ fX 2 Cm�n: rankðX Þ ¼ rg. As usual, C½s (resp. CðsÞ)

denotes the polynomials (resp. rational expressions) with complex coefficientsin the indeterminate s. The m� n matrices with elements in C½s (resp. CðsÞ) are

denoted by C½sm�n(resp. CðsÞm�n

). By Ir we denote the identity matrix of the

order r, and by O is denoted an appropriate null matrix. Also, by TrðAÞ is

denoted the trace of A. By AðsÞ1

R (resp. AðsÞ1

L ) we denote the right (resp. left)

generalized inverse of AðsÞ. The Drazin and the Moore–Penrose inverse of AðsÞare denoted by AðsÞD and AðsÞy, respectively. Also, AðsÞf2g and AðsÞf1; 2gdenote the set of all outer inverses and the set of all reflexive g-inverses of AðsÞ,respectively.

E-mail address: [email protected] (P.S. Stanimirovi�cc).

0096-3003/02/$ - see front matter � 2002 Elsevier Inc. All rights reserved.

doi:10.1016/S0096-3003(02)00401-0

200 P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214

An algorithm for computation of the Moore–Penrose inverse of a constant

complex matrix AðsÞ � A0 2 Cm�n by means of the Leverrier–Faddeev algo-rithm (also called Souriau–Frame algorithm) is introduced in [1]. A modifi-

cation of the Leverrier–Faddeev algorithm for computation of the Drazin

inverse is given in [2]. Hartwig in [3] continues investigation of this algorithm.

In [4] is introduced an alternative proof for Grevile�s finite algorithm.

An extension of Leverrier�s algorithm for computing the inverse of a matrix

polynomial of arbitrary degree is introduced in [15].

In [6] it is described an implementation of the algorithm for computing the

Moore–Penrose inverse of a singular rational matrix in the symbolic compu-tational language MAPLE. In [7] and [9] it is utilized a representation and two

algorithms for computation of the Moore–Penrose inverse of a nonregular

polynomial matrix of an arbitrary degree. Corresponding algorithm for two-

variable polynomial matrix is presented in [8].

An algorithm for computation of the Drazin inverse of a rational matrix is

introduced in [11,12]. Corresponding finite algorithms for computation of the

Drazin inverse of a given polynomial matrix are given in [5,13]. Moreover, in

the literature it is known a large number of applications of generalized inversesof polynomial matrices [6–9].

It is known that the Leverrier–Faddeev algorithm is ill-conditioned. This

fact is a motivation for the use of symbolic programming language MATH-

EMATICA in our approach here. Main additional advantages of the symbolic

implementation in MATHEMATICA are as follows. Variables can be stored

without loss of accuracy during calculations. Symbolic computation is free

from the truncation error. Moreover, algorithms presented for polynomial or

rational matrices are applicable to significantly wider class of matrices and to awider set of problems, with respect to algorithms intended for constant ma-

trices. Also, algorithms applicable to polynomial or rational matrices can be

used in the construction of test matrices and in the verification of some hy-

pothesis. Finally, these algorithms can be verified directly on test matrices. But,

symbolic implementation possesses some disadvantages. It is known that the

formula manipulation by a computer requires much more time and memory

space with respect to the numerical implementation. Also, symbolic packages

are in general ‘‘slow’’. For this purpose, in [5] and [13] it is introduced a nu-merical algorithm for symbolic computation of the Drazin inverse, applicable

to polynomial matrices.

Motivation for the present paper is as follows. So far in the literature are

known various modifications of the Leverrier–Faddeev algorithm for compu-

tation of the Moore–Penrose inverse, applicable to complex matrices [1], ra-

tional or polynomial matrices [6–9]. Also, similar modifications of the

Leverrier–Faddeev algorithm for computation of the Drazin pseudoinverse,

applicable to complex matrices [2], rational or polynomial matrices [5,11,13]are known. We derive a modification of the Leverrier–Faddeev algorithm,

P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214 201

which generates the set of outer inverses and reflexive g-inverses of a given

rational or polynomial matrix.In the second section we derive two dual algorithms for symbolic compu-

tation of outer inverses of a given one-variable rational matrix, including re-

flexive g-inverses, the Moore–Penrose inverse and the Drazin inverse. An

implementation of these algorithms in the package MATHEMATICA is de-

scribed. These algorithms are based on different modifications of the Leverrier–

Faddeev algorithm as well as on the expansion of known limit representations

for generalized inverses from [14], to the set of rational matrices. Several il-

lustrative examples are reported. In the third section we derive correspondingnumerical algorithm for symbolic computation of outer inverses of a given one-

variable nonregular polynomial matrix.

Known representations of the Moore–Penrose and the Drazin inverse are

derived in partial cases.

2. Rational matrices

In the following lemma we introduce full-rank representations for various

classes of generalized inverses of a given rational matrix. These representationsgeneralize known results from [10].

Lemma 2.1. Let AðsÞ 2 CðsÞm�nr be an arbitrary m� n rational matrix of rank r

and AðsÞ ¼ P ðsÞQðsÞ be a full-rank factorization of AðsÞ. The following charac-terizations for various classes of generalized inverses of AðsÞ are valid:

(a) AðsÞf2g ¼ fGðsÞðHðsÞAðsÞGðsÞÞ1GðsÞ:HðsÞ 2 CðsÞt�mt ;

GðsÞ 2 CðsÞn�tt ; t6 rg:

(b) AðsÞf1; 2g ¼ fGðsÞðHðsÞAðsÞGðsÞÞ1HðsÞ:HðsÞ 2 CðsÞr�mr ;GðsÞ 2 CðsÞn�r

r g.(c) AðsÞf1; 2; 3g ¼ fGðsÞðPðsÞ AðsÞGðsÞÞ1P ðsÞ :GðsÞ 2 CðsÞn�r

r g.(d) AðsÞf1; 2; 4g ¼ fQðsÞ ðHðsÞAðsÞQðsÞ Þ1HðsÞ:HðsÞ 2 CðsÞr�m

r g:(e) AðsÞy ¼ QðsÞ ðP ðsÞ AðsÞQðsÞ Þ1PðsÞ :

Using the results of Lemma 2.1, in the following theorem we introduce ageneral finite algorithm for computing different classes of generalized inverses

for AðsÞ.

Theorem 2.1. Let RðsÞ, T ðsÞ and AðsÞ be chosen m� n rational matrices andeP 1 is an arbitrary integer. Assume that AðsÞ ¼ PðsÞQðsÞ is a full-rank fac-torization of AðsÞ. Consider the rational expressions ajðsÞ, a0jðsÞ and rationalmatrices BjðsÞ, B0

jðsÞ j ¼ 0; 1; . . . ;m which are defined by the following recursivealgorithm:

202 P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214

B0ðsÞ ¼ Im; a0ðsÞ ¼ 1; ð2:1ÞAjðsÞ ¼ T ðsÞRðsÞ Bj1ðsÞ; ð2:2Þ

ajðsÞ ¼ TrðAjðsÞÞj

; BjðsÞ ¼ AjðsÞ þ ajðsÞIq; j ¼ 1; . . . ;m; ð2:3Þ

B00ðsÞ ¼ In; a0ðsÞ ¼ 1; ð2:4Þ

A0jðsÞ ¼ RðsÞ T ðsÞB0

j1ðsÞ; ð2:5Þ

a0jðsÞ ¼ TrðA0

jðsÞÞj

; B0jðsÞ ¼ A0

jðsÞ þ a0jðsÞIq; j ¼ 1; . . . ; n: ð2:6Þ

Let k be the greatest integer such that akðsÞ 6¼ 0 and k0 be the greatest integersatisfying a0k0 ðsÞ 6¼ 0. Consider rational matrices

XeðsÞ ¼ ð1Þe RðsÞ Bk1ðsÞe

akðsÞe; k P 1;

O; k ¼ 0

8<: ð2:7Þ

and

X 0eðsÞ ¼

ð1Þe B0k01ðsÞ

eRðsÞ

a0k0 ðsÞe ; k0 P 1;

O; k0 ¼ 0:

8<: ð2:8Þ

In the case e ¼ 1 we have

X1ðsÞ ¼ X 01ðsÞ: ð2:9Þ

Also, the following statements are valid:

vii(i) In the case e ¼ 1, RðsÞ ¼ T ðsÞ ¼ AðsÞ we get X1ðsÞ ¼ AðsÞy.vi(ii) If AðsÞ is n� n rational matrix, selecting the values e ¼ 1, m ¼ n,

RðsÞ ¼ AðsÞl, l � indðAÞ, T ðsÞ ¼ AðsÞ, we obtain X1ðsÞ ¼ AðsÞD.v(iii) If T ðsÞ ¼ AðsÞ, n > m ¼ rankðAðsÞÞ, for arbitrary RðsÞ 2 CðsÞm�n

q , suchthat AðsÞR ðsÞ is invertible, in the case e ¼ 1 we get X1ðsÞ ¼ AðsÞ1

R .

ii(iv) If AðsÞ 2 CðsÞn�n, m ¼ n, e ¼ 1, RðsÞ ¼ AðsÞk, T ðsÞ ¼ In, then X1ðsÞ exists

if and only if indðAðsÞÞ ¼ k, and X1ðsÞ ¼ AðsÞAðsÞD.

iii(v) In the case m ¼ n, e ¼ lþ 1, T ðsÞRðsÞ ¼ AðsÞ, RðsÞ ¼ AðsÞl,lP indðAðsÞÞ, we obtain XeðsÞ ¼ X 0

eðsÞ ¼ AðsÞD.

ii(vi) For AðsÞ 2 CðsÞn�nr , in the case e ¼ 1, T ðsÞ ¼ RðsÞ ¼ AðsÞl, lP indðAðsÞÞ,

we have X1ðsÞ ¼ ðAðsÞDÞl.i(vii) X1ðsÞ 2AðsÞf2g() e¼ 1, T ðsÞ¼AðsÞ, RðsÞ ¼GðsÞHðsÞ, GðsÞ 2CðsÞn�t

,

HðsÞ 2CðsÞt�m, t6r, rankðHðsÞAðsÞGðsÞÞ¼ t.

(viii) X1ðsÞ 2AðsÞf1;2g() e¼ 1, T ðsÞ¼AðsÞ, RðsÞ ¼GðsÞHðsÞ, GðsÞ 2CðsÞn�r,

HðsÞ 2CðsÞr�m, rankðHðsÞAðsÞGðsÞÞ¼ r.

P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214 203

v(ix) X1ðsÞ 2 AðsÞf1; 2; 3g () e ¼ 1, T ðsÞ ¼ AðsÞ, RðsÞ ¼ GðsÞP ðsÞ , GðsÞ 2CðsÞn�r

, rankðPðsÞ AðsÞGðsÞÞ ¼ r.(x) X1ðsÞ 2 AðsÞf1; 2; 4g () e ¼ 1, T ðsÞ ¼ AðsÞ, RðsÞ ¼ QðsÞ HðsÞ, GðsÞ 2

CðsÞn�r, HðsÞ 2 CðsÞr�m

, rankðHðsÞAðsÞQðsÞ Þ ¼ r.(xi) If T ðsÞ ¼ AðsÞ, m > n ¼ rankðAðsÞÞ, for arbitrary RðsÞ 2 CðsÞm�n

q , suchthat R ðsÞAðsÞ is invertible, in the case e ¼ 1 we get X1ðsÞ ¼ AðsÞ1

L .

Proof. In the beginning we prove that the rational matrix XeðsÞ satisfies

XeðsÞ ¼ lima!0

RðsÞ ðaIm þ T ðsÞR ðsÞÞe: ð2:10Þ

Indeed, in a similar way as in [4] and [14], it is not difficult to verify the fol-

lowing:

RðsÞ ðaIm þ T ðsÞRðsÞ Þe

¼ ð1ÞeRðsÞ ððaÞIm T ðsÞRðsÞ Þe

¼ ð1ÞeRðsÞ ðaÞm1 þ ðaÞm2B1ðsÞ þ � � � þ ðaÞmkBk1ðsÞ� �e

ðaÞm þ a1ðsÞðaÞm1 þ � � � þ akðsÞðaÞmk� �e

¼ ð1ÞeRðsÞ ðaÞk1 þ ðaÞk2B1ðsÞ þ � � � þ Bk1ðsÞ� �e

ðaÞk þ a1ðsÞðaÞk1 þ � � � þ akðsÞ� �e :

Then (2.10) follows from a ! 0. In a similar way one can verify the following:

X 0eðsÞ ¼ lim

a!0ðaIm þ R ðsÞT ðsÞÞeRðsÞ : ð2:11Þ

In order to prove (2.9), we demonstrate the following statements by the in-

duction:

RðsÞ BlðsÞ ¼ B0lðsÞRðsÞ

;

al ¼ a0l; lP 0:

In the case l ¼ 0 the statements can be directly verified. If the statements are

valid for l ¼ j, we have

ajþ1ðsÞ ¼ TrðT ðsÞRðsÞ BjðsÞÞjþ 1

¼ TrðT ðsÞB0

jðsÞRðsÞ Þ

jþ 1

¼ TrðRðsÞ T ðsÞB0

jðsÞÞjþ 1

¼ TrðA0

jþ1Þjþ 1

¼ a0jþ1ðsÞ;

204 P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214

RðsÞ Bjþ1ðsÞ ¼ RðsÞ ðT ðsÞRðsÞ BjðsÞ þ ajþ1ðsÞImÞ¼ ðRðsÞ T ðsÞB0

jðsÞRðsÞ þ a0jþ1ðsÞRðsÞ

Þ¼ ðRðsÞ T ðsÞB0

jðsÞ þ RðsÞ a0jþ1ðsÞInÞRðsÞ ¼ B0

jþ1ðsÞRðsÞ :

As a consequence of (2.9), (2.10) and (2.11) we have

lima!0

R ðsÞðaIm þ T ðsÞR ðsÞÞ1 ¼ lima!0

ðaIn þ R ðsÞT ðsÞÞ1R ðsÞ:

Now the proof can be completed generalizing known results about the limit

expression lima!0 R ðaIm þ TR Þe, given in Theorem 2.2 and Theorem 2.3 from

[14]. �

In view of the results of Theorem 2.1 we present the following two algo-

rithms for computation of various generalized inverses of AðsÞ.

Algorithm 2.1. It is assumed that AðsÞ;RðsÞ; T ðsÞ 2 CðsÞm�nare rational ma-

trices.

Step 1. Construct the sequence of polynomials fa0ðsÞ; . . . ; akðsÞg and the se-

quence of polynomial matrices fB0ðsÞ; . . . ;Bk1ðsÞg as in (2.1), (2.2)and (2.3), where k ¼ maxfl : alðsÞ 6¼ 0g.

Step 2. Compute rational matrix XeðsÞ as in (2.7).

Algorithm 2.10. Rational matrices AðsÞ;RðsÞ; T ðsÞ 2 CðsÞm�nare given.

Step 1. Construct the sequence of polynomials fa00ðsÞ; . . . ; a0k0 ðsÞg and the se-

quence of polynomial matrices fB00ðsÞ; . . . ;B0

k01ðsÞg as in (2.4), (2.5)

and (2.6), where k0 ¼ maxfl : a0lðsÞ 6¼ 0g.Step 2. Compute rational matrix X 0

eðsÞ as in (2.8).

Remark 2.1. Finite algorithm defined in Theorem 2.1 represents a general formof all known modifications the Leverrier–Faddeev algorithm for computation

of various generalized inverses of rational matrices, which are considered in

[6,11,12].

In the case (i) of Theorem 2.1 we obtain well-known finite algorithm for

computation of the Moore–Penrose inverse of a rational matrix, introduced in

[6].

In the case (ii) we obtain a modification of the Leverrier–Faddeev algorithm

for computing the Drazin inverse of a given rational matrix, investigated in [11]and [12].

Similarly, the case ðvÞ represents a generalization of the alternative finite

representation of the Drazin inverse, introduced in [4].

P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214 205

Algorithm 2.1 and Algorithm 2.10 determines outer inverses and reflexive g-inverses of AðsÞ. Moreover, rational matrix X1ðsÞ is the general form for somespecific expressions involving generalized inverses of AðsÞ, such as AðsÞAðsÞD or

ðAðsÞDÞl.

We now describe the implementation of Algorithm 2.1 in the package

MATHEMATICA. We use mainly the following possibilities of the package

MATHEMATICA, version 4.1 (see [16] and [17]) in symbolic computation:

1. Symbolic matrix algebra, which includes symbolic operations on vectors andmatrices.

2. Algebraic manipulations, which include computations with symbols and op-

erations on algebraic expressions.

3. Built-in function Simplify[expr], which performs a sequence of alge-

braic manipulations on expr, and returns the simplest form of expr.

In the following function we compute the matrix XeðsÞ defined in (2.7). In view

of the following code we only mention that the result of the standard functionTr½g is the trace of the matrix g.

GeneralRational1[r_, t_,e_]:¼Module[Bi,Bi1,Bi2,inv,nul,im,Ai,ai ¼ ai1 ¼ 1,m,n,i ¼ k

¼ 0,log ¼ True,rct ¼ Transpose[r],

{m,n}¼Dimensions[r]; nul¼Table[0,{m},{n}];

im¼IdentityMatrix[m]; Bi¼Bi1¼Bi2¼im;

While[log,

i++; Ai¼Simplify[t.rct.Bi]; (* Compute A[i] *)

ai1¼ai; ai¼-Simplify[Tr[Ai]/i]; (* Compute a[i] *)

Bi2¼Bi1; Bi1¼Bi;

Bi¼Simplify[Ai+ai*im]; (* Compute B[i] *)

If[ai¼ ¼ ¼0, k¼i-1; log¼False];

];

If[k>0,

inv ¼ Simplify[(-1)̂ e *ai1̂ (-e) *rct.Bi2̂ e];

Return[Simplify[inv]], (* k > 0 *)

Return[Transpose[nul]] (* k ¼ 0*)

]

]

Example 2.1. Consider the rational matrix from [6].

AðsÞ ¼1 sþ 1 s1

s3

sþ 1

1

sþ 2

" #:

206 P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214

In the case t ¼ r ¼ AðsÞ the function GeneralRational1½r; t; 1 gives well-known

Moore–Penrose inverse from [6]:

sð12þ sþ6s2 þ12s3 þ4s4Þ44sþ7s2 2s3 þ17s4 þ22s5 þ6s6

sð1þ sÞ2ð2þ sÞð2 sþ2s2 þ2s3Þ44sþ7s2 2s3 þ17s4 þ22s5 þ6s6

ð1þ sÞð42s2 þ s3 þ s4Þ44sþ7s2 2s3 þ17s4 þ22s5 þ6s6

sð1þ sÞð2þ sÞð2þ s2s2 þ3s3 þ2s4Þ44sþ7s2 2s3 þ17s4 þ22s5 þ6s6

sð2þ sÞð1þ15s2 þ7s3Þ44sþ7s2 2s3 þ17s4 þ22s5 þ6s6

s3ð1þ sÞ2ð2þ sÞð5þ2sÞ44sþ7s2 2s3 þ17s4 þ22s5 þ6s6

266666664

377777775:

Example 2.2. Let us consider now the matrix

AðsÞ ¼sþ 1 s sþ 1

s s 1 ssþ 1 s sþ 1

24

35:

In the case r ¼ AðsÞT, t ¼ AðsÞ applying the function GeneralRational1½r; t; 1we get known Drazin inverse from [13]:

AðsÞD ¼

1 s4

s2

1 s4

s2

1 ss2

1 s4

s2

1 s4

2666664

3777775:

Example 2.3. Consider the following matrix from [5]:

AðsÞ ¼s2 þ s 1 s2 þ s

1 s2 s 1

s2 þ s 1 s2 þ s

24

35: ð2:12Þ

In the case T ðsÞ ¼ RðsÞ ¼ AðsÞ, we get the following Moore–Penrose inverse of

AðsÞ:

AðsÞy

ð1 þ sÞs4ð1 s2 þ s4Þ

1

2 þ 2s2 2s4ð1 þ sÞs

4ð1 s2 þ s4Þ1

2 þ 2s2 2s4sð1 þ sÞ

1 s2 þ s41

2 þ 2s2 2s4ð1 þ sÞs

4ð1 s2 þ s4Þ1

2 þ 2s2 2s4ð1 þ sÞs

4ð1 s2 þ s4Þ

266666664

377777775:

Since the condition AðsÞAðsÞy ¼ AðsÞyAðsÞ is satisfied and the index of AðsÞ is 1,

we conclude AðsÞy ¼ AðsÞD ¼ AðsÞ#. Indeed, the matrix AðsÞD is generated in the

case RðsÞ ¼ AðsÞT, T ðsÞ ¼ AðsÞ. The Drazin inverse of AðsÞ is known from [5].

P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214 207

In the case RðsÞ ¼ AðsÞ, T ðsÞ ¼ I3 we get the matrix

X1ðsÞ ¼12

0 12

0 1 012

0 12

264

375:

This identity X1ðsÞ ¼ AðsÞAðsÞD can be verified after the application of standard

MATHEMATICA function Simplify. This confirms part (iv) of Theorem 2.1.

Example 2.4. Consider the following test matrix from [18]

F 4ðsÞ ¼

sþ 4 sþ 3 sþ 2 sþ 1

sþ 3 sþ 3 sþ 2 sþ 1

sþ 2 sþ 2 sþ 1 ssþ 1 sþ 1 s s 1

26664

37775:

In the case T ðsÞ ¼ RðsÞ ¼ F 4ðsÞ we get known Moore–Penrose inverse of F 4ðsÞfrom [18]:

F 4ðsÞy ¼

1 5

6 1

3

1

6

5

6

7

9 s

4

4

9

1

9þ s

4

1

3

4

9

1

9 2

91

6

1

9þ s

4 2

9 5

9 s

4

266666666664

377777777775:

Using

GðsÞ ¼

4 sþ 3 sþ 2 sþ 1

0 0 0 0

sþ 2 sþ 2 sþ 1 s

sþ 1 sþ 1 s s 1

2666664

3777775;

HðsÞ ¼

4 sþ 3 sþ 2 sþ 1

0 0 0 0

sþ 2 sþ 2 sþ 1 s

0 0 0 0

2666664

3777775

and RðsÞ ¼ Transpose½Simplify½GðsÞHðsÞ, T ðsÞ ¼ F4ðsÞ, we get the following

outer inverse of F 4ðsÞ:

208 P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214

2ð4þ 4s5s2 þ5s3 þ3s5Þ58þ38s59s2 þ22s3 9s4 þ6s5

sð8 3sþ7s2 4s3 2s4Þ58þ38s59s2 þ 22s3 9s4 þ 6s5

0 0

4þ2sþ4s2 þ s3 6s4 3s5

58þ38s59s2 þ22s3 9s4 þ6s5sð4 14s2s2 þ5s3 þ s4Þ

58þ38s59s2 þ 22s3 9s4 þ 6s5

12þ 10sþ9s2 þ5s3 þ3s4 þ3s5

58þ38s59s2 þ22s3 9s4 þ6s529þ7sþ2s2 3s3 þ4s4 þ s5

58þ38s59s2 þ 22s3 9s4 þ 6s5

266666666664

42sþ 6s2 þ s3 þ2s4 þ 2s5

58 38sþ59s2 22s3 þ9s4 6s58þ4sþ 9s2 þ9s3 þ2s5

5838sþ59s2 22s3 þ9s4 6s5

0 0

2þ s2 s3 þ 4s4 þ s5

58þ38s59s2 þ22s3 9s4 þ6s54 4sþ16s2 þ3s4 þ s5

58þ38s59s2 þ 22s3 9s4 þ 6s5

62sþ 12s2 s3 þ3s4 þ s5

58þ38s59s2 þ22s3 9s4 þ6s541 11sþ22s2 þ s3 þ2s4 þ s5

58þ38s59s2 þ 22s3 9s4 þ 6s5

377777777775:

Example 2.5. Let us choose the following full-row rank matrix AðsÞ:

AðsÞ ¼ T ðsÞ ¼ sþ s2 1 sþ s2

1 sþ s2 1

� �

and the matrix

RðsÞ ¼ s3 þ s s s2

s 1 s2 s 3

� �

which ensures invertibility of the matrix AðsÞRðsÞ . In accordance with part (iii)

of Theorem 2.1 we get the following right inverse of AðsÞ:

3þ5s2 3s3 þ2s4 2s5 þ s6

2þ2sþ2s2 þ2s3 3s4 2s5 s6 þ s81þ sþ5s2 þ2s3 þ3s4

22s2s2 2s3 þ3s4 þ2s5 þ s6 s81

1þ s2 s4sð1þ sÞ

1 s2 þ s43þ2s5s2 þ s3 2s4 þ s5

2þ2sþ2s2 þ2s3 3s4 2s5 s6 þ s83þ3sþ5s2 þ2s3 þ2s4

2þ2sþ2s2 þ2s3 3s4 2s5 s6 þ s8

26666664

37777775:

3. Polynomial matrices

The implementation of Algorithm 2.1 by means of symbolic manipulations

available in the language MATHEMATICA suffers of all known defects ofpurely symbolic implementation mentioned in [12], such as slower execution

and larger memory space requirements with respect to numerical implemen-

tation. For this purpose, in this section we develop a numerical algorithm

P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214 209

corresponding to Algorithm 2.1 in the case when AðsÞ is a polynomial matrix.

In this way, we get a generalization of known algorithm for computation of theMoore–Penrose inverse from [7] and an analogous algorithm for computation

of the Drazin inverse from [5] and [13].

We assume that RðsÞ 2 C½sm�nand RðsÞ 2 C½sm�n

are polynomial matrices

of the form

RðsÞ ¼ Rrsr þ Rr1sr1 þ � � � þ R1sþ R0;

T ðsÞ ¼ Ttst þ Tt1st1 þ � � � þ T1sþ T0;ð3:1Þ

where Ri 2 Cm�n, i ¼ 0; . . . ; r and Ti 2 Cm�n, i ¼ 0; . . . ; t are constant complex

m� n matrices, and s is an unknown variable. The coefficients aiðsÞ can be

considered as polynomials of s. Also, matrix coefficients BiðsÞ are polynomialmatrices with respect to powers of the variable s. This approach gives us an

analogous representation of the matrix XeðsÞ defined in (2.7), and an analogous

algorithm for its computation. Using relations (2.1), (2.2) and (2.3), it is easy to

verify by the induction that the degrees of s in aiðsÞ and BiðsÞ are at most equal

to iðr þ tÞ. Hence, scalar polynomials aiðsÞ and matrix polynomials BiðsÞ can be

written as in the following:

aiðsÞ ¼XiðrþtÞ

j¼0

ai;jsj; i ¼ 1; . . . ;m; ð3:2Þ

BiðsÞ ¼XiðrþtÞ

j¼0

Bi;jsj; i ¼ 1; . . . ;m; ð3:3Þ

where ai;j, i ¼ 1; . . . ;m, j ¼ 0; . . . ; iðr þ tÞ are scalars and Bi;j, i ¼ 1; . . . ;m,

j ¼ 0; . . . ; iðr þ tÞ are constant matrices of the order m� n, corresponding to

powers sj.

Theorem 3.1. Let the polynomial matrices RðsÞ and T ðsÞ be defined by (3.1).Consider the polynomials fa0ðsÞ; . . . ; amðsÞg and the sequence of polynomialmatrices fB0ðsÞ; . . . ;BmðsÞg, defined as in Algorithm 2.1. Rewrite aiðsÞ and BiðsÞas in (3.2) and (3.3), respectively. Then we have

aiþ1;j ¼ 1

iþ 1Tr

Xjk¼0

Xjk

l¼0

TjklR l

!Bi;k

!;

i ¼ 0; 1; . . . ;m 1; j ¼ 0; 1; . . . ; ðiþ 1Þðr þ tÞ; ð3:4Þ

Biþ1;j ¼Xjk¼0

Xjk

l¼0

TjklR l

!Bi;k þ aiþ1;jIp;

i ¼ 0; 1; . . . ;m 1; j ¼ 0; 1; . . . ; ðiþ 1Þðr þ tÞ; ð3:5Þ

210 P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214

where in (3.4) and (3.5) it is assumed Ru ¼ O, uP r þ 1, Tu ¼ O, uP t þ 1 andBiu ¼ O, uP iðt þ rÞ þ 1.

Proof. From (2.2), (3.1) and (3.3), we get the following

Aiþ1ðsÞ ¼ T ðsÞR ðsÞBiðsÞ ¼Xt

j¼0

Tjsj ! Xr

k¼0

R ks

k

! XiðrþtÞ

l¼0

Bi;lsl !

¼Xrþt

j¼0

Xjk¼0

TjkR k

!sj

! XiðrþtÞ

l¼0

Bi;lsl !

¼Xðiþ1ÞðrþtÞ

j¼0

Xjk¼0

Xjk

l¼0

TjklR l

!Bi;k

!sj: ð3:6Þ

Substituting (3.6) into (2.3) and using (3.2) we obtain (3.4).

On the other hand, using (2.3), (3.2) and (3.6), we get

Biþ1ðsÞ ¼ Aiþ1ðsÞ þ aiþ1ðsÞIn

¼Xðiþ1ÞðrþtÞ

j¼0

Xjk¼0

Xjk

l¼0

AjklR l

!Bi;k

!sj þ

Xðiþ1ÞðrþtÞ

j¼0

aiþ1;jInsj

¼Xðiþ1ÞðrþtÞ

j¼0

Xjk¼0

Xjk

l¼0

AjklR l

!Bi;k

þ aiþ1;jIn

!sj: ð3:7Þ

The identity (3.5) follows from (3.3) and (3.7). �

Now we are in a position to state the following algorithm for computation

of the polynomial matrix XeðsÞ. This algorithm is a numerical equivalent of

Algorithm 2.1, and it is applicable to polynomial matrices.

Algorithm 3.1. Matrix AðsÞ 2 C½sm�nis given. Select two matrices RðsÞ;

T ðsÞ 2 C½sm�nof the form (3.1).

Initial conditions:

B0;0 ¼ In; Ru ¼ 0; u ¼ r þ 1; . . . ;mðr þ tÞ; Tu ¼ 0;

u ¼ t þ 1; . . . ;mðr þ tÞ; a0;0 ¼ 1; a0;j ¼ 0; j ¼ 1; . . . ;mðr þ tÞ:

Boundary conditions:

B0;j ¼ O 8jP 1;Bi;j ¼ O; i ¼ 0; . . . ;m 1; j ¼ iðr þ tÞ þ 1; . . . ; ðm 1Þðr þ tÞ:

Main algorithm:

i ¼ 0

P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214 211

DO WHILE at least one Bi;j <> 0, j ¼ 0; 1; . . . ; ðiþ 1Þðr þ tÞ:Initial conditions for Bij:

Bi;j ¼ O; j ¼ iðr þ tÞ þ 1; . . . ; ðn 1Þðr þ tÞ:

Recursive relations for aiðsÞ are defined in (3.4).Recursive relations for BiðsÞ are given in (3.5).i ¼ iþ 1.

END DO.Termination criteria: Compute first k satisfying

akþ1;j ¼ akþ2;j ¼ � � � ¼ arþt;j ¼ 0 8j 2 N:

Output: Return the polynomial matrix

XeðsÞ ¼ ð1ÞeXkðrþtÞ

j¼0

ak;jsj !e Xr

i¼0

R i s

i

! Xðk1ÞðrþtÞ

l¼0

Bk1;lsl !e

: ð3:8Þ

Evidently that the only desirable symbolic manipulation in Algorithm 3.1 is the

simplification of elements contained in the resulting matrix XeðsÞ.

Example 3.1. Consider the polynomial matrix AðsÞ as in (2.10). In order togenerate an outer inverse of AðsÞ let us choose matrices RðsÞ and T ðsÞ as in the

following:

RðsÞ ¼1 þ sþ 2s2 3s 1 sþ 2s2

0 0 0

1 þ sþ 2s2 3s 1 sþ 2s2

24

35; T ðsÞ ¼ AðsÞ:

Constant matrices Ri and Ti are

R0 ¼1 0 1

0 0 0

1 0 1

24

35; R1 ¼

1 3 1

0 0 0

1 3 1

24

35; R2 ¼

2 0 2

0 0 0

2 0 2

24

35:

Since r þ t ¼ 4, initial conditions are:

R3 ¼ R4 ¼ O; T3 ¼ T4 ¼ O;

a0;0 ¼ 1; a0;1 ¼ a0;2 ¼ a0;3 ¼ a0;4 ¼ a0;5 ¼ a0;6 ¼ 0;

B0;0 ¼ I3; B0;1 ¼ B0;2 ¼ B0;3 ¼ B0;4 ¼ B0;5 ¼ B0;6 ¼ O:

In the case i ¼ 0 we have the following, where by TiRTj we denote the product of

matrices Ti and RTj , and Tr denotes the trace of a given matrix:

212 P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214

a1;0 ¼ 1=ðiþ 1ÞTr½T0RT0B0;0 ¼ 0;

a1;1 ¼ 1=ðiþ 1ÞTr½ðT1RT0 þ T0RT

1 ÞB0;0 þ T0RT0B0;1 ¼ 10;

a1;2 ¼ 1=ðiþ 1ÞTr½ðT2RT0 þ T1RT

1 þ T0RT2 ÞB0;0

þ ðT1RT0 þ T0RT

1 ÞB0;1 þ T0RT0B0;2 ¼ 4;

a1;3 ¼ 1=ðiþ 1ÞTr½ðT3RT0 þ T2RT

1 þ T1RT2 þ T0RT

3 ÞB0;0

þ ðT2RT0 þ T1RT

1 þ T0RT2 ÞB0;1 þ ðT1RT

0 þ T0RT1 ÞB0;2 þ T0RT

0B0;3 ¼ 8;

a1;4 ¼ 1=ðiþ 1ÞTr½ðT4RT0 þ T3RT

1 þ T2RT2 þ T1RT

3 þ T0RT4 ÞB0;0

þ ðT3RT0 þ T2RT

1 þ T1RT2 þ T0RT

3 ÞB0;1 þ ðT2RT0 þ T1RT

1 þ T0RT2 ÞB0;2

þ ðT1RT0 þ T0RT

1 ÞB0;3 þ T0RT0B0;4 ¼ 8;

B1;0 ¼ T0RT0 þ a1;0I3 ¼ O;

B1;1 ¼ ðT1RT0 þ T0RT

1 ÞB0;0 þ T0RT0B0;1 þ a1;1I3 ¼

5 0 5

0 10 0

5 0 5

24

35;

B1;2 ¼ ðT2RT0 þ T1RT

1 þ T0RT2 ÞB0;0 þ ðT1RT

0 þ T0RT1 ÞB0;1 þ T0RT

0B0;2 þ a1;2I3

¼2 0 2

1 4 1

2 0 2

24

35;

B1;3 ¼ ðT3RT0 þ T2RT

1 þ T1RT2 þ T0RT

3 ÞB0;0 þ ðT2RT0 þ T1RT

1 þ T0RT2 ÞB0;1

þ ðT1RT0 þ T0RT

1 ÞB0;2 þ T0RT0B0;3 þ a1;3I3

¼4 0 4

3 8 3

4 0 4

24

35;

B1;4 ¼ ðT4RT0 þ T3RT

1 þ T2RT2 þ T1RT

3 þ T0RT4 ÞB0;0 þ ðT3RT

0 þ T2RT1 þ T1RT

2

þ T0RT3 ÞB0;1 þ ðT2RT

0 þ T1RT1 þ T0RT

2 ÞB0;2 þ ðT1RT0 þ T0RT

1 ÞB0;3

þ T0RT0B0;4 þ a1;4I3 ¼

4 0 4

0 8 0

4 0 4

264

375:

For i ¼ 1 we have a2;0 ¼ a2;1 ¼ � � � ¼ a2;8 ¼ 0, which means k ¼ 1. In accor-

dance with (3.8) for the case e ¼ 1 we obtain the following outer inverse of

AðsÞ:

P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214 213

XeðsÞ ¼ a1;0

�þ a1;1sþ a1;2s2 þ a1;3s3 þ a1;4s4

�1Xri¼0

R i s

i

!B0;0

¼ ð10sþ 4s2 þ 8s3 þ 8s4Þ1RðsÞ

¼

1 þ sþ 2s2

10sþ 4s2 þ 8s3 þ 8s40

1 þ sþ 2s2

10sþ 4s2 þ 8s3 þ 8s43

10 þ 4sþ 8s2 þ 8s30

3

10 þ 4sþ 8s2 þ 8s31 sþ 2s2

10sþ 4s2 þ 8s3 þ 8s40

1 sþ 2s2

10sþ 4s2 þ 8s3 þ 8s4

26666664

37777775:

4. Conclusion

We present two algorithms for symbolic computation of outer generalized

inverses of a given one-variable rational or polynomial matrix, including re-

flexive g-inverses, the Moore–Penrose inverse and the Drazin inverse. The first

algorithm is applicable to the set of rational matrices, whilst the second one isapplicable to polynomial matrices. These algorithms are a generalization of the

papers [6–9] where the Moore–Penrose inverse of a given rational or polyno-

mial matrix is investigated, as well as a generalization of the papers [5,11,13],

where the Drazin inverse of a given rational or polynomial matrix is investi-

gated. The implementation of algorithm corresponding to rational matrices in

the package MATHEMATICA is described. Several illustrative examples are

reported.

References

[1] H.P. Decell, An application of the Cayley–Hamilton theorem to generalized matrix inversion,

SIAM Rev. 7 (4) (1965) 526–528.

[2] T.N.E. Grevile, The Souriau–Frame algorithm and the Drazin pseudoinverse, Linear Algebra

Appl. 6 (1973) 205–208.

[3] R.E. Hartwig, More on the Souriau–Frame algorithm and the Drazin inverse, SIAM J. Appl.

Math. 31 (1) (1976) 42–46.

[4] J. Ji, An alternative limit expression of Drazin inverse and its applications, Appl. Math.

Comput. 61 (1994) 151–156.

[5] J. Ji, A finite algorithm for the Drazin inverse of a polynomial matrix, Appl. Math. Comput.

130 (2002) 243–251.

[6] J. Jones, N.P. Karampetakis, A.C. Pugh, The computation and application of the generalized

inverse vai maple, J. Symbolic Comput. 25 (1998) 99–124.

[7] N.P. Karampetakis, Computation of the generalized inverse of a polynomial matrix and

applications, Linear Algebra Appl. 252 (1997) 35–60.

[8] N.P. Karampetakis, Generalized inverses of two-variable polynomial matrices and applica-

tions, Circ. Syst. Signal Process. 16 (1997) 439–453.

214 P.S. Stanimirovi�cc / Appl. Math. Comput. 144 (2003) 199–214

[9] N.P. Karampetakis, P. Tzekis, On the computation of the generalized inverse of a polynomial

matrix, Ima J. Math. Contr. Inform. 18 (2001) 83–97.

[10] C.R. Rao, Generalized Inverses of Matrices and Applications, Wiley, New York, 1971.

[11] P.S. Stanimirovic, N.P. Karampetakis, Symbolic implementation of Leverrier–Faddeev

algorithm and applications, in: proceedings of the 8th IEEE Medit. Conference on Control

and Automation, Patra, Greece, 2000.

[12] P.S. Stanimirovic, N.P. Karampetakis, On the computation of Drazin inverse of a rational

matrix and applications, Technical Report, Department of Mathematics, Aristotle University

of Thessaloniki, Thessaloniki 54006, Greece, 2000.

[13] P.S. Stanimirovic, M.B. Tasi�cc, Drazin inverse of one-variable polynomial matrices, Filomat,

Ni�ss, in press.

[14] P.S. Stanimirovi�cc, Limit representations of generalized inverses and related methods, Appl.

Math. Comput. 103 (1999) 51–68.

[15] G. Wang, Y. Lin, A new extension of the Leverrier�s algorithm, Linear Algebra Appl. 180

(1993) 227–238.

[16] S. Wolfram, Mathematica: a System for Doing Mathematics by Computer, Addison-Wesley,

Redwood City, CA, 1991.

[17] S. Wolfram, Mathematica Book, Version 3.0, Addison-Wesley, Redwood City, CA, 1996.

[18] G. Zielke, Report on test matrices for generalized inverses, Computing 36 (1986) 105–162.