• Aucun résultat trouvé

On the effective computation of stabilizing controllers of 2D systems

N/A
N/A
Protected

Academic year: 2021

Partager "On the effective computation of stabilizing controllers of 2D systems"

Copied!
21
0
0

Texte intégral

(1)

HAL Id: hal-02419719

https://hal.inria.fr/hal-02419719

Submitted on 23 Dec 2019

HAL

is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire

HAL, est

destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

On the effective computation of stabilizing controllers of 2D systems

Yacine Bouzidi, Thomas Cluzeau, Alban Quadrat, Fabrice Rouillier

To cite this version:

Yacine Bouzidi, Thomas Cluzeau, Alban Quadrat, Fabrice Rouillier. On the effective computation of stabilizing controllers of 2D systems. Maple Conference, Oct 2019, Waterloo, Canada. pp.19,

�10.1007/978-3-030-41258-6_3�. �hal-02419719�

(2)

controllers of 2D systems

Yacine Bouzidi1, Thomas Cluzeau2, Alban Quadrat3, and Fabrice Rouillier3

1 Inria Lille - Nord Europe, 40 Avenue Halley, 59650 Villeneuve d’Ascq, France yacine.bouzidi@inria.fr

2 CNRS ; XLIM UMR 7252, 87060 Limoges Cedex, France thomas.cluzeau@unilim.fr

3 Inria Paris, Ouragan project, IMJ – PRG, Sorbonne University, France {alban.quadrat,fabrice.rouillier}@inria.fr

Abstract. In this paper, we show how stabilizing controllers for 2D sys- tems can effectively be computed based on computer algebra methods dedicated to polynomial systems, module theory and homological alge- bra. The complete chain of algorithms for the computation of stabilizing controllers, implemented inMaple, is illustrated with an explicit example.

Keywords: Multidimensional systems theory · 2D systems · stability analysis·stabilization·computation of stabilizing controllers·polyno- mial systems·module theory·homological algebra.

1 Introduction

In the eighties,the fractional representation approach to analysis and synthesis problemswas introduced by Vidyasagar, Desoer, etc., to unify different problems studied in the control theory community (e.g., internal/strong/simultaneous/op- timal/robust stabilizability) within a unique mathematical framework [12,27].

Within this approach, different classes of linear systems (e.g., discrete, continu- ous, finite-dimensional systems, infinite-dimensional systems, multidimensional systems) can be studied by means of a common mathematical formulation.

The main idea of this approach is to reformulate the concept ofstability − central in control theory −as a membership problem. More precisely, a single- input single-output (SISO) linear system, also calledplant, is defined as an ele- mentpof thequotient field (field of fractions)Q(A) =n

d |06=d, n∈A of an integral domainAof SISO stable plants [27]. Hence, ifp∈A, thenpisA-stable (simplystable when the reference toA is clear) and unstable if p∈Q(A)\A.

More generally, a multi-input multi-output (MIMO) plant can be defined by a matrixP ∈Q(A)q×r. Hence, it is stable ifP ∈Aq×r, unstable otherwise.

Different integral domains A of SISO stable plants are considered in the control theory literature depending on the class of systems which is studied. For instance, the Hardy (Banach) algebra H(C+) formed by all the holomorphic functions in the open-right half plane C+ = {s ∈ C | <(s) > 0} which are bounded for the norm k f k= sups∈C+|f(s)| plays a fundamental role in

(3)

stabilization problems of infinite-dimensional linear time-invariant systems (e.g., differential time-delay systems, partial differential systems) since its elements can be interpreted as theLaplace transform of L2(R+)−L2(R+)-stable plant (i.e., any inputuof the system inL2(R+) yields an outputyinL2(R+)) [10]. Similarly, the integral domainRH of proper and stable rational functions, i.e., the ring of all rational functions in H(C+), corresponds to the ring of exponentially stable finite-dimensional linear time-invariant systems (i.e., exponentially stable ordinary differential systems with constant coefficients) [27].

In this paper, we shall focus on the class ofdiscrete multidimensional systems which are defined by multivariate recurrence relations with constant coefficients or, using the standardZ-transform, by elements of the fieldR(z1, . . . , zn) of real rational functions in z1, . . . , zn. The latter is the field of fractions Q(A) of the integral domainAofSISO structurally stable plants defined by

R(z1, . . . , zn)S:=nn

d |06=d, n∈B, gcd(d, n) = 1, V(hdi)∩Un=∅o , where B := R[z1, . . . , zn] denotes the polynomial ring in z1, . . . , zn with coeffi- cients in R, gcd(d, n) thegreatest common divisor ofd, n∈B, and

V(hdi) ={z= (z1, . . . , zn)∈Cn|d(z) = 0}

theaffine algebraic set defined byd∈B, i.e., the complex zeros ofd, and finally Un ={z= (z1, . . . , zn)∈Cn| |zi| ≤1, i= 1, . . . , n}

theclosed unit polydisc ofCn. It can be shown thatp∈R(z1, . . . , zn)S implies that the plantpisbounded-input bounded-output stablein the sense that an input uinl(Zn+) yields an outputy inl(Zn+). See, e.g., [16,15].

Despite the simplicity of the main idea of the fractional representation ap- proach, i.e., to express stability as a membership problem, many problems stud- ied in control theory were reformulated as algebraic (analysis) problems. For instance, internal/strong/simultaneous/optimal/robust stabilizability can be re- formulated within this mathematical approach and solved for particular integral domainsAsuch asRH [27]. But these problems are still open for the class of infinite-dimensional systems [10] and multidimensional systems [16,15].

The goal of this article is to combine results obtained in [2,4,5,6,20,21] to obtain a complete algorithmic approach to the computation of stabilizing con- trollers for 2D stabilizable MIMO systems. In [5], the problem was solved for SISO systems. To handle the class of MIMO systems, we use the module- theoretic approach to the fractional representation approach [20,21]. More pre- cisely, in [6], the main steps towards an algorithmic computation of stabilizing controllers for general nD systems are explained based on computer algebra methods. In this paper, we focus on 2D MIMO systems for which the so-called Polydisk Nullstellensatz [7] has received an effective version in [5] (which is not the case for generalnD systems), which yields a complete algorithmic approach to the computation of stabilizing controllers for 2D stabilizable MIMO systems.

(4)

Our algorithms were implemented in the computer algebra system Maple, based on both the packagenDStab−dedicated to stability and stabilizability of nD systems−and on theOreModulespackage [9] which aims to study linear systems theory based on effective module theory and homological algebra.

2 The fractional representation approach

In what follows, we shall use the following notations.A will denote an integral domain of SISO plants, K := Q(A) = n

d |06=d, n∈A its quotient field, P ∈Kq×r a plant,C∈Kr×q a controller, andp=q+r.

u1 +

+

e1

C

e2 + + u2

y2

y1

P

Fig. 1.Closed-loop system

With the notations of Figure 1 defining the closed-loop system formed by the plantP and the controllerC, we get (eT1 eT2)T =H(P, C) (uT1 uT2)T, where the transfer matrixH(P, C)∈Kp×p is defined by:

H(P, C) := Iq −P

−C Ir

!−1

= (Iq−P C)−1 (Iq−P C)−1P C(Iq−P C)−1 Ir+C(Iq−P C)−1P

!

= Iq+P(Ir−C P)−1C P(Ir−C P)−1 (Ir−C P)−1C (Ir−C P)−1

! .

Definition 1 ([27]). A plantP ∈Kq×r isinternally stabilizableif there exists C∈Kr×q such that H(P, C)∈Ap×p. Then, C is a stabilizing controller ofP.

IfH(P, C)∈Ap×p, then we can easily prove that all the entries of any transfer matrix between two signals appearing in Figure 1 areA-stable (see, e.g., [27]).

A fundamental issue in control theory is to first test if a given plant P is internally stabilizable and if so, to explicitly compute a stabilizing controller of P, and by extension the family Stab(P) of all its stabilizing controllers.

To do that and to study other stabilization problems such as robust control, the fractional approach to systems was introduced in control theory [12,27].

Definition 2. A fractional representation of P ∈ Kq×p is defined by P = D−1N =NeDe−1, whereR:= (D −N)∈Aq×pandRe= (NeT DeT)T ∈Ap×r.

(5)

A plantP ∈Kq×ralways admits a fractional representation since we can al- ways considerD=d Iq,De =d Ir, wheredis the product of all the denominators of the entries ofP, which yieldsN =D P ∈Aq×randNe =PDe ∈Aq×r.

3 Testing stability of multidimensional systems

3.1 Stability tests for nD systems

A fundamental issue in the fractional representation approach is to be able to solve the following membership problem: let p∈K :=Q(A), check whether or notp∈A. The answer to this problem depends onA.

In this paper, we shall focus on the case A := Q(z1, . . . , zn)S defined in the introduction, and mainly on 2D systems for the stabilization issue, i.e., on A=Q(z1, z2)S. Since we shall only consider exact computation methods based on computer algebra techniques, in what follows, we consider the ground field to be Qinstead of R. Tests for stability of multidimensional systems have largely been investigated in both the control theory and signal processing literatures.

For more details, see the surveys [16,15] and the references therein.

LetB:=Q[z1, . . . , zn] be the commutative polynomial ring overQ. We first note thatK:=Q(A) =Q(z1, . . . , zn) =Q(B). Moreover,A=Q(z1, . . . , zn)S is thelocalization BS :=S−1B ={b/s|b ∈B, s∈S} of the polynomial ring B with respect to the(saturated) multiplicatively closed subset ofB defined by:

S:={b∈B|V(hbi)∩Un=∅}.

Any elementp∈Kcan be written asp=n/dwith 06=d, n∈B. Moreover, we can always assume that the greatest common divisor gcd(d, n) is reduced to 1.

Hence, given an elementp=n/d∈K, gcd(d, n) = 1, we get thatp∈A=BS iff d∈S. The membership problem is reduced to checking whether or notd∈S.

Let us study how this problem, i.e., the stability test, can be effectively checked.

Setting zk = uk +i vk, where uk, vk ∈ R, for k = 1, . . . , n, and writing b(z1, . . . , zn) =c1(u1, . . . , un, v1, . . . , vn) +i c2(u1, . . . , un, v1, . . . , vn), where the ci’s are two real polynomials in the real variables uk’s and vk’s, V(hbi)∩Un yields the following semi-algebraic set:





c1(u1, . . . , un, v1, . . . , vn) = 0, c2(u1, . . . , un, v1, . . . , vn) = 0, u2k+v2k≤1, k= 1, . . . , n.

(1)

Real algebraic methods such as CAD [1] can then be used to solve this problem for smalln. But they quickly become impracticable in practice fornD systems, even forn≥2, since the number of unknowns has been doubled in (1). Hence, an algebraic formulation, more tractable for explicit computation, must be found.

The next theorem gives a mathematical characterization ofV(hbi)∩Un=∅.

Theorem 1 ([11]). Let b ∈ R[z1, . . . , zn] and Tn =Qn

i=1{zi ∈C | |zi| = 1}.

Then, the following assertions are equivalent :

(6)

1. V(hb(z1, . . . , zn)i)∩Un =∅.

2.













V(hb(z1,1, . . . ,1)i)∩U=∅, V(hb(1, z2,1, . . . ,1)i)∩U=∅,

...

V(hb(1, . . . ,1, zn)i)∩U=∅, V(hb(z1, . . . , zn)i)∩Tn =∅.

In [2], it is shown how 2 of Theorem 1 can be effectively tested by means of computer algebra methods. Let us shortly state again the main idea. The first nconditions of 2 of Theorem 1 can be efficiently checked by means of standard stability tests for 1D systems such as [26]. The only remaining difficulty is the last condition, which must be transformed into a more tractable algorithmic formulation. To do that, we can introducethe M¨obius transformation

ϕ:R

n−→Tn,

t:= (t1, . . . , tn)7−→z:= (z1, . . . , zn) =

t1−i

t1+i, . . . ,tn−i tn+i

,

with the notations R=R∪ {∞} andT=T\ {1}. Note that we have:

zk =uk+i vk= tk−i

tk+i =t2k−1

t2k+ 1 −i 2tk

t2k+ 1.

We can easily check thatϕis bijective and thatt=ϕ−1(z) is defined by:

t=

i1 +z1 1−z1

, . . . , i1 +zn 1−zn

.

Now, substitutingz=ϕ(t) into b(z), we getb(ϕ(t)) =c1(t) +i c2(t), where theci’s are two real rational functions of the real vectort. Writingcj =nj/dj, wherenj, dj ∈Q[t] and gcd(dj, nj) = 1, thenb(z) = 0 is equivalent toc1(t) = 0 andc2(t) = 0, i.e., ton1(t) = 0 andn2(t) = 0. Hence, the problem of computing V(hbi)∩Tn is equivalent to the problem of computingV(hn1, n2i)∩Rn. In partic- ular, we getV(hbi)∩Tn =∅iffV(hn1, n2i)∩Rn=∅.Critical point methods(see [1]) can be used to check the last condition. Indeed, they characterize a real point on every connected component ofV(hn1, n2i)∩Rn. Finally, while working over Tn and not overTn, we are missing to test the stability criterion on the particu- lar set of points{(1, z2, . . . , zn), . . . ,(z1, . . . , zn−1,1)}ofTn\Tn. Hence, we have to study the stability of the polynomials b(1, z2, . . . , zn), . . . , b(z1, . . . , zn−1,1) separately based on the same method. This can be studied inductively on the dimension. The corresponding algorithm [2] is given in Algorithm 1 (see below).

3.2 An efficient stability test for 2D systems

Forn= 2, with the notations of (1), the last condition of 2 of Theorem 1, i.e., checking whether or not V(hbi)∩T2 is empty, amounts to search for the real

(7)

Algorithm 1IsStable

1: procedureIsStable(b(z1, . . . , zn)) .Return true ifV(hbi)∩Un=∅ 2: fork= 0 ton−1do

3: Compute the setSkof polynomials obtained by substitutingkvariables by 1 intob(z1, . . . , zn)

4: foreach elementbinSk do 5: {n1, n2}=M¨obius transform(b) 6: if V(hn1, n2i)∩Rn6=∅then 7: returnFalse

8: end if

9: end for 10: end for 11: returnTrue 12: end procedure

solutions (u1, v1, u2, v2) of the followingzero-dimensional polynomial system c1(u1, u2, v1, v2) = 0, c2(u1, u2, v1, v2) = 0, u21+v21= 1, u22+v22= 1, i.e., for the real solutions of a polynomial system which only has a finite number of complex solutions. Hence, the problem is reduced to deciding if a polynomial system in two variables, which has finitely many complex solutions, admits real ones. Based on this idea, an efficient algorithm for testing stability of 2D systems is given in [3,4]. Let us explain it. According to the end of Section 3.1, using the M¨obius transformationϕ,V(hb(z1, z2)i)∩T2=∅ is equivalent to:





V(hn1, n2i)∩R2=∅, b(1, z2)6= 0, |z2|= 1, b(z1,1)6= 0, |z1|= 1.

Since the last two conditions of the above system can be efficiently checked by means of, e.g., [26], let us concentrate on the first condition, i.e., on the prob- lem of deciding when a zero-dimensional polynomial systemV(hn1, n2i) in two variablest1 andt2has real solutions. The main idea is to reduce the problem of checking the existence of real solutions of such a polynomial system to the prob- lem of checking the existence of real roots of a well-chosen univariate polynomial.

A convenient method to do that is the so-calledunivariate representation of the solutions [24,25]. Let us recall this concept. Given a zero-dimensional polynomial idealI inQ[t1, t2], a univariate representation consists in the datum of a linear forms=a1t1+a2t2, witha1, a2∈Q, and three polynomialsh, ht1, ht2 ∈Q[s]

such that the applications

φ:V(I)−→V(hhi) ={s∈C|h(s) = 0}

t= (t1, t2)7−→s=a1t1+a2t2,

ψ:V(hhi)−→V(I)

s7−→t= (ht1(s), ht2(s)), provide a one-to-one correspondence between the zeros of I and the roots ofh.

In that case, the linear form s=a1t1+a2t2 is said to be separating.

(8)

A key property of the 1-1 correspondence φ=ψ−1 is that it preserves the real zeros of V(I) in the sense that any real zero of V(I) corresponds a real root of hand conversely. As a consequence, deciding if V(I) has real zeros is equivalent to deciding if the univariate polynomialhhas real roots.

From a computational viewpoint, to conclude on the existence of real zeros of V(I), it is sufficient to compute a separating linear form for V(I) and the corresponding univariate polynomialh. In [3,4], an efficient algorithm based on resultants andsubresultant sequences [1] is used to perform these computations and, then to conclude about the stability of 2D systems.

4 Testing stabilizability of 2D systems

4.1 Module-theoretic conditions for stabilizability

As explained in Section 2, a fractional representation of a plant P ∈ Kq×p is defined by P = D−1N, where R = (D −N) ∈ Aq×(q+r). See Definition 2.

Let us setp=q+r. SinceA is an integral domain and R is a matrix, we are naturally in the realm of module theory [13,23], which is the extension of linear algebra for rings. GivenR∈Aq×p, we shall consider the following A-modules:





kerA(.R) :={µ∈A1×q |µ R= 0},

imA(.R) =A1×qR:={λ∈A1×p| ∃ν∈A1×q: λ=ν R}, cokerA(.R) =A1×p/(A1×qR).

We recall that factorA-moduleM := cokerA(.R) =A1×p/(A1×qR) is defined by the generators {yj =π(fj)}j=1,...,p, where{fj}j=1,...,p denotes the standard basis of the freeA-moduleA1×p, namely, the basis formed by the standard basis vectors fj’s (i.e., the row vectors of length pwith 1 at the jth position and 0 elsewhere), and π : A1×p −→ M is the A-homomorphism (i.e., A-linear map) which sends λ ∈ A1×p onto its residue class π(λ) in M (i.e., π(λ0) = π(λ) if there exists µ ∈ A1×q such that λ0 = λ+µ R). One can prove that the generatorsyj’s satisfy theA-linear relationsPp

j=1Rijyj= 0,i= 1, . . . , q, where Rij stands for the (i, j) entry ofR. For more details, see, e.g., [20,8,22]. Hence, if we note byy= (y1, . . . , yp)T, then the above relation can formally be rewritten as R y= 0, which explains why theA-moduleM is used to study the linear system R y = 0. Using module theory, a characterization of stabilizability, namely, of the existence of a stabilizing controllerC for a given plantP, was obtained.

Theorem 2 ([21]). Let P ∈ Kq×r, p = q+r, P = D−1N be a fractional representation of P, where R = (D −N)∈ Aq×p, and M =A1×p/(A1×qR) theA-module finitely presented byR. Then,P is internally stabilizable iff theA- moduleM/t(M)is projective, wheret(M) :={m∈M | ∃a∈A\{0}: a m= 0}

is the torsion submodule of M. In other words, P is internally stabilizable iff there exist an A-moduleLands∈Z≥0 such that L⊕M/t(M)∼=A1×s.

According to Theorem 2, we have to study the following two problems:

(9)

1. Explicitly characterize t(M), and thusM/t(M).

2. Check whether or not M/t(M) is a projectiveA-module.

Both problems can be solved by homological algebra methods [23]. In the rest of the paper, we shall suppose that A is a coherent ring [23,20]. For instance, we can consider the coherent but non-noetherian integral domainH(C+) (see Introduction) or anynoetherian ring such as R(z1, . . . , zn)S or RH. The cat- egory of finitely presented modules over a coherent integral domain is a natural framework for mathematical systems theory [20].

Let us introduce the definition of anextension module [13,23]. Let us consider a finitely presentedA-moduleL:=A1×q0/(A1×q1S1), whereS1∈Aq1×q0. Since Ais coherent, kerA(.S1) is a finitely generatedA-module, and thus there exists a finite family of generators of kerA(.S1). Stacking these row vectors ofA1×q1, we obtainS2 ∈Aq2×q1 such that kerA(.S1) = imA(.S2) =A1×q2S2. Repeating the same process withS2, etc., we get the followingexact sequence ofA-modules

. . . .S3 //A1×q2 .S2 //A1×q1 .S1 //A1×q0 κ //L //0, (2) i.e., kerA(.Si) = imA(.Si+1) for i≥1, where κis the epimorphism which maps η ∈ A1×q0 onto its residue class κ(η) in L. This exact sequence is called free resolution of L [13,23]. “Transposing” (2), i.e., applying the contravariant left exact functor RhomA(·, A) to (2), we get the followingcomplex ofA-modules

. . . .S A1×q2

T

oo 3 .S A1×q1

T

oo 2 .S A1×q0

T

oo 1 oo 0,

i.e., imA .SiT

⊆kerA .Si+1T

fori≥1. We introduce the followingA-modules:

(ext0A(L, A)∼= kerA .S1T , extiA(L, A)∼= kerA .Si+1T

/imA .SiT , i≥1.

It can be shown that, up to isomorphism, the A-modules extiA(L, A)’s depend only onLand not on the choice of the free resolution (2) ofL, i.e., on the choice of the matricesSi’s. It explains the notation extiA(L, A). See [13,23].

Theorem 3 ([20]). With the notations of Theorem 2, we have:

1. t(M) ∼= ext1A(T(M), A), where T(M) := A1×q/ A1×pRT

is the so-called Auslander transposeof M (i.e., the A-module finitely presented by RT).

2. Let us suppose that the weak global dimension ofA is finite and is equal to n. Then, the obstruction forM/t(M)to be projective is defined by

I=

n

\

i=2

annA extiA(T(M/t(M)), A ,

whereannA(L) :={a∈A|a L= 0} is theannihilator of a A-moduleL.

Hence,M is projective iff we have I=A.

(10)

Let us now show how Theorem 3 can be used to check whether or not a nD system P is stabilizable. Let A =Q(z1, . . . , zn)S, B = Q[z1, . . . , zn], K = Q(A) =Q(z1, . . . , zn), andP∈Kq×r. SinceK=Q(B), we can write each entry Pij of P asPij =nij/dij, where 06=dij, nij ∈B, and gcd(dij, nij) = 1. Let us denote bydthe least common multiple of all thedij’s and setD=d Iq ∈Bq×q, N =D P ∈Bq×p, andR= (D −N)∈Bq×p. Let us also consider the finitely presented B-module L := B1×p/(B1×qR). Since A = S−1B is a localization (see Section 3),Ais a flat B-module [13,23], we then get that

A⊗BL∼=A1×p/(A1×qR) =M,

where⊗B stands for thetensor productofB-modules [13,23]. Note thatA⊗BL can be understood as theA-module obtained by extending the coefficients of the B-moduleL toA. Using elimination theory over B (e.g., Gr¨obner bases, Janet bases), given the matrixRT, we can compute kerB .RT

, i.e., thesecond syzygy module ofT(L) =B1×q/ B1×pRT

[13,23]. For more details, see [8,13,22] and [9] for theOreModulespackage which handles such computations. Hence, we can compute the beginning of a free resolution of theB-moduleT(L):

0oo T(L)oo σ B1×q .R B1×p

oo T .Q B1×m.

oo T

Applying the functor RhomB(·, B) to it, we obtain the complex ofB-modules:

0 //B1×q .R //B1×p .Q //B1×m.

Therefore, we gett(L) = ext1B(T(L), B) = kerB(.Q)/imB(.R) and since we can also compute a matrixR0 ∈Bq0×p such that kerB(.Q) = imB(.R0), we obtain:

t(L) = (B1×q0R0)/(B1×qR) ⇒ L/t(L) =B1×p/(B1×q0R0).

The corresponding computations can be handled by theOreModulespackage [9]. Hence, based, e.g., on Gr¨obner basis techniques, we can find an explicit presentationR0∈Bq0×pof theB-moduleL/t(L). SinceA=S−1B, we get [23]

A⊗Bt(L)∼=A⊗Bext1B(T(L), B)∼= ext1A(A⊗BT(L), A)∼= ext1A(T(M), A)∼=t(M), which yieldsA⊗B(L/t(L))∼= (A⊗BL)/(A⊗Bt(L))∼=M/t(M). Thus, we have

M/t(M)∼=A⊗B

B1×p/(B1×q0R0)

∼=A1×p/(A1×q0R0),

which shows thatR0∈Bq0×pis a presentation matrix of theA-moduleM/t(M), which explicitly solves the first point.

Let us now consider the second one, i.e., the problem of testing whether or notM/t(M) is a projectiveA-module. Clearly, we have:

A⊗BT(L/t(L)) =A⊗B

B1×q0/

B1×pR0T

∼=A1×q0/

A1×pR0T

=T(M/t(M)).

(11)

Moreover, since the localizationA=S−1B commutes with the intersection of ideals andS−1annB(P) = annS−1B(S−1P) for a finitely generatedB-module P (see, e.g., [13,23]), using the fact that theB-modules extiB(T(L/t(L)), B)’s are finitely generated, we then obtain:

A⊗B n

\

i=2

annB(extiB(T(L/t(L)), B)

!

∼=

n

\

i=2

annA extiA(T(M/t(M)), A .

Hence, if we denote byI=Tn

i=2annA extiA(T(M/t(M)), A

the obstruction for theA-moduleM/t(M) to be projective (see 2 of Theorem 3) and similarly byJ = Tn

i=2annB(extiB(T(L/t(L)), B) the obstruction for theB-module L/t(L) to be projective, thenI∼=A⊗BJ. We note that the idealJcan be explicitly computed by means of elimination theory (e.g., Gr¨obner/Janet bases) and implemented in a computer algebra system (see theOreModules[9]). For more details, see [8].

Hence,M/t(M) is a projectiveA-module iffI=A, i.e., iff S−1J =S−1B, i.e., iffJ∩S 6=∅, i.e., iff there existsb∈J such thatV(hbi)∩Un=∅.

4.2 Towards an effective version of the Polydisc Nullstellensatz The conditionJ∩S6=∅yields the so-called Polydisc Nullstellensatz.

Theorem 4 (Polydisc Nullstellensatz, [7]). Let J be a finitely generated ideal of B=Q[z1, . . . , zn]. Then, the two assertions are equivalent:

1. V(J)∩Un =∅.

2. There existsb∈J such that V(hbi)∩Un=∅.

To our knowledge, there is no effective version of the Polydisc Nullstellensatz for a general idealJ. But, in [5], it is shown how the first condition of Theorem 4 can be effectively tested for a zero-dimensional polynomial systemJ, i.e., when B/J is a finite-dimensionalQ-vector space, or equivalently whenV(J) is defined by a finite number of complex points. Given a zero-dimensional polynomial ideal J inQ[z1, . . . , zn], a first step consists in computing a univariate representation ofV(J). Such a representation characterizes the zeros (z1, . . . , zn) ofV(J) as:









h(t) = 0, z1=h1(t),

... zn=hn(t).

(3)

Using (3), we now have to check whether or not|z1| ≤1, . . . ,|zn| ≤1. To do, at the solutionszk=uk+i vkof (3), whereuk, vk∈R, we have to study the sign of thenpolynomialsu2k+v2k−1 fork= 1, . . . , n. From a computational viewpoint, a problem occurs when one of these polynomials vanishes. In that case, numerical computations are not sufficient to conclude. The algorithm, proposed in [5], proceeds by following the following three main steps:

(12)

1. Compute a set of hypercubes inR2nisolating the zeros ofV(J). Each coordi- nate is represented by a boxBin R2 obtained from the intervals containing its real and imaginary parts.

2. For each zk, compute the numberlk of zeros ofJ satisfying |zk| = 1. This can be obtained by using classical stability test for 1D systems applied to theelimination polynomial pk ofJ with respect tozk, i.e.,J∩Q[zk] =hpki.

3. For each zk, refine the isolating boxes of the solutions until exactlylk inter- vals obtained from the evaluation ofu2k+vk2−1 at these boxes contains zero.

The boxes that yield strictly positive evaluation are discarded.

At the end of these three steps, if all the isolating boxes were discarded, then V(J)∩Un =∅, and thus the plantP is stabilizable. Otherwise, the remaining boxes correspond to elements ofV(J)∩Un, which shows thatV(J)∩Un6=∅and the plantP is not stabilizable. The algorithm testing 1 of Theorem 4 in the case of a zero-dimensional idealJ is given in Algorithm 2. It should be stressed that the symbolf(B) used in this algorithm denotes the interval resulting from the evaluation of the polynomialf at the boxB using interval arithmetic.

Based on Algorithm 2, we can effectively check whether or not a 2D system is stabilizable since whenn= 2,J = annB(ext2B(T(L/t(L)), B)), andB/Jis either B, which corresponds to L/t(L) is a projectiveB-module, or zero-dimensional which corresponds to L/t(L) is torsion-free but not projective. More generally, the method developed in [5] can be applied to a B-module L/t(L) satisfying extiB(T(L/t(L)), B) = 0 for i = 1, . . . , n−1. For instance, if n = 3, the last conditions mean thatL/t(L) is areflexive B-module [8].

Algorithm 2IsStabilizable

Input:A set ofrpolynomials{p1, . . . , pr} ⊂Q[z1, . . . , zn] defining a zero-dimensional idealJ=hp1, . . . , pri.

Output:TrueifV(hp1, . . . , pri)∩Un=∅, andFalseotherwise.

Begin

{h, hz1, . . . , hzn}:=Univ R({p1, . . . , pr});

{B1, . . . , Bd}:=Isolate(f);

LB:={B1, . . . , Bd}and:= mini=1,...,d{w(Bi)};

Forkfrom 1 tondo

lk:=]{z∈V(I)| |zk|= 1};

While]{i|0∈(<(hzk)2+=(hzk)2−1)(Bi)}> lkdo :=/2;

Fori= 1, . . . , d, setBi:=Isolate(f, Bi, );

End While

LB :=LB\ {Bi|(<(hzk)2+=(hzk)2−1)(Bi)⊂R+};

IfLB ={}, thenReturnTrueEnd If;

End For ReturnFalse.

End

(13)

5 Computing stabilizing controllers of 2D systems

For a zero-dimensional idealJ =hp1, . . . , pri, an algorithm is given in [5] for the computationb∈J satisfying 2 of Theorem 4. In the following, we briefly outline the algorithm for n = 2. The method is an effective variant of the approach proposed in [14] which consists in considering the elimination polynomials rzk with respect to the variable zk defined by J ∩Q[zk] = hrzki and to factorize them into stable and unstable factors, i.e., rzk =rzk,srzk,u, where the roots of rzk,s (resp.,rzk,u) are outside (resp., inside) the closed unit disc Ufork= 1,2.

Then, we can define a stable polynomialb=rz1,s(z1)rz2,s(z2) and Gr¨obner basis methods are finally used to get the cofactorsui’s defined byb=Pr

k=1ukpk. Since the factorizations of the polynomialsrz1 and rz2 are performed in C, the resulting factors rzk,s do not have usually their coefficients inQ. This pre- vents the polynomialb(and theui’s) from being computed exactly inQ[z1, z2].

To overcome this issue, the method developed in [5] uses an univariate repre- sentation of the solutions ofV(J) to compute approximate factorizations ofrzi over Q and construct a Nullstelenstaz relation on the corresponding approxi- mated ideal. For a suitable approximation, the main result in [5] shows that the obtained cofactors ui’s for the approximated ideal hold for the initial ideal J, which yields a stable polynomialb∈J, i.e., b∈J∩S.

More precisely, given an ideal J ⊂ Q[z1, z2], the method proceeds by first computing a univariate representation{h(t) = 0, z1=h1(t), z2 =h2(t)} of the zeros ofJ with respect to a separating formt=a1z1+a2z2. Then, we consider the idealJr=hh(t), z1−h1(t), z2−h2(t)i ⊂Q[t, z1, z2] which is the intersection of the idealJandht−a1z1−a2z2i. Using the univariate representation, approx- imations of the polynomials rz1,s,rz2,s, and b, respectively denoted by ˜r1,s,r˜2,s

and ˜b, are then computed as follows:

1. We approximate the complex roots γ1, . . . , γn ofh(t) so that their real and imaginary parts are given by rational numbers. The resulting approximations are denoted by ˜γ1, . . . ,γ˜n.

2. For each approximation ˜γk, if|hzi(˜γk)| >1, add the factorzi−hzi(˜γk) to the polynomial ˜rk,s.

3. Compute ˜b=Qn k=1˜rk,s.

Finally, using the polynomial ˜b, a Nullstellensatz relation is computed for the ideal ˜Jr=h˜h(t), z1−hz1(t), z2−gz2(t)i, where ˜h(t) =Qd

i=1(t−˜γi)∈Q[t], which yields three cofactors u1, u2 and u3 in Q[t, z1, z2]. Moreover, in [8], it is shown that for close-enough approximations of the γk’s, using these cofactors with the exact idealJr yields a stable polynomialbin J, i.e., b∈J ∩S.

The main algorithm, which can be generalized for zero-dimensional idealsJ, is presented in Algorithm 3.

Now, given a 2D plant P ∈Q(z1, z2)q×p, we have shown that we can effec- tively test whether or not P is internally stabilizable. If so, an important issue is then to explicitly compute a stabilizing controllerC(see Definition 1).

(14)

Algorithm 3StabilizingPolynomial

Input:J:=hp1, . . . , prisuch thatJis zero-dimensional andV(J)∩Un=∅.

Output:b∈Jsuch thatV(hbi)∩Un=∅.

Begin

{h, hz1, . . . , gz2}:=Univ R({p1, . . . , pr});

{B1, . . . , Bd}:=Isolate(h);

LB:={B1, . . . , Bd}and:= mini=1,...,d{w(Bi)};

Do

[r1, . . . , rn] := [1, . . . ,1] and ˜f:= 1;

outside :=False;

For eachB inLB do While(outside=False)do

Forifrom 1 tondo

If(<(hzi)2+=(hzi)2−1)(B)⊂R+then γ:=midpoint(B);

ri:=ri(zi−hzi(γ));

outside :=TrueandBreak For;

End If End For :=/2;

B:=Isolate(h, B, ); (isolate the real roots ofhinsideBup to a precision) End While

˜h:= ˜h(t−γ);

outside :=False;

End ForEach ˜b:=Qn

i=1ri;

˜bt:= ˜bevaluated atzi=hzi(t);

h0 :=quo(˜bt,˜h) inQ[t];

b:= ˜b−h0(˜h−h) evaluated att=Pn k=1akzk; While(IsStable(s)=False)

Returnb.

End

Theorem 5 ([4]).LetA=Q(z1, . . . , zn)S,B=Q[z1, . . . , zn],K=Q(z1, . . . , zn), and P ∈ Kq×p be a stabilizable plant. Moreover, let P = D−1N a fractional representation of P, where R = (D −N) ∈ Bq×p, L = B1×p/(B1×qR) the B-module finitely presented by R, and L/t(L) = B1×p/(B1×q0R0). Finally, let J =Tn

i=2annB(extiB(T(L/t(L)), B) andπ∈J∩S6=∅.

Then, there exists a generalized inverseS0∈Bp×qπ 0 ofR0, i.e.,R0S0R0=R0, where Bπ =Sπ−1B andSπ ={1, π, π2, . . .}. Writing R0 = (D0 −N0), where D0 ∈ Bq0×q0 and N0 ∈ Bq0×r, and noting S = S0D0D−1 ∈ Kp×q, then a stabilizing controllerC of P is defined byC=Y X−1, where:

S= (XT YT)T, X∈Aq×q, Y ∈Ar×q.

According to Theorem 5, ifπ∈J∩S is known, then a stabilizing controller C ofP can obtained by means of the computation of a generalized inverseS0 of R0 overBπ. Effective methods exist for solving this last point [8,13,22].

(15)

6 A Maple illustrating example

In this section, we demonstrate the results explained in the above sections on an explicit example first considered in [14]. To do that, we first load thenDStab package dedicated to the stability and stabilizability of multidimensional sys- tems, as well as the OreModulespackage [9] dedicated to the study multidi- mensional linear systems theory based on algebraic analysis methods.

> with(LinearAlgebra):

> with(nDStab):

> with(OreModules):

We consider the plantP ∈Q(z1, z2)2×2 defined by the transfer matrix:

> P := Matrix([[-(z[2]-3*z[1])/(2*z[1]-5), (2*z[1]-5)/(3*(2*z[1]-1))],

> [(2*z[1]-1)/(8*z[2]+6*z[1]-15),z[2]^2/(2*z[1]-1)]]);

P :=

z22z−3z1

1−5

2z1−5 6z1−3 2z1−1

8z2+6z1−15 z22 2z1−1

We can check that some entries ofPare unstable using the commandIsStable:

> map(a->IsStable(denom(a)),P);

"

true false true false

#

Let us introduce the polynomial ringB=Q[z1, z2]:

> B := DefineOreAlgebra(diff=[z[1],s[1]], diff=[z[2],s[2]],

> polynom=[s[1],s[2]]):

Now, we consider the fractional representation ofPdefined byR= (d −N), where d∈B2×2 is the diagonal matrix defined by the polynomialdenwhich is the least common multiple of all the denominators of the entries ofP, i.e.:

> den := lcm(op(convert(map(denom,P),set)));

den:= 3 (2z1−5) (2z1−1) (8z2+ 6z1−15)

> d := DiagonalMatrix([den,den]);

d:=

"

3 (2z1−5) (2z1−1) (8z2+ 6z1−15) 0

0 3 (2z1−5) (2z1−1) (8z2+ 6z1−15)

#

and the matrix N=d P ∈B2×2is defined by:

> N := simplify(d.P);

N :=

"

3 (2z1−1) (8z2+ 6z1−15) (−z2+ 3z1) (8z2+ 6z1−15) (2z1−5)2 3 (2z1−5) (2z1−1)2 3 (2z1−5) (8z2+ 6z1−15)z22

#

(16)

Since the notationDis prohibited byMaple, we use heredinstead ofDas it was done in the above sections. Then, we can define the matrixR= (d −N)∈B2×4

> R := Matrix([d, -N]):

and the finitely presentedB-moduleL=B1×4/(B1×2R). We first have to com- pute a presentation matrix for the B-moduleL/t(L). Using theOreModules package, this can be done as follows:

> Ext1 := Exti(Involution(R,B),B,1):

The commandExtireturns different matrices. Since the first matrixExt1[1]

> Ext1[1];

8z2+ 6z1−15 0 0

0 24z13+ 32z12z2−132z12−96z2z1+ 210z1+ 40z2−75 0

0 0 2z1−5

is not reduced to an identity matrix, we deduce that the torsion submodule t(L) ={l∈L| ∃06=b∈B: b l= 0}ofLis not reduced to zero, i.e.,t(L)6= 0.

The second matrixExt1[2] ofExt1, denoted byRpinMaple,

> Rp := Ext1[2]:

is a presentation matrix ofL/t(L), i.e., L/t(L) =B1×4/(B1×3R0), where R0 = Rp∈B3×4. For an easy display of Rp, we print it by means of its columns:

> SubMatrix(Rp,1..3,1..2);

12z1236z1 + 15 0

36z1z2354z1z2290z23 + 135z22−24z12z232z1z22 + 36z12 + 120z2z1 + 16z22180z1150z2 + 225

0 −12z1216z2z1 + 36z1 + 8z215

> SubMatrix(Rp,1..3,3..3);

−18z12+ 6z2z1+ 9z1−3z2

−54z1z23+ 18z24+ 8z12z2+ 81z1z22−27z23−12z12−8z2z1+ 36z1+ 2z2−15 4z12−4z1+ 1

> SubMatrix(Rp,1..3,4..4);

−4z12+ 20z1−25 16z24

6z22z1+ 8z23−15z22

If di denotes the ith diagonal element of the matrix d, R0i• the ith row of R0, andli the residue class of R0i• in the B-moduleL=B1×4/(B1×3R0), then we have dili = 0. Moreover, {li}i=1,2,3 is a generating set of the torsion B- submodulet(L) = (B1×3R0)/(B1×2R) ofL.

(17)

By construction, the B-module L/t(L) = B1×4/(B1×3R0) is torsion-free.

Since P is a 2D system, i.e., n= 2, the obstruction to projectivity for L/t(L) is only defined by theB-module ext2B(N0, B), whereN0=B1×3/

B1×4R0T is the so-called Auslander transpose of L/t(L). For more details, see [8,22]. More precisely, one can prove thatL/t(L) is a projectiveB-module iff ext2B(N0, B) = 0.

If ext2B(N0, B)6= 0, then ext2B(N0, B) is0-dimensional B-module, i.e., it defines a finite-dimensionalQ-vector space. In particular, the following idealJ ofB

J = annB(ext2B(N0, B)) =

b∈B| ∀e∈ext2B(N0, B), b e= 0

is zero-dimensional, i.e., B/J is a finite-dimensional Q-vector space. The ideal J can be directly computed by theOreModulescommandPiPolynomial:

> pi := map(factor,PiPolynomial(Rp,B));

π:= [4z22−18z1−30z2+ 45,(2z2−3) (2z1−5),(2z1−5) (2z1−1)]

SinceJ 6=B, we obtain thatL/t(L) is not a projectiveB-module.

According to our result on stabilizability,P is internally stabilizable iff the A=Q(z1, z2)S =S−1B-moduleA⊗B(L/t(L))∼=A1×4/(A1×3R0) is projective of rank 2, i.e., iffS−1J =A, i.e., iffJ∩S6=∅, where

S={b∈B|V(hbi)∩U2=∅}

is the multiplicatively closed subset ofB formed by all the stable polynomials of B. Equivalently, by the Polydisk Nullstellensatz, P is internally stabilizable iff V(J)∩U2=∅. SinceV(J) is zero-dimensional, i.e., is formed by a finite number of complex points of C2, we can effectively test the Polydisk Nullstellensatz condition as follows:

> IsStabilizable(pi);

true

Hence, we obtain that P is internally stabilizable.

Let us now construct a stabilizing controller C of P. To do that, we must find an element s ∈J ∩S. We can first try to test whether or not one of the generators of J belongs toS:

> map(IsStable,pi);

[true,true,false]

The first two generators ofJ belong toS. Let us denote them byπ1, resp.π2. Since the conditionJ∩S6=∅does not necessarily imply that at least one of the generators ofJ belongs toS, the algorithm which computes an element ofJ inShas to be used. This can be done by the commandStabilizingPolynomial:

> factor(StabilizingPolynomial(pi));

(2z2−3) (2z2−15) (2z1−5)

(18)

Since we have found elements inJ∩S, let us compute a stabilizing controller C ofP. We note thatR0 has not full row rank since kerB(.R0) is defined by:

> Rp2 := SyzygyModule(Rp,B);

Rp2 :=

6z23−9z22−2z1+ 1 4z2z1−6z1−2z2+ 15

Hence,R02=Rp2is such thatR02R0= 0, which shows that the rows{R0i•}i=1,...,4

ofR0 satisfyP4

i=1Rp2[i]R0i•= 0.

We consider π = π2, i.e., π = (2z2−3) (2z1−5). Similar results can be obtained by choosingπ=π1instead ofπ2(but the outputs are larger to display).

We now have to find a generalized inverseS0∈B4×3π ofR0, i.e.,R0S0R0=R0, where Bπ =Sπ−1B is the localization ofB with respect to the multiplicatively closed setSπ={1, π, π2, . . .}. This can be done by first computing a right inverse ofR02overBπ. Using theOreModulespackage, we obtain that

> Sp2 := Transpose(LocalLeftInverse(Transpose(Rp2),[pi[2]],B));

Sp2 :=

0

121 (−4z22+18z1+30z2−45)(2z2−3) 4z22−18z1−30z2+45 1

4z22−18z1−30z2+45 1

3z2232z152z2+154

is a right inverse ofR02, i.e., R02S20 = 1. Then, defining Π =I3−S20R02, we get that Π2 =Π, and thus there existsS0 ∈B4×3π such thatΠ =R0S0. Using the OreModulespackage, this matrix can be obtained by factorization as follows:

> Proj := Transpose(simplify(1-Sp2.Rp2)):

> Sp := simplify(Transpose(Factorize(pi[2]*Proj,

> Transpose(Rp),B))/pi[2]);

Sp:=

243z1z22−81z23 +84z1z2−16z22 +18z1−186z2 +99 (1152z2−1728)(2z1−5) 1

16

−z2 +3z1 (2z2−3)(2z1−5) 1

16

−z2 +3z1 2z1−5

2z1−1

576z2−864 1

48 1

2z2−3 1

48

81z22 +12z1 +16z2−30

1152z2−1728 1

16 1

2z2−3 1

16 6z1−8z2 +9

128z2−192 0 0

S0 =SpsatisfiesR0S0R0 =R0, i.e.,S0 is a generalized inverse ofR0 overBπ.

> simplify(Rp.Sp.Rp-Rp);

 0 0 0 0 0 0 0 0 0 0 0 0

If we setS :=S0d0d−1, whereR0= (d0 −N0),d0∈B2×2andN0 ∈B2×2, and splitS0 asS0= (XT YT)T, where X ∈K2×2, Y ∈K2×2, andK=Q(z1, z2)

> dp := SubMatrix(Rp, 1..3,1..2):

Références

Documents relatifs

The natural extension of the stabilization problem for nonholonomic vehicles to the multi-agent case is the leaderless consensus problem which we study in Chapter 4 under assumptions

Notre synthèse tente de mettre en exergue et d’affirmer l’importance de cette nouvelle pensée managériale et sa contribution efficiente sur le plan in-

The intrinsically disordered regions (IDRs) of BRD4 and MED1 can form phase-separated droplets and MED1-IDR droplets can compartmentalize and concentrate transcription apparatus

The objective of this study was to describe genetic architecture of the flowering date of the model species for legume crops, Medicago truncatula, in a

Ces vibrations, propres aux mouvements des atomes d’hydrogène par rapport au plan moléculaire de façon tangentielle, donnent deux catégories: l’une correspondant aux

A tree-like phase decomposition of an SQMSC M is a strongly acyclic phase decomposition such that the in-degree of any vertice in the residual graph is at... Next, we refine

In this section, we provide a more efficient algorithm for computing the MLS controller, which is based on two ideas: to explore, for each state, inputs with a lower priority only if