a finite algorithm for generalized inverses of polynomial and rational matrices
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 matrixRð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 þ s62þ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.