0% found this document useful (0 votes)
14 views13 pages

Omega Hal

This document discusses the computation of omega-limit sets in linear dynamical systems, highlighting the significance of understanding their limit behavior. It establishes that for linear continuous time dynamical systems, the omega-limit set is computable and is a semi-algebraic set. The paper outlines the necessary mathematical foundations and provides an algorithm for computing the omega-limit set based on these findings.

Uploaded by

kingseif1996
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views13 pages

Omega Hal

This document discusses the computation of omega-limit sets in linear dynamical systems, highlighting the significance of understanding their limit behavior. It establishes that for linear continuous time dynamical systems, the omega-limit set is computable and is a semi-algebraic set. The paper outlines the necessary mathematical foundations and provides an algorithm for computing the omega-limit set based on these findings.

Uploaded by

kingseif1996
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Computing omega-limit Sets in Linear

Dynamical Systems
Emmanuel Hainry
LORIA, Université Henri Poincaré
Campus scientifique, BP 239 - 54506 Vandœuvre-lès-Nancy, France
[email protected]

Dynamical systems allow to modelize various phenomena or processes by only


describing their way of evolution. It is an important matter to study the global and
the limit behaviour of such systems. A possible description of this limit behaviour
is via the omega-limit set: the set of points that can be limit of subtrajectories.
The omega-limit set is in general uncomputable. It can be a set highly difficult to
apprehend. Some systems have for example a fractal omega-limit set. However, in
some specific cases, this set can be computed. This problem is important to verify
properties of dynamical systems, in particular to predict its collapse or its infinite
expansion. We prove in this paper that for linear continuous time dynamical
systems, it is in fact computable. More, we also prove that the ω-limit set is a
semi-algebraic set. The algorithm to compute this set can easily be derived from
this proof.

Keywords: Dynamical Systems, omega-limit set, hybrid systems, reachable set,


verification, safety properties.

1 Introduction
The physical equations that govern interactions between celestial bodies give a local de-
scription of the trajectory of those bodies: given the positions and speeds of all the stars
and planets, we know the evolution of those variables. Other systems, motivated by mete-
orological phenomena, chemical interactions, biological examples, mathematics equations or
computing systems can be described in a similar local manner: given any set of instantaneous
conditions, the local behaviour of the system is defined. Those examples can be described as
dynamical systems. A dynamical system behaves either in discrete time, either in continuous
time. In both cases, it will be defined by an initial position and a dynamics map. In the
discrete case, the dynamics can, from the conditions at time n, predict the positions at time
n + 1. In the continuous case, the direction in which the system moves from a given state
point x is a function of x.

1
The evolution of a dynamical system is hence described in a very simple way but it can
be hard to grasp where a point that undergoes the dynamics will go. Hence, one of the fun-
damental questions with such systems is their asymptotic behaviour. Knowing whether they
collapse to one single point, diverge or become periodic is important to grasp the evolution
of a dynamical system. The case of celestial bodies is a fine example of the complexity of this
problem: we can predict the whole trajectory of a system with two bodies, but as soon as
there are three or more bodies, it becomes undecidable to know whether the bodies will not
eventually collide.
Dynamical systems are much studied or used to describe various phenomena that can
belong to mathematics [12], physics, biology [18]... The famous Lorenz’ attractor [15] is
an example of a dynamical system describing a meteorological phenomenon. However, as
standard as those systems are, and as simple as the description of their dynamics may be,
many important problems such as limit and reachability are undecidable. The challenge is of
interest in computer science as computational models can be modelized by dynamical systems.
Hybrid systems in particular rely on dynamical systems plus some discrete behaviour and as
such, if a problem is difficult in dynamical systems, it is bound to be more difficult in hybrid
systems.
The difficulty of the prediction of the trajectory of dynamical systems is testified by many
undecidability results for natural problems on such systems. Some problems are decidable but
undecidability comes fast into the picture. Even considering polynomial systems yields many
undecidable problems: [10] for example shows that it is possible to simulate a Turing machine
using a polynomial dynamical system. It is hence undecidable whether or not a trajectory will
reach the region corresponding to the halting state of the machine. This particular problem
can be seen as a continuous version of the Skolem-Pisot problem [17, 4, 11] which studies
whether a component of a discrete linear system will reach 0. This problem is not different
from deciding if this system reaches a hyperplan of the space, described by yk = 0 where k is
the number of the component considered.
The (point to point) reachability problem, which is undecidable in the general case, has
been shown undecidable for various restricted classes of dynamical systems, such as Piecewise
Constant Derivative systems [7] where the dynamics are really simple as it consists of a sharing
of the space into regions where the derivative will be constant. Other results on the subject
of reachability and undecidability of problems in hybrid systems are studied in [1, 2, 3, 5].
The problem of the limit set of dynamical systems is also undecidable in the general case.
It is of interest for ensuring safety properties such as the absence of infinite expansion or the
ultimate presence in a given region. In this paper, we will study this problem, more precisely
the ω-limit set, in a simple class of continuous-time dynamical systems: linear dynamical
systems. As Turing machines can be encoded in dynamical systems, the description of the ω-
limit set would give an answer to the halting problem hence it is not decidable in polynomial
dynamical systems. However, this article proves that the ω-limit set is computable in linear
dynamical systems and gives a way to compute a semi-algebraic representation of this set.
The section 2 presents the problems we are going to solve and mathematical notions that
will be useful in the following. The next sections are the core of this paper: they prove the
main result of this paper, Theorem 1, that asserts that the ω-limit set of a given linear system
is semi-algebraic and thus computable. Part 3 recalls that putting the matrix into Jordan
form is doable. Then part 4 shows how to solve the problem in the specific case where the
matrix is in Jordan form.

2
2 Prerequisites
In this section we will first present the problems that motivate this document and some basic
definitions and results on polynomials and matrices.

2.1 Linear continuous-time dynamical systems


The dynamics of a linear dynamical system are described by a linear differential equation. To
describe such a system, we take a matrix of real numbers which will represent the dynamics
and a vector of reals that is the initial point. We use here classical definitions and notations
that can be found in [13].

Définition 1 (Linear continuous-time dynamical system) Given a matrix A ∈ Rn×n


and a vector X0 ∈ Rn . We define X as the solution of the following Cauchy problem:
(
X0 = AX
(1)
X(0) = X0 .

X is called a trajectory of the system.

Définition 2 (Reachability) Given A ∈ Rn×n , X0 ∈ Rn , Y ∈ Rn , the system is said to


reach Y from X0 if there exists t ∈ R such that X(t) = Y with X the trajectory defined as
the solution of 1.

Définition 3 (ω-limit points) Given a trajectory X, a point Y is an ω-limit point of X if


there is a diverging increasing sequence (tn ) ∈ RN such that Y = limn→+∞ X(tn ).

Définition 4 (ω-limit sets) The ω-limit set of a dynamical system is the set of its ω-limit
points: ω(X) = ∩n ∪t>n X(t), where A is the closure of the set A.

Définition 5 (semi-algebraic set) A subset S of Rn is called semi-algebraic if it can be


defined by a finite sequence of polynomial equations or a finite union of sets so described.
Formally, it can be written
 
[m  ^ ^ 
n
S= x ∈ R ; pi,j (x) = 0 ∧ pi,l (x) > 0
 
i=1 j l

Let us now define the problem that we will be interested in solving: the ω-limit set problem.

Problem 1 (ω-limit set) Given a dynamical system, compute a representation of its ω-


limit set.

The theorem 1 gives an answer to this problem for linear dynamical systems and proves
that the ω-limit set is semi-algebraic in this case.

3
2.2 Polynomials
Let us now recall a few notations, mathematical tools and algorithms on polynomials. In the
following, we use a field K that is a subfield of C. We will usually use Q as this field.

Définition 6 (Ring of polynomials) We denote K[X] the ring Pof one variable polynomials
with coefficients in K. A polynomial can be written as P (X) = ni=1 ai X i , with ai ∈ K. The
integer n is the degree of P .

Définition 7 (Roots of a polynomial) The set Z(P ) of roots of a polynomial P is defined


as Z(p) = {x ∈ C; P (x) = 0}

Définition 8 (Algebraic numbers) The set of roots of polynomials with coefficients in Q


is the set of algebraic numbers.

An algebraic number can be represented uniquely by the minimal polynomial it nulls (mini-
mal in Q[X] for the division) and a ball containing only one root of the polynomial. Note that
the size of the ball can be chosen using only the values of the coefficients of the polynomial
as [16] shows a bound on the distance between roots of a polynomial from its coefficient.

Définition 9 (Representation of an algebraic number) An algebraic number α will be


represented by (P, (a, b), ρ) where P is the minimal polynomial of α, a+ib is an approximation
of α such that |α − (a + ib)| < ρ and α is the only root of P in the open ball B(a + ib, ρ).

It can be shown that given the representations of two algebraic numbers α and β, the
representations of α + β, α − β, αβ and α/β can be computed: indeed the approximation
and bound are easy to obtain, and the minimal polynomial can be obtained using classical
properties of the resultant that gives the polynomial whose roots are the H(αi , βj ) with H a
polynomial. See [6, 8] for details.
We will also use the term commensurable in a specific way: two numbers are commensurable
if one is a multiple of the others by a rational factor.

Définition 10 (Commensurable numbers) Two numbers a and b are commensurable if


there exists a rational number p/q such that a = pq b.

Let us note that it is easy to check if two algebraic numbers are commensurable: given
the representations of those two numbers, we know how to compute the representation of
the fraction of those numbers. Then it suffices to check if this fraction is rational which is
equivalent to the minimal polynomial being of degree 1.

Proposition 1 (Q-linear independent algebraic numbers) Given the representations of


n algebraic numbers p1 , ..., pn , it is decidable P
whether they are Q-linear dependent which means
there exists (α1 , ..., αn ) ∈ Qn −(0) such that αi pi = 0. If so, then this n-uple is computable.

4
2.3 Matrices
Définition 11 (Characteristic polynomial) Given a matrix A ∈ Kn×n , its characteristic
polynomial is χA (X) = det(XIn − A)

Définition 12 (Exponential of a matrix) Given a matrix A, its exponential denoted exp(A)


is the matrix
+∞
X 1 i
A.
i!
i=1

Note that the exponential is well defined for all real matrices.
Given a square matrix A, we want to solve the Cauchy problem (1). To do that, we will
first put the matrix into a useful form: Jordan’s form and then compute the exponential of
the matrix as it is known that the solution of the linear differential equation will be closely
related to the exponential of the matrix A. All matrices can be put in Jordan form, which
allows to compute easily the exponential. To find more about Jordan matrices and blocks,
the reader may consult [13] or [14].

Définition 13 (Jordan block) A Jordan block is a square matrix of one of the two follow-
ing forms
 
λ
1 λ 
 
 .. .. 
 . . 
1 λ
or  
B
I2 B
   
a −b 1 0

 with B = and I2 =
 
 .. .. b a 0 1
 . . 
I2 B

Définition 14 (Jordan form) A matrix that contains Jordan blocks on its diagonal is said
to be in Jordan form.
 
D1 0 · · · 0
.. 
 0 D2 . . .

 . 
 .. . .

.. 
 . . . 0 
0 · · · 0 Dn

Proposition 2 ([14]) Any matrix A ∈ Rn×n is similar to a matrix in Jordan form. In other
words,

∃P ∈ GL(Rn×n ) and J in Jordan form such that A = P −1 JP.

5
3 Computing the Jordan form of a matrix
We are given a matrix A and an initial vector X0 containing rational elements. We want
compute a formal solution of the Cauchy problem (1). To do that, we will compute the
Jordan form of this matrix and the similarity matrices. The process of putting the matrix A
into Jordan form is a classical one which consists in four parts which are detailed in appendix:

• computing the characteristic polynomial;

• factorizing the polynomial in Q[X] (section A.1);

• computing the roots (section A.2);

• jordanizing the matrix (section A.3).

Let us note that the matrix we obtain is composed of algebraic numbers, hence we know
how to compute on those matrices.

4 Computing the ω-limit set of a dynamical system


Let us now suppose that the matrix A is in Jordan form and that A and X0 are composed of
algebraic numbers. Our goal is to compute the ω-limit set of the dynamical system defined
by the differential equation (1).

4.1 Computing the solution of the Cauchy problem


Let us first remark that the solution of this differential equation is simple to express. We
have  
D1 0 · · · 0
.. 
 0 D2 . . .

. 
A= .
. .

 .. . . . . 0

0 · · · 0 Dk

with the Di being Jordan blocks of the form


 
λ
1 λ 
Di =  (2)
 
.. .. 
 . . 
1 λ

or  
B
I2 B
   
a −b 1 0

Di =   with B = and I2 = (3)
 
.. .. b a 0 1
 . . 
I2 B

6
The solution of the Cauchy problem is then X(t) = exp(tA)X0 , which we can write as
 
exp(tD1 )
 exp(tD2 ) 
X(t) =   X0
 
..
 . 
exp(tDk )

And computing the exp(tDi ) is simple: in case Di is of the form (2),

1
 
t 1 
 t2 
exp(tDi ) = etλ  2
 t 1 ;

 .. .. .. .. 
 . . . . 
tm t2
m! ··· 2 t 1

if on the other hand, Di is of the form (3), then

B2
 
 tB2 B2   
t2 2 cos(tb) − sin(tb)
 
2 B2 tB2 B2
ta 
exp(tDi ) = e  with B = .

2
sin(tb) cos(tb)

 .. .. .. .. 
 . . . . 
tm m t2 2
m! B2 ··· 2 B2 tB2 B2

4.2 Simplifying the matrix


We can without losing information delete the Jordan blocks corresponding to zeros of the
initial vector. Indeed those blocks have no impact on the behaviour of the system as the
corresponding components will forever stay 0. We can in the same optic remove certain lines
and columns from the Jordan blocks if they will forever stay 0.
 Let  us write X0i for the components of X0 corresponding to each Di . Formally, X0 =
X01
X0 
 2
 ..  and the size of X0i being equal to the size of Di . This way, we can write X(t) =
 . 
X0k
 
exp(tD1 )X01
 exp(tD2 )X0 
2
.

 ..
 . 
exp(tDk )X0k
If X0i = 0, then ∀t, Xi (t) = 0. Hence we need not consider the i-th block to compute the
system.
If the l first components of X0j are 0, then we can erase the l first lines and columns from
the j-th Jordan block if it is of form (2) and only the 2 2l first lines and columns if the block
 

is in form (3).
We then obtain a representation of the solution where all Jordan blocks are useful and all
dimensions of the Jordan blocks have a repercussion on the result. From now on, when we

7
will talk of the multiplicity of a Jordan block, it will refer to its size in this new matrix, more,
for the case (3) as both a + ib and its conjugate have same influence, the multiplicity of the
corresponding Jordan block will be half the size of the matrix.

Définition 15 (Multiplicity of a Jordan block) Let D ∈ Rm×m be a Jordan block. If D


is of the form (2), its multiplicity is defined as being m. If D is of the form (3), its multiplicity
is defined as being m 2.

Notice that for the case (3), the size of the matrix is even. Notice also that since an
eigenvalue can be responsible for more than one Jordan block, the multiplicity of a Jordan
block is not the same as the multiplicity of the eigenvalue.

4.3 Computing the ω-limit set


There are now a few cases to consider. We will first consider the most simple cases and finish
with the more complicated ones. The cases we will consider are
• there is an eigenvalue with positive real part;
• there is an eigenvalue with null real part corresponding to a Jordan block of multiplicity
> 1;
• there are only eigenvalues with negative real part;
• other cases (the only eigenvalues with non negative real part have null real part and
multiplicity one).
If an eigenvalue has a positive real part, then a term eλt appears with λ > 0. It means that
the corresponding component will grow unboundedly. Hence the ω-limit set is empty.
If an eigenvalue has a null real part, the exponential part disappears, and the first com-
ponent will have a bounded trajectory. However, since we suppose that the multiplicity is
greater than one, a t factor will have to be taken into account. This factor makes the second
component grow unboundedly and hence the ω-limit set is empty.
In the case where all the eigenvalues have a negative real part, all components will have a
decreasing exponential in their expression and since for all integer m, tm exp(−t) converges
towards 0, all components will converge towards 0.
Otherwise, there will appear a trajectory that stay in a given region of the space and can
either be periodic (circles, or multi-dimensional Lissajous curves), either be dense in a specific
semi-algebraic set.

Théorème 1 Given a linear dynamical system, its ω-limit set is computable and is a semi-
algebraic set.

P roof: Let us compute the ω-limit set Ω for the different possible cases.
• If one eigenvalue has a positive real part, then

Ω = ∅.

Indeed, this component diverges towards 0 hence no real point will be a limit of a
subtrajectory.

8
• If one eigenvalue has a null real part and a multiplicity greater than 1,
Ω = ∅.
Indeed, the second component related to this eigenvalue will diverge to +∞ due to the
t term in the exponential matrix.
• If all eigenvalues have negative real part, all the components will converge to 0, regard-
less of the multiplicity of the eigenvalues, hence
Ω = {0k }.

• If all eigenvalues are non positive reals, then all the components corresponding to neg-
ative eigenvalues will converge to 0 as in the third case, the components corresponding
to a null eigenvalue will either be constant either diverge to +∞ if the multiplicity is
greater than 1. Hence, either
Ω = {(..., x0i , 0, ...)}.
either
Ω = ∅.
• Otherwise we have complex eigenvalues of null real part and multiplicity 1, and we may
have other eigenvalues, either 0 with multiplicity 1 (whose component will be constant),
either eigenvalues with negative real part (that will converge to 0). Only the complex
eigenvalues with null real part are of interest, so let us consider only them for now.
We have eigenvalues ib1 , −ib1 , ..., ibn , −ibn , with the bi being real algebraic numbers.
There are two cases to consider: either the family (b1 , b2 , ..., bn ) is Q linearly indepen-
dent, either it is not.
– Let us assume the (b1 , ..., bn ) is Q linearly independent. In this case, the trajectory
will not be periodic but instead will be dense in the set of points whose projections
on each (x2k+1 , x2k+2 ) are the circles defined by x22k+1 + x22k+2 = x2k+1 20 + x2k+1 20 .
Indeed, it is trivial if n = 1. Let us consider it true for n = k. It means that
for any given point (α11 , α12 , ..., αk1 , αk2 , αk+11 , αk+12 ) of that set, there exists a
sequence of times (ti )i∈N such that
1
k(x1 (ti ), ..., x2k (ti )) − (α11 , ..., αk2 )k <
.
2i
We can similarly, for any α build a sequence of times (tj )j∈N such that k(x2k+1 (tj ), x2k+2 (tj ))−
(αk+11 , αk+12 )k < 21j . Indeed, there exists a number t0 such that (x2k+1 (t0 ), x2k+2 (t0 )) =
(αk+11 , αk+12 ). So choosing tj = t0 + 2jπ verifies this constraint. As x are contin-
uous functions, those inequalities are true for neighbourhoods Vi , Vj of those ti , tj .
As bk+1 is not a linear combination of the b1 , ..., bk , for all i0 , j0 , there exist i0 > i0
and j 0 > j0 such that Vi0 ∩ Vj 0 6= ∅. If we take t?φ (i0 ) ∈ Vi0 ∩ Vj 0 , then we have
1
k(x1 (t? ), ..., x2k+2 (t? )) − (α11 , ..., αk+12 )k <
.
2i0 +1
Hence we have exhibited a sequence that converges towards the said point. Finally,
Ω = {(x1 , ..., xn ); ∀i, x22i+1 + x22i+2 = x202 i+1 + x202 i+2 }.

9
– Let us assume there exists α1 , ..., αn ∈ Qn with αn 6= 0 such that
X
αi bi = 0.

Let Ω1 be the ω-limit set while considering the n − 1 first components. Let us
eibt
 
cos(bt) − sin(bt) 0
first recall that is similar to . Hence, if we do the
sin(bt) cos(bt) 0 e−ibt
we obtain Xi (t) = X0i , and we have e αi = 1 and e−ibn t αn =
Q ibi t
variable
Qn−1 ibichange,
t
i=1 e αi and !
Y α Y
X0i X2n (t)αi = X0α2nn
i
Xi (t)αi .
i<n i<n

This polynomial equation is verified by all points of the trajectory and hence
constitutes a constraint on the ω-limit set. By an argument similar to the one
in the previous item, we can show that the set of points verifying this constraint
as well as all the projection constraints is effectively contained in the ω-limit set.
Hence, with Xi = (x2i−1 + ix2i ), we have

Ω = Ω1 ∩ {(x1 , ...., xn );x22n−1 + x22n = x22n−10 + x22n0 ∧


!
Y α Y
X0ii X2n (t)αi = X0α2nn Xi (t)αi }
i<n i<n

In each case, we have been able to give a formal representation of the ω-limit set, either as
the empty set, a single point or a combination of polynomial equations. All those descriptions
are semi-algebraic which proves the semi-algebraicity of the ω-limit set. 

References
[1] Eugene Asarin, Oded Maler, and Amir Pnueli. Reachability analysis of dynamical sys-
tems having piecewise-constant derivatives. Theoretical Computer Science, 138:35–65,
1995. 2

[2] Eugene Asarin and Gerardo Schneider. Widening the boundary between decidable and
undecidable hybrid systems. In Lubos Brim, Petr Jancar, Mojmı́r Kretı́nský, and An-
tonı́n Kucera, editors, CONCUR 2002 - Concurrency Theory, 13th International Con-
ference, volume 2421 of Lecture Notes in Computer Science, pages 193–208. Springer,
2002. 2

[3] Eugene Asarin, Gerardo Schneider, and Sergio Yovine. On the decidability of the reach-
ability problem for planar differential inclusions. In Maria Domenica Di Benedetto and
Alberto L. Sangiovanni-Vincentelli, editors, Hybrid Systems: Computation and Control,
4th International Workshop, HSCC 2001, volume 2034 of Lecture Notes in Computer
Science, pages 89–104. Springer, 2001. 2

[4] Jean Berstel and Maurice Mignotte. Deux propriétés décidables des suites récurrentes
linéaires. Bulletin de la Société Mathématique de France, 104:175–184, 1976. 2

10
[5] Vincent Blondel and John N. Tsitsiklis. A survey of computational complexity results
in systems and control. Automatica, 36(9):1249–1274, 2000. 2

[6] Alin Bostan. Algorithmique efficace pour des opérations de base en calcul formel. PhD
thesis, École polytechnique, décembre 2003. 4

[7] Olivier Bournez. Complexité algorithmique des systèmes dynamiques continus et hy-
brides. PhD thesis, École Normale Supérieure de Lyon, janvier 1999. 2

[8] Joel V. Brawley and Leonard Carlitz. Irreducibles and the composed product for poly-
nomials over a finite field. Discrete Mathematics, 65(2):115–139, 1987. 4

[9] Henri Cohen. A Course in Computational Algebraic Number Theory. Springer, 1993. 12

[10] Daniel S. Graça, Manuel L. Campagnolo, and Jorge Buescu. Robust simulations of Tur-
ing machines with analytic maps and flows. In S. B. Cooper, B. Löwe, and L. Torenvliet,
editors, CiE 2005: New Computational Paradigms, volume 3526 of Lecture Notes in
Computer Science, pages 169–179. Springer, 2005. 2

[11] Vesa Halava, Tero Harju, Mika Hirvensalo, and Juhani Karhumäki. Skolem’s problem
- on the border between decidability and undecidability. Technical Report 683, Turku
Center for Computer Science, 2005. 2

[12] Morris W. Hirsch, Stephen Smale, and Robert Devaney. Differential Equations, Dynam-
ical Systems, and an Introduction to Chaos. Elsevier Academic Press, 2003. 2

[13] Morris W. Hirsch and Steve Smale. Differential Equations, Dynamical Systems, and
Linear Algebra. Academic Press, 1974. 3, 5

[14] Jacqueline Lelong-Ferrand and Jean-Marie Arnaudiès. Cours de mathématiques, tome 1


: algèbre. Dunod, 1971. 5

[15] Edward N. Lorenz. Deterministic non-periodic flow. Journal of the Atmospheric Sciences,
20:130–141, 1963. 2

[16] Maurice Mignotte. An inequality about factors of polynomials. Mathematics of Compu-


tation, 28(128):1153–1157, 1974. 4

[17] Maurice Mignotte. Suites récurrentes linéaires. In Séminaire Delange-Pisot-Poitou.


Théorie des nombres, volume 15, pages G14–1–G14–9, 1974. 2

[18] James Dickson Murray. Mathematical Biology, volume 19 of Biomathematics. Springer


Verlag, Berlin, Germany, second edition, 1993. 2

[19] Joachim von zur Gathen and Jürgen Gerhard. Modern Computer Algebra. Cambridge
University Press, 2003. 12

11
A Appendix
A.1 Factorizing a polynomial in Q[X]
The characteristic polynomial χA (X) of the matrix A ∈ Qn×n belongs to Q[X]. We will first
factorize χA (X) in Q[X] to obtain some square-free polynomials. This is a classical problem.
One solution is to use Yun’s algorithm [19, p. 371] that writes our polynomial χA into the
form Y
χA = Rii
i
Q
where the Ri are square-free and do not share roots. The polynomial Ri is then a square-
free polynomial that has the same roots as P .

Proposition 3 Suppose given a polynomial P that we can write as


Y
P = (X − αj )βj

with the αj distinct. Let Q = P/ gcd(P, P 0 ), then Q is square-free and


Y
Q= (X − αj ).

We then want to factorize this polynomial Q in irreducible factors in Q[X]. This problem
is again a classical problem. An algorithm that achieves this goal is for example presented in
[9, p. 139].

Proposition 4 Given a square-free polynomial P ∈ Q[X], we can compute its factorization


in Q[X].
Q
So we have obtained Q = Qi with the Qi being polynomial that are irreducible in Q[X]

A.2 Computing the roots


To obtain χA ’s roots, we are going to compute the roots of Q. Those are algebraic numbers.
We only then need to compute a representation of each of those roots. It means finding the
minimal polynomial and giving a rational approximation of the root and an error bound to
discriminate other roots of the minimal polynomial. Let us consider a Qi .
There can be both real roots and complex roots that are not real. Sturm’s theorem allows
us to know the number of each of them [9, pp. 153-154]. We can then find the real roots
with, for example, Newton’s iteration algorithm [19, sec. 9.4]. The complex roots will for
example be computed with Schönhage’s method.
From this, we obtain approximations of the roots of the polynomial Qi . Let αj be one
of those roots. The minimal polynomial of αj divides Qi and belongs to Q[X]. As Qi is
irreducible in Q[X], the minimal polynomial can only be Qi (1 has no root and hence cannot
be a minimal polynomial).
Q
We then obtain a factorization of Q as (X −αj ) with the αj explicitly defined as algebraic
numbers.

12
A.3 Jordanizing the matrix
The final step to be able to use the method described earlier is to do the factorization of
χA in C[X]. In fact, it is sufficient to do it in Q({αj })[X] to obtain a factorization into
monomials. So from now on, we will work in Q({αj }) which is the field generated from Q
and the algebraic numbers {αj }.
To find the multiplicity of each root, we just need to know how many times the minimal
polynomial divides χA . We then obtain a decomposition
Y Y
χA (X) = (X − ai )bi ((X − αi )(X − ᾱi ))βi

with the αi being the complex not real roots and the ai the real roots.
 
ai
 1 ai 
The different Jordan blocks composing the matrix are either   either
 
.. ..
 . . 
1 ai
 
B
I2 B
 
p −q

 with B = for αi = p + iq. Note that an eigenvalue can be
 
 .. .. q p
 . . 
I2 B
responsible for more than one block. The number of different blocks an eigenvalue λ creates
is dim(ker(A − λ)). Similarly, let δi = dim(ker(A − λ)i ), δi+1 − δi is the number of blocks of
size at least i + 1. We can hence know the number of blocks of each size and write a Jordan
matrix J consisting of blocks in decreasing size order (any order would be fine). This Jordan
matrix is similar to the original matrix A.
We finally need to compute the similarity matrix P which will be such that A = P −1 JP .
This matrix is obtained by computing the eigenvectors of the matrix A (or J).

13

You might also like