# Towards the Computation of Stabilizing Controllers of Multidimensional Systems

Thomas Cluzeau, Guillaume Moroz, Alban Quadrat

► To cite this version:

Thomas Cluzeau, Guillaume Moroz, Alban Quadrat. Towards the Computation of Stabilizing Controllers of Multidimensional Systems. MTNS 2024 - 26th International Symposium on Mathematical Theory of Networks and Systems, Aug 2024, Cambridge, United Kingdom. 10.1016/j.ifacol.2024.10.208. hal-04900969

HAL Id: hal-04900969

https://inria.hal.science/hal-04900969v1

Submitted on 20 Jan 2025

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.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Towards the Computation of Stabilizing
Controllers of Multidimensional Systems

T. Cluzeau* G. Moroz** A. Quadrat***

* Univ. Limoges, CNRS, XLIM, UMR 7252, F-87000 Limoges
(e-mail: thomas.cluzeau@unilim.fr)

** Université de Lorraine, CNRS, Inria, LORIA, F-54000 Nancy,
France (e-mail: guillaume.moroz@inria.fr)

*** Sorbonne Université and Université de Paris, CNRS, IMJ-PRG,
Inria Paris, 75005 Paris, France (e-mail: alban.quadrat@inria.fr).

**Abstract:** In this paper, we further study the effective computation of stabilizing controllers of multidimensional systems. Within the algebraic analysis approach, the stabilization problem can be characterized by the fact that a certain finitely presented $\mathcal{A}$-module $\mathcal{M}$, naturally associated with the multidimensional system, is projective, where $\mathcal{A}$ denotes the ring of multivariate rational functions without poles in the closed complex unit polydisc $\bar{\mathbb{D}}^n$. This condition can be reduced to the existence of an element $s$ of a polynomial ideal $\mathcal{I}$ which has no zero in $\bar{\mathbb{D}}^n$. According to the Polydisc Nullstellensatz, the latter condition is equivalent to the fact that no complex zero of the elements of $\mathcal{I}$ belongs to $\bar{\mathbb{D}}^n$. If this condition is satisfied, using cyclic resultants and linear programming, we then propose a method to compute such a polynomial $s$. Finally, using computer algebra methods for effectively handling basic operations on $\mathcal{R}[s^{-1}]$-modules, where $\mathcal{R}$ is a polynomial ring, we show how to compute stabilizing controllers.

**Keywords:** nD systems, stabilizability, stabilizing controllers, Polydisc Nullstellensatz

## 1. INTRODUCTION

Let $\mathbb{K}$ denote a field of characteristic 0 (e.g., $\mathbb{Q}$, $\mathbb{R}$, $\mathbb{C}$), $\mathcal{R} = \mathbb{K}[z_1, \dots, z_n]$ the polynomial ring in $z_1, \dots, z_n$ with coefficients in $\mathbb{K}$, and $\mathcal{K} = \mathbb{K}(z_1, \dots, z_n)$ the field of fractions of $\mathcal{R}$, i.e., the field of rational functions in $z_1, \dots, z_n$ with coefficients in $\mathbb{K}$. If $r_1, \dots, r_m \in \mathcal{R}$, we denote by $\langle r_1, \dots, r_m \rangle = \sum_{i=1}^m \mathcal{R} r_i$ the ideal of $\mathcal{R}$ generated by the $r_i$'s. If $\mathcal{I}$ is an ideal of $\mathcal{R}$, we can define

$$ \mathcal{V}(\mathcal{I}) = \{z = (z_1, \dots, z_n) \in \mathbb{C}^n \mid \forall P \in \mathcal{I}, P(z) = 0\}. $$

Let $\bar{\mathbb{D}}^n$ be the closed unit polydisc of $\mathbb{C}^n$, namely

$$ \bar{\mathbb{D}}^n = \{z = (z_1, \dots, z_n) \in \mathbb{C}^n \mid |z_i| \le 1, i = 1, \dots, n\}. $$

We can consider the integral domain of the single-input single-output *structurally stable* nD systems defined by

$$ \mathcal{A} = \left\{ \frac{n}{d} \in \mathbb{K} \mid 0 \neq d, n \in \mathcal{R}, \gcd(d, n) = 1, \mathcal{V}(\langle d \rangle) \cap \bar{\mathbb{D}}^n = \emptyset \right\}. $$

Within the fractional representation approach to synthesis problems, a linear nD system is defined by a transfer matrix $P \in \mathcal{K}^{q \times r}$, where $q$ (resp., $r$) is the number of outputs (resp., inputs). This system, also called plant, is *structurally stable* if $P \in \mathcal{A}^{q \times r}$. If $P$ is unstable, i.e., $P \notin \mathcal{A}^{q \times r}$, then an important problem is to study the existence of a *controller* $C \in \mathcal{K}^{r \times q}$ which stabilizes $P$.

Let $P \in \mathcal{K}^{q \times r}$, $C \in \mathcal{K}^{r \times q}$, and $p = q + r$. The closed-loop system — defined in Figure 1 — is said to be *well-posed* if $\det(I_q - P C) \neq 0$ or $\det(I_r - C P) \neq 0$. Then, we have

$$ \begin{pmatrix} e_1 \\ e_2 \end{pmatrix} = H(P, C) \begin{pmatrix} u_1 \\ u_2 \end{pmatrix}, \quad H(P, C) := \begin{pmatrix} I_q & P \\ C & I_r \end{pmatrix}^{-1} \in \mathcal{K}^{p \times p}. $$

<figure><img src="image_2.png" /><figcaption>Fig. 1. Closed-loop system</figcaption></figure>

**Definition 1.** The plant $P \in \mathcal{K}^{q \times r}$ is internally stabilized by the controller $C \in \mathcal{K}^{r \times q}$ if $H(P, C) \in \mathcal{A}^{p \times p}$. Then, the matrix $P$ is said to be *internally stabilizable* or simply *stabilizable*, and $C$ is a *stabilizing controller* of $P$.

Using computer algebra methods and implementations, the goal of this paper is to further develop the effective computation of stabilizing controllers for an internally stabilizable plant $P$ initiated in Bouzidi et al. (2017, 2019).

## 2. CHARACTERIZATION OF STABILIZABILITY

### 2.1 Construction of the ring $\mathcal{A}$ as a localization of $\mathcal{R}$

Using the fact that $\mathcal{K}$ is the field of fractions of $\mathcal{A}$, we can write $P \in \mathcal{K}^{q \times r}$ as $P = D^{-1} N$, where $D \in \mathcal{A}^{q \times q}$, $\det(D) \neq 0$, $N \in \mathcal{A}^{q \times r}$. Such a representation $P = D^{-1} N$ is called a *left fractional representation* of $P$.

Note that $\mathcal{R} \subset \mathcal{A}$ and $\mathcal{S} = \{r \in \mathbb{R} \mid \mathcal{V}(\langle r \rangle) \cap \bar{\mathbb{D}}^n = \emptyset\}$ is a *multiplicatively closed subset* of $\mathcal{R}$, namely, $1 \in \mathcal{S}$ and $s_1, s_2 \in \mathcal{S}$ yields $s_1 s_2 \in \mathcal{S}$. Furthermore, $\mathcal{S}$ is *saturated*,
i.e., if $r_1, r_2 \in S$, then $r_1 \in S$ and $r_2 \in S$. We can define the ring $S^{-1}\mathcal{R} := \{r/s \mid r \in \mathcal{R}, s \in S\}$ (Eisenbud (1995); Rotman (2009)). Clearly, we have $\mathcal{A} = S^{-1}\mathcal{R}$, i.e., $\mathcal{A}$ is the localization of $\mathcal{R}$ with respect to $S$.

The quotient field $Q(\mathcal{R}) = \{n/d \mid 0 \neq d, n \in \mathcal{R}\}$ of $\mathcal{R}$ is $\mathcal{K} = \mathbb{K}(z_1, \dots, z_n)$, the latter also being the quotient field $Q(\mathcal{A}) = \{n/d \mid 0 \neq d, n \in \mathcal{A}\}$ of $\mathcal{A}$. Hence, if $P \in \mathcal{K}^{q \times r}$, then there is $D \in \mathcal{R}^{q \times q}$, $\det(D) \neq 0$, and $N \in \mathcal{R}^{q \times r}$ satisfying $P = D^{-1}N$. For instance, we can consider $D = dI_q$, where $d$ is the product (or the least common multiple) of all the denominators of the entries of $P$ written as elements of $Q(\mathcal{R})$, and $N = dP \in \mathcal{R}^{q \times r}$.

Let us state a few standard definitions of module theory. These definitions hold for any integral domain $\mathcal{A}$ with a quotient field $\mathcal{K}$ (e.g., $\mathcal{A}$ can be substituted by $\mathcal{R}$).

**Definition 2.** (Eisenbud (1995); Rotman (2009)). • Let $\mathcal{M}$ and $\mathcal{M}'$ be two $\mathcal{A}$-modules and $f$ a homomorphism (i.e., an $\mathcal{A}$-linear map) from $\mathcal{M}$ to $\mathcal{M}'$, denoted by $f \in \text{Hom}_{\mathcal{A}}(\mathcal{M}, \mathcal{M}')$. If $f$ is bijective, then $f$ is an isomorphism and $\mathcal{M}$ and $\mathcal{M}'$ are said to be isomorphic, a fact denoted by $\mathcal{M} \cong \mathcal{M}'$.

• An $\mathcal{A}$-module $\mathcal{M}$ is finitely generated (f.g.) if there are $r \in \mathbb{N}$ and $m_k \in \mathcal{M}$, $k = 1, \dots, r$, such that

$$ \mathcal{M} = \sum_{k=1}^{r} \mathcal{A} m_k := \left\{ \sum_{k=1}^{r} a_i m_i \mid a_i \in \mathcal{A}, i = 1, \dots, r \right\}. $$

• If $s \in \mathcal{A} \setminus \{0\}$, then the localization of $\mathcal{A}$ with respect to the multiplicatively closed subset $S = \{s^i\}_{i \in \mathbb{N}}$ of $\mathcal{A}$ is the ring $\mathcal{A}_s = S^{-1}\mathcal{A} = \{a/s \mid s \in S, a \in \mathcal{A}\}$. In particular, we have the ring inclusion $\mathcal{A} \subset \mathcal{A}_s$.

• If $\mathcal{B}$ is a ring containing $\mathcal{A}$ and $\mathcal{M}$ an $\mathcal{A}$-module, then we can define the $\mathcal{B}$-module $\mathcal{B} \otimes_{\mathcal{A}} \mathcal{M}$ obtained by extending the coefficients of $\mathcal{M}$ from $\mathcal{A}$ to $\mathcal{B}$. An element $m \in \mathcal{M}$ is identified with $1 \otimes m$ in $\mathcal{B} \otimes_{\mathcal{A}} \mathcal{M}$, $b(1 \otimes m) = b \otimes m$ for all $b \in \mathcal{B}$ and $m \in \mathcal{M}$, and

$$ \forall a \in \mathcal{A}, m \in \mathcal{M}, a(1 \otimes m) = a \otimes m = 1 \otimes a m. $$

• The rank of a f.g. $\mathcal{A}$-module $\mathcal{M}$ is defined by $\text{rank}_{\mathcal{A}}(\mathcal{M}) := \dim_{\mathcal{K}}(\mathcal{K} \otimes_{\mathcal{A}} \mathcal{M})$, i.e., by the dimension of the finite-dimensional $\mathcal{K}$-vector space $\mathcal{K} \otimes_{\mathcal{A}} \mathcal{M}$.

• The torsion submodule $t(\mathcal{M})$ of $\mathcal{M}$ is defined by

$$ t(\mathcal{M}) = \{m \in \mathcal{M} \mid \exists a \in \mathcal{A} \setminus \{0\} : am = 0\}. $$

• $\mathcal{M}$ is a f.g. free $\mathcal{A}$-module if $\mathcal{M} \cong \mathcal{A}^r$ for $r \in \mathbb{N}$.

• $\mathcal{M}$ is a f.g. projective $\mathcal{A}$-module if there exist an $\mathcal{A}$-module $\mathcal{M}'$ and $r \in \mathbb{N}$ such that $\mathcal{M} \oplus \mathcal{M}' \cong \mathcal{A}^r$.

• A sequence of $f_i \in \text{Hom}_{\mathcal{A}}(\mathcal{M}_i, \mathcal{M}_{i-1})$ for $i \in \mathbb{Z}$ is called a complex if $f_i \circ f_{i+1} = 0$, i.e., $\text{im } f_{i+1} \subseteq \text{ker } f_i$ for all $i \in \mathbb{Z}$. It is exact if $\text{ker } f_i = \text{im } f_{i+1}$ for all $i \in \mathbb{Z}$.

In what follows, we shall consider three localizations: $\mathcal{K} = (\mathcal{A}^*)^{-1}\mathcal{A}$, where $\mathcal{A}^* = \mathcal{A} \setminus \{0\}$, $\mathcal{A} = S^{-1}\mathcal{R}$, where $S = \{r \in \mathcal{R} \mid \mathcal{V}(\langle r \rangle) \cap \overline{\mathbb{D}}^n = \emptyset\}$, and $\mathcal{R}_s = \mathcal{T}^{-1}\mathcal{R}$, where $s \in \mathcal{R} \setminus \{0\}$ and $\mathcal{T} = \{s^i\}_{i \in \mathbb{N}}$. If $s \in S$, note that $\mathcal{R}_s \subset \mathcal{A}$.

**Theorem 1.** (Eisenbud (1995); Rotman (2009)). If $\mathcal{B}$ is a localization of a ring $\mathcal{A}$, then $\mathcal{B}$ is a flat $\mathcal{A}$-module, namely, the functor $\mathcal{B} \otimes_{\mathcal{A}} \cdot$ is exact, i.e., transforms exact sequences

of $\mathcal{A}$-modules ... $\xrightarrow{f_{i+2}} \mathcal{M}_{i+1} \xrightarrow{f_{i+1}} \mathcal{M}_i \xrightarrow{f_i} \mathcal{M}_{i-1} \xrightarrow{f_{i-1}} \dots$ into exact sequences of $\mathcal{B}$-modules

$$ \dots \xrightarrow{g_{i+2}} \mathcal{B} \otimes_{\mathcal{A}} \mathcal{M}_{i+1} \xrightarrow{g_{i+1}} \mathcal{B} \otimes_{\mathcal{A}} \mathcal{M}_i \xrightarrow{g_i} \mathcal{B} \otimes_{\mathcal{A}} \mathcal{M}_{i-1} \xrightarrow{g_{i-1}} \dots $$

where $g_i = \text{id}_{\mathcal{B}} \otimes f_i \in \text{Hom}_{\mathcal{B}}(\mathcal{B} \otimes_{\mathcal{A}} \mathcal{M}_i, \mathcal{B} \otimes_{\mathcal{A}} \mathcal{M}_{i-1})$ is defined by $g_i(b \otimes m) = b \otimes f_i(m)$ for all $b \in \mathcal{B}$ and $m \in \mathcal{M}_i$.

**Elimination theory** is effective for the polynomial ring $\mathcal{R}$ in the case of $\mathbb{K} = \mathbb{Q}$ (using, e.g., Gröbner basis methods (Chyzak et al. (2005); Eisenbud (1995))). Theorem 1 will allow us to lift computations from the ring $\mathcal{R}$ to $\mathcal{R}_s$ or $\mathcal{A}$.

## 2.2 A necessary and sufficient condition for stabilizability

As explained in Section 2.1, if $P \in \mathcal{K}^{q \times r}$ and $p = q+r$, we can always consider a left fractional representation $P = D^{-1}N$ of $P$, where $R = (D - N) \in \mathcal{R}^{q \times p}$. Within the algebraic analysis approach to synthesis problems (Quadrat (2003)), we can define the factor $\mathcal{R}$-module $\mathcal{L} = \mathcal{R}^{1 \times p}/\text{im}_{\mathcal{R}}(.R)$, where $\text{im}_{\mathcal{R}}(.R) := \{\mu R \mid \mu \in \mathcal{R}^{1 \times q}\}$, formed by the residue classes $\pi(\lambda)$ of the elements of $\mathcal{R}^{1 \times p}$ (i.e., the row vectors of length $p$ with entries in $\mathcal{R}$) modulo the $\mathcal{R}$-submodule of relations $\text{im}_{\mathcal{R}}(.R)$. In other words, we have $\pi(\lambda') = \pi(\lambda)$ for $\lambda, \lambda' \in \mathcal{R}^{1 \times p}$ if there exists $\nu \in \mathcal{R}^{1 \times q}$ such that $\lambda' = \lambda + \nu R$, and we further have $r_1 \pi(\lambda_1) + r_2 \pi(\lambda_2) := \pi(r_1 \lambda_1 + r_2 \lambda_2)$ for all $r_1, r_2 \in \mathcal{R}$ and $\lambda_1, \lambda_2 \in \mathcal{R}^{1 \times p}$. If we now consider the standard basis $\{e_i\}_{i=1,\dots,p}$ of $\mathcal{R}^{1 \times p}$ (i.e., $e_i$ is the row vector with 1 at the $i^{\text{th}}$ position and 0 elsewhere), $y_i = \pi(e_i)$ for $i = 1, \dots, q$, and $u_i = \pi(e_i)$ for $i = q+1, \dots, p$, then we can show that $\mathcal{L}$ is finitely generated by the generators $\{y_1, \dots, y_q, u_1, \dots, u_r\}$ which satisfy the $\mathcal{R}$-linear relations $Dy - N u = 0$, where $y = (y_1, \dots, y_q)^T$ and $u = (u_1, \dots, u_r)^T$ (Quadrat (2003); Chyzak et al. (2005)). We have $\mathcal{A} \otimes_{\mathcal{R}} \mathcal{L} \cong \mathcal{A}^{1 \times p}/(\mathcal{A}^{1 \times q} R) = \mathcal{M}$. The modules $\mathcal{L}$ and $\mathcal{M}$ are said to be finitely presented (f.p.) because they are defined by a finite set of generators satisfying a finite generating set of relations (Rotman (2009)).

We have the following characterization of stabilizability.

**Theorem 2.** (Quadrat (2003)). Let $P \in \mathcal{K}^{q \times r}$ be a plant and $P = D^{-1}N$ a fractional representation of $P$, where $R = (D - N) \in \mathcal{A}^{q \times p}$. Let $\mathcal{M} = \mathcal{A}^{1 \times p}/(\mathcal{A}^{1 \times q} R)$ be the $\mathcal{A}$-module finitely presented by $R$. Then, $P$ is stabilizable if and only if the $\mathcal{A}$-module $\mathcal{M}/t(\mathcal{M})$ is projective of rank $r$.

Theorem 2 yields the following practical issues:

(1) Compute a presentation matrix $R' \in \mathcal{R}^{q' \times p}$ for $\mathcal{M}/t(\mathcal{M})$, i.e., such that $\mathcal{M}/t(\mathcal{M}) = \mathcal{A}^{1 \times p}/(\mathcal{A}^{1 \times q'} R')$.

(2) Test whether or not the f.p. $\mathcal{A}$-module $\mathcal{M}/t(\mathcal{M})$ is projective of rank $r$.

The next result is a direct consequence of the fact that $\mathcal{A}$ is a flat $\mathcal{R}$-module (see Theorem 1).

**Lemma 3.** (Bouzidi et al. (2019)). Let $P = D^{-1}N$ be a left fractional representation of $P \in \mathcal{K}^{q \times r}$, where $R = (D - N) \in \mathcal{R}^{q \times p}$ (see Section 2.1), $\mathcal{L} = \mathcal{R}^{1 \times p}/(\mathcal{R}^{1 \times q} R)$ the $\mathcal{R}$-module finitely presented by $R$, and the $\mathcal{A}$-module $\mathcal{M} = \mathcal{A}^{1 \times p}/(\mathcal{A}^{1 \times q} R)$. Furthermore, let $Q \in \mathcal{R}^{p \times m}$ and $R' \in \mathcal{R}^{q' \times p}$ be respectively defined by

$$ \ker_{\mathcal{R}} (.R^T) := \{\lambda \in \mathcal{R}^{1 \times p} \mid \lambda R^T = 0\} = \text{im}_{\mathcal{R}} (.Q^T), $$

$$ \ker_{\mathcal{R}}(.Q) = \text{im}_{\mathcal{R}}(.R'). $$

Then, we have

$$ t(\mathcal{L}) = (\mathcal{R}^{1 \times q'} R')/(\mathcal{R}^{1 \times q} R), \quad \mathcal{L}/t(\mathcal{L}) = \mathcal{R}^{1 \times p}/(\mathcal{R}^{1 \times q'} R'), $$

which yields $t(\mathcal{M}) = (\mathcal{A}^{1 \times q'} R')/(\mathcal{A}^{1 \times q} R)$ and
$$ \mathcal{M}/t(\mathcal{M}) = \mathcal{A}^{1 \times p}/(\mathcal{A}^{1 \times q'} R'). $$

The matrices $Q$ and $R'$ can be computed using polynomial elimination methods (e.g., Gröbner basis methods). See `OREMODULES` package (Chyzak et al. (2007)).

**Example 1.** Let us consider the MIMO plant defined by

$$ P = \left( \frac{z_3 - 2}{z_1} \quad \frac{z_1}{z_2 + 3} \right)^T \in \mathbb{Q}(z_1, z_2, z_3)^{2 \times 1}. $$

Let us first compute a left fractional representation of $P$. Let $d = \text{lcm}(z_1, z_2 + 3) = z_1(z_2 + 3)$, $D = dI_2$, $N = DP$. Let $\mathcal{L} = \mathcal{R}^{1 \times 3}/(\mathcal{R}^{1 \times 2} R)$ be the $\mathcal{R} = \mathbb{Q}[z_1, z_2, z_3]$-module finitely presented by $R = (D - N) \in \mathcal{R}^{2 \times 3}$. Using the `OREMODULES` package (Chyzak et al. (2007)), we obtain $t(\mathcal{L}) = (\mathcal{R}^{1 \times 3} R')/(\mathcal{R}^{1 \times 2} R)$, $\mathcal{L}/t(\mathcal{L}) = R^{1 \times 3}/(\mathcal{R}^{1 \times 2} R')$, where $R' = (D' - N')$ and

$$ D' = \begin{pmatrix} z_1 & 0 \\ 0 & -z_2 - 3 \end{pmatrix}, \quad N' = \begin{pmatrix} z_3 - 2 \\ -z_1 \end{pmatrix}. $$

Using Theorem 2 and Lemma 3, the plant $P \in \mathcal{K}^{q \times r}$ is stabilizable if and only if the f.p. $\mathcal{A}$-module $\mathcal{M}/t(\mathcal{M}) = \mathcal{A}^{1 \times p}/(\mathcal{A}^{1 \times q'} R')$ is projective of rank $r$. To characterize projectivity, we introduce the concept of Fitting ideals of f.p. modules over any commutative ring $\mathcal{A}$.

**Definition 3.** (Eisenbud (1995)). Let $R' \in \mathcal{A}^{q' \times p}$ and $\mathcal{M}' = \mathcal{A}^{1 \times p}/(\mathcal{A}^{1 \times q'} R')$. Then, the $i^{th}$ Fitting ideal of $\mathcal{M}'$, denoted by $\text{Fitt}_i(\mathcal{M}')$, is defined by

$$ \text{Fitt}_i(\mathcal{M}') = \begin{cases} 0, & \text{if } p - i > \min(q', p), \\ \langle a_1, \dots, a_l \rangle, & \text{if } 0 < p - i \le \min(q', p), \\ \mathcal{A}, & \text{if } p - i \le 0, \end{cases} $$

where the $a_i$'s denote the $p-i$ minors of $R'$.

The next result holds for any integral domain $\mathcal{A}$.

**Theorem 4.** (Eisenbud (1995)). Let $\mathcal{M}' = \mathcal{A}^{1 \times p}/(\mathcal{A}^{1 \times q'} R')$ be the $\mathcal{A}$-module finitely presented by $R' \in \mathcal{A}^{q' \times p}$. Then, $\mathcal{M}'$ is a projective $\mathcal{A}$-module of rank $r$ if and only if $\text{Fitt}_i(\mathcal{M}') = 0$ for $i = 0, \dots, r-1$ and $\text{Fitt}_r(\mathcal{M}') = \mathcal{A}$.

By Theorem 4, $\mathcal{M}/t(\mathcal{M}) = \mathcal{A}^{1 \times p}/(\mathcal{A}^{1 \times q'} R')$ is a projective $\mathcal{A}$-module of rank $r$ if and only if we have

$$ \left\{ \begin{array}{ll} \text{Fitt}_i(\mathcal{M}/t(\mathcal{M})) = 0, & i = 0, \dots, r-1, \\ \text{Fitt}_r(\mathcal{M}/t(\mathcal{M})) = \mathcal{A}. & \end{array} \right. \qquad (1) $$

We state again that $R' \in \mathcal{R}^{q' \times p}$, and thus, the minors of $R'$ belong to $\mathcal{R} \subset \mathcal{A}$. More precisely, if $\{g_{i,j}\}_{j=1,...,d_i}$ is a set of generators of $\text{Fitt}_i(\mathcal{L}/t(\mathcal{L}))$, then we have

$$ \text{Fitt}_i(\mathcal{M}/t(\mathcal{M})) = \sum_{j=1}^{d_i} \mathcal{A} g_{i,j} = \mathcal{A} \text{Fitt}_i(\mathcal{L}/t(\mathcal{L})), \quad (2) $$

where $\mathcal{A}$ Fitt$_i(\mathcal{L}/t(\mathcal{L}))$ denotes the ideal of $\mathcal{A}$ obtained by extending the coefficients of $\text{Fitt}_i(\mathcal{L}/t(\mathcal{L}))$ from $\mathcal{R}$ to $\mathcal{A}$. **Proposition 5.** With the above notations, the following assertions are equivalent:

(1) $\text{Fitt}_r(\mathcal{M}/t(\mathcal{M})) = \mathcal{A}$.

(2) There exist $c_1, \dots, c_{d_r} \in \mathcal{R}$ satisfying

$$ \sum_{j=1}^{d_r} c_j g_{r,j} \in \mathcal{S} = \{s \in \mathcal{R} \mid \mathcal{V}(\langle s \rangle) \cap \bar{\mathcal{D}}^n = \emptyset\}, \quad (3) $$

where $\text{Fitt}_r(\mathcal{L}/t(\mathcal{L})) = \langle g_{r,1}, \dots, g_{r,d_r} \rangle_{\mathcal{R}}$, or equivalently, we have $\text{Fitt}_r(\mathcal{L}/t(\mathcal{L})) \cap \mathcal{S} \neq \emptyset$.

**Proof.** $\text{Fitt}_r(\mathcal{M}/t(\mathcal{M})) = \mathcal{A}$ is equivalent to the existence of $a_{r,j} = b_{r,j}/s_{r,j} \in \mathcal{A}$, where $b_{r,j} \in \mathcal{R}$ and $s_{r,j} \in \mathcal{S}$ for $j = 1, \dots, d_r$, satisfying $\sum_{j=1}^{d_r} a_{r,j} g_{r,j} = 1$, i.e.,

$$ \sum_{j=1}^{d_r} \left( \left( \prod_{1 \le i \ne j \le d_r} s_{r,i} \right) b_{r,j} \right) g_{r,j} = \prod_{j=1}^{d_r} s_{r,j}. \quad (4) $$

Hence, the necessity of (3) is a direct consequence of (4). Now, (3) is also sufficient because $t := \sum_{j=1}^{d_r} c_j g_{r,j} \in \mathcal{S}$ yields $\sum_{j=1}^{d_r} (c_j/t) g_{r,j} = 1$, where $c_{r,j}/t \in \mathcal{A}$, $j = 1, \dots, d_r$. **Example 2.** Let us continue Example 1. We first have $\text{Fitt}_0(\mathcal{L}/t(\mathcal{L})) = \langle 0 \rangle_{\mathcal{R}}$ and $\text{Fitt}_1(\mathcal{L}/t(\mathcal{L})) = \langle g_1, g_2, g_3 \rangle_{\mathcal{R}}$, where $g_1 = (z_2+3)(z_3-2)$, $g_2 = z_1(z_2+3)$, and $g_3 = z_1^2$. Note that $g_1 \in \mathcal{S}$, which shows that (3) holds with $c_1 = 1$ and $c_2 = c_3 = 0$, and proves that $P$ is stabilizable.

### 3. POLYDISC NULLSTELLENSATZ

As explained in Section 2.2, $P$ is stabilizable if and only if $\text{Fitt}_i(\mathcal{M}/t(\mathcal{M})) = 0$, for $i = 0, \dots, r-1$ and there exists a polynomial combination $s = \sum_{i=1}^m r_i g_i$ of polynomial generators $g_1, \dots, g_m$ of $\mathcal{I} := \text{Fitt}_r(\mathcal{L}/t(\mathcal{L}))$ such that $s$ has no complex zeros in $\bar{\mathcal{D}}^n$.

As noticed in Bouzidi et al. (2019), this condition is exactly the so-called *Polydisc Nullstellensatz* for the ideal $\mathcal{I}$.

**Theorem 6.** (Bridges et al. (2004)). Let $\mathcal{I} = \langle g_1, \dots, g_m \rangle$ be an ideal of $\mathcal{R}$ generated by $g_i \in \mathcal{R}$ for $i = 1, \dots, m$. Then, the following conditions are equivalent:

(1) $\mathcal{V}(\mathcal{I}) \cap \bar{\mathcal{D}}^n = \emptyset$.

(2) There exists $s \in \mathcal{I}$, i.e., $s = \sum_{i=1}^m r_i g_i$ for certain $r_i \in \mathcal{R}$, for $i = 1, \dots, m$, such that

$$ \mathcal{V}(\langle s \rangle) \cap \bar{\mathcal{D}}^n = \emptyset. \quad (5) $$

**Corollary 7.** With the above notations, $P$ is internally stabilizable if and only if $\mathcal{V}(\text{Fitt}_r(\mathcal{L}/t(\mathcal{L}))) \cap \bar{\mathcal{D}}^n = \emptyset$.

Let $\mathcal{I} = \text{Fitt}_r(\mathcal{L}/t(\mathcal{L})) = \langle g_1, \dots, g_m \rangle$, where the $g_i$'s form a set of generators of $\mathcal{I}$. Writing $z_j = x_j + iy_j$, where $x_j, y_j \in \mathcal{R}$, and noting $v = (x_1, \dots, x_n, y_1, \dots, y_n)$, $X_j(v)$ (resp., $Y_j(v)$) the real (resp., imaginary) part of $g_j(z)$, then testing $\mathcal{V}(\mathcal{I}) \cap \bar{\mathcal{D}}^n = \emptyset$ reduces to testing the emptiness of the following semi-algebraic set of $\mathbb{R}^{2n}$

$$ \{v \in \mathbb{R}^{2n} \mid X_j(v) = 0, Y_j(v) = 0, j = 1, \dots, m, x_i^2 + y_i^2 \le 1, i = 1, \dots, n\}. $$

This problem can be studied using quantifier elimination (e.g., *Cylindric Algebraic Decomposition (CAD)*) (Collins (1975)). In practice, it is usually inefficient for $n \ge 3$.

Using computer algebra methods (*Rational Univariate Representation*), in Bouzidi et al. (2017), it was shown how to effectively test if $\mathcal{V}(\mathcal{I})$ intersects $\bar{\mathcal{D}}^n$ in the case where $\mathcal{I}$ is a 0-dimensional ideal, namely, $\mathcal{V}(\mathcal{I})$ consists in a finite number of complex points. Furthermore, using *critical point methods*, the case of a principal ideal $\mathcal{I} = \langle g_1 \rangle$ (i.e., $\mathcal{V}(\mathcal{I})$ is a hypersurface of $\mathbb{C}^n$) was made effective (Bouzidi et al. (2015)). The corresponding algorithms were implemented in *Maple* (see Bouzidi et al. (2015, 2017)).
**Example 3.** Let $P \in \mathcal{K}$ be a SISO plant, $P = N/D$ a fractional representation of $P$, where $0 \neq D, N \in \mathbb{R}$, and $R = (D - N) \in \mathbb{R}^{1 \times 2}$. Let $G = \gcd(D, N)$ be the greatest common divisor of $D$ and $N$, and $D', N' \in \mathcal{R}$ such that $D = GD'$ and $N = GN'$. Now, $(\lambda_1, \lambda_2) \in \ker_{\mathcal{R}}(.R^T)$ yields $G(\lambda_1 D' - \lambda_2 N') = 0$, i.e., $\lambda_1 D' = \lambda_2 N'$ because $G \neq 0$ and $\mathcal{R}$ is an integral domain. Hence, $D'$ divides $\lambda_2 N'$, and thus, $\lambda_2$ because $\gcd(D', N') = 1$. Thus, let $\mu \in \mathcal{R}$ be such that $\lambda_2 = \mu D'$. Then, $\lambda_1 D' = \mu D' N'$, and thus, $\lambda_1 = \mu N'$ because $D' \neq 0$ and $\mathcal{R}$ is an integral domain. If we note $Q = (N' D')^T \in \mathbb{R}^{2 \times 1}$, then $(\lambda_1, \lambda_2) = \mu(N' D') \in \mathrm{im}_{\mathcal{R}}(.Q^T)$. Moreover, we can check that $\mathrm{im}_{\mathcal{R}}(.Q^T) \subseteq \ker_{\mathcal{R}}(.R^T)$, which yields $\ker_{\mathcal{R}}(.R^T) = \mathrm{im}_{\mathcal{R}}(.Q^T)$. Similarly, we can show that $\ker_{\mathcal{R}}(.Q) = \mathrm{im}_{\mathcal{R}}(.R')$, where $R' = (D' - N')$, which proves that the f.p. $\mathcal{R}$-module $\mathcal{L} = \mathbb{R}^{1 \times 2}/(\mathbb{R} R)$ is such that $t(\mathcal{L}) = (\mathbb{R} R')/(\mathbb{R} R)$ and $\mathcal{L}/t(\mathcal{L}) = \mathbb{R}^{1 \times 2}/(\mathbb{R} R')$. Hence, we have $\mathrm{Fitt}_0(\mathcal{L}/t(\mathcal{L})) = \langle 0 \rangle$ and $\mathcal{I} = \mathrm{Fitt}_1(\mathcal{L}) = \langle D', N' \rangle$. Using Theorem 2, Theorem 6, and Proposition 5, $P = N'/D'$ is stabilizable if and only if there exist $X, Y \in \mathcal{R}$ satisfying $D'X - N'Y \in \mathcal{S}$, i.e., if and only if $\mathcal{V}(\mathcal{I}) \cap \overline{\mathbb{D}}^n = \emptyset$. If $n = 2$, then $\mathcal{V}(\mathcal{I})$ is 0-dimensional, and thus, $\mathcal{V}(\mathcal{I}) \cap \overline{\mathbb{D}}^2 = \emptyset$ can be tested (Bouzidi et al. (2017)). Finally, in Bouzidi et al. (2017), it is shown how to compute $X, Y \in \mathcal{R}$ satisfying $D'X - N'Y \in \mathcal{S}$.

We point out that Bridges et al.'s proof (Bridges et al. (2004)) of (1) ⇒ (2) is not effective. Thus, an algorithmic proof of the Polydisc Nullstellensatz must be developed to get a stabilizability test for general $nD$ systems.

In the rest of this section, we shall suppose that (1) of Theorem 6 is satisfied. We then propose a new method to compute $s \in \mathcal{I}$ satisfying (2) of Theorem 6 (independently of the dimension of $\mathcal{V}(\mathcal{I}))$. In particular, we shall introduce a criterion that is simpler to test (see Corollary 12 below). We shall use it to construct $s \in \mathcal{R}$ that does not vanish on $\overline{\mathbb{D}}^n$ by reducing the problem to a linear program.

**Definition 4.** Let $\mu = (\mu_1, \dots, \mu_n) \in \mathbb{N}^n$, $x^\mu = x_1^{\mu_1} \dots x_n^{\mu_n}$, $s \in \mathcal{R}$, and be the support supp($s$) of $s$ defined by the finite subset of $\mathbb{N}^n$ which is such that the coefficients $a_\mu \in \mathbb{K}$ of $s$ satisfy $a_\mu \neq 0$ for all $\mu \in \mathrm{supp}(s)$, i.e., $s = \sum_{\mu \in \mathrm{supp}(s)} a_\mu x^\mu \in \mathcal{R}$. Then, we say that $s$ has a dominant constant if the coefficient of $s$ associated to the monomial of exponent $\mu = (0, \dots, 0)$, namely $a_{(0, \dots, 0)}$, has an absolute value greater than the sum of the absolute values of the other coefficients of $s$, i.e.,

$$|a_{(0,...,0)}| > \sum_{\mu \in \mathrm{supp}(s) \setminus (0,...,0)} |a_\mu|.$$

**Lemma 8.** Let $s \in \mathcal{R}$ has a dominant constant. Then, we have $s \in \mathcal{S}$, i.e., $\mathcal{V}(\langle s \rangle) \cap \overline{\mathbb{D}}^n = \emptyset$.

**Proof.** We suppose that $s$ has a zero $z$ in $\overline{\mathbb{D}}^n$. Using $a_{(0,...,0)} = -\sum_{\mu \in \mathrm{supp}(s) \setminus (0,...,0)} a_\mu z^\mu$, the triangular inequality then yields $|a_{(0,...,0)}| \leq \sum_{\mu \in \mathrm{supp}(s) \setminus (0,...,0)} |a_\mu|$, which shows that $s$ has no dominant constant term.

### 3.1 Cyclic resultant

The method to compute $s \in \mathcal{I}$ satisfying (2) of Theorem 6 that we now propose is based on the notion of cyclic resultants (Purbhoo, 2008; Forsgård et al., 2019). It has

been recently used to test the structural stability of multidimensional systems (Bossoto et al., 2019). Using cyclic resultants, we show how to reduce the problem of finding a polynomial that does not vanish in $\overline{\mathbb{D}}^n$ to the problem of finding a polynomial with a dominant constant.

**Definition 9.** (Purbhoo (2008)). Let $s \in \mathcal{R}$ and $d \in \mathbb{N}^*$. The cyclic resultant of $s$ of order $d$ is defined by

$$\mathrm{CycRes}(s, d) := \prod_{k_1=0}^{d-1} \dots \prod_{k_n=0}^{d-1} s \left( e^{2\pi i k_1 / d} z_1, \dots, e^{2\pi i k_n / d} z_n \right).$$

**Remark 10.** A direct consequence of the above Poisson formula is that $s$ divides $\mathrm{CycRes}(s, d)$ for any positive integer $d$. Moreover, grouping the factors by pairs of conjugate polynomials, we can see that if $s$ has real coefficients, then $\mathrm{CycRes}(s, d)$ also has real coefficients.

Given a polynomial $s \in \mathcal{R}$ satisfying (5), the next theorem shows how the cyclic resultant can be used to construct a polynomial with a dominant constant.

**Theorem 11.** (Bossoto et al., 2019, Theorem 4 and Theorem 5). If $s$ is a polynomial that does not vanish on $\overline{\mathbb{D}}^n$, then there is an integer $k \in \mathbb{N}^*$ such that for all $d \geq k$, the polynomial $\mathrm{CycRes}(s, d)$ has a dominant constant.

**Corollary 12.** Let $\mathcal{I}$ be an ideal of $\mathcal{R}$. Then the following conditions are equivalent:

(1) $\mathcal{V}(\mathcal{I}) \cap \overline{\mathbb{D}}^n = \emptyset$.

(2) There exists $s \in \mathcal{I}$ having a dominant constant.

**Proof.** First, let $s \in \mathcal{I}$ has a dominant constant. By Lemma 8, (5) holds. Now, the inclusion $\mathcal{V}(\mathcal{I}) \subset \mathcal{V}(\langle s \rangle)$ yields $\mathcal{V}(\mathcal{I}) \cap \overline{\mathbb{D}}^n = \emptyset$. Conversely, if $\mathcal{V}(\mathcal{I}) \cap \overline{\mathbb{D}}^n = \emptyset$, then, using Theorem 7, there exists $s \in \mathcal{I}$ satisfying (5). Using Theorem 11, there is an integer $k$ such that $\mathrm{CycRes}(s, k)$ has a dominant constant. Finally, using Remark 10, $s$ divides $\mathrm{CycRes}(s, k)$, and thus, $\mathrm{CycRes}(s, k) \in \mathcal{I}$.

### 3.2 Linear programming

The advantage of Corollary 12 is that if $\mathcal{V}(\mathcal{I}) \cap \overline{\mathbb{D}}^n = \emptyset$, then we can use linear programming to find a polynomial with a dominant constant that does not vanish on $\overline{\mathbb{D}}^n$. Let $\mathcal{I} = \langle g_1, \dots, g_m \rangle$ be an ideal of $\mathcal{R}$ generated by some elements $g_i \in \mathcal{R}$ of degrees bounded by $\delta$. Moreover, assume that there exists a polynomial $s \in \mathcal{I}$ such that $s$ has a dominant constant, and let $k \geq \delta$ be an integer such that $s = \sum_{i=1}^m r_i g_i$ where the $r_i$'s are polynomials of degree bounded by $k-\delta$. By construction, the constant monomial of $s$ is not zero and, without loss of generality, we can assume that it is 1. We show how to write a linear program to find a polynomial of $\mathcal{I}$ with a dominant constant.

Let $S_j = \{\mu = (\mu_1, \dots, \mu_n) \in \mathbb{N}^n \mid |\mu| = \sum_{i=1}^n \mu_i \leq j\}$ be the set of exponents of length less than or equal to $j$, and $c_{i,\alpha}$ a variable that represents the coefficient of $r_i$ of degree $\alpha$, for $i = 1, \dots, m$ and $\alpha \in S_{k-\delta}$, i.e., $r_i = \sum_{\alpha \in S_{k-\delta}} c_{i,\alpha} z^\alpha$. Then, the coefficients of $s$ are linear combinations of $c = (c_{i,\alpha})_{1 \leq i \leq m}$. For $\beta \in S_k$, let $\ell_\beta$ be the linear function from $\mathbb{R}^{|S_{k-\delta}|}$ to $\mathbb{R}$ such that $\ell_\beta(c)$ is the coefficient of $s$ of degree $\beta$. If we denote by $b_\beta$ the variable that bounds the absolute value of the coefficient of degree
$\beta$ of $s$, we can now write the linear program that returns a polynomial $s \in \mathcal{I}$ that satisfies (5).

$$
\begin{array}{ll}
\text{Minimize} & \displaystyle\sum_{\beta \in S_k \setminus (0, \dots, 0)} b_{\beta} \\
\text{subject to} & \ell_{(0, \dots, 0)}(c) = 1, \qquad (P_k) \\
& \ell_{\beta}(c) \le b_{\beta}, \quad \forall \beta \in S_k \setminus (0, \dots, 0), \\
& -\ell_{\beta}(c) \le b_{\beta}, \quad \forall \beta \in S_k \setminus (0, \dots, 0).
\end{array}
$$

In the general case, if the polynomials $g_1, \dots, g_m \in \mathcal{R}$ are given and $I = \langle g_1, \dots, g_m \rangle$ is such that $\mathcal{V}(I) \cap \bar{\mathbb{D}}^n = \emptyset$, Corollary 12 ensures that there is a polynomial $s \in \mathcal{I}$ that has a dominant constant. However we do not know its degree. In this case, we can start by solving the linear program $(P_k)$ for $k=2$ and then we can, e.g., double $k$ until the objective function has a value less than 1.

**Example 4.** Let us continue Example 2. We note that we have $\text{Fitt}_1(\mathcal{L}/t(\mathcal{L})) = \langle g_1, g_2, g_3 \rangle = \langle g_1 + g_2, g_2, g_3 \rangle$, where $g_1 + g_2 = (z_2 + 3)(z_1 + z_3 - 2) \notin S$. Each generator of this second set of generators of $\text{Fitt}_1(\mathcal{L}/t(\mathcal{L}))$ vanishes on $\bar{\mathbb{D}}^n$. In this case, let us show how to use the above method to obtain $s \in S$, that is a polynomial combination of $g'_1 = g_1 + g_2, g_2$, and $g_3$. Using $(P_3)$, we find that

$$
s = -z_1^3 - 2 z_1^2 z_2 - z_1^2 z_3 - z_1 z_2^2 - 2 z_1 z_2 z_3 + 55 z_2^2 z_3 \\
\qquad - z_2 z_3^2 - 5 z_1^2 - 2 z_1 z_2 - 6 z_1 z_3 - 110 z_2^2 - 3 z_3^2 + 3 z_1 \\
\qquad + 4 z_2 - 495 z_3 + 1002 \in \text{Fitt}_1(\mathcal{L}/t(\mathcal{L}))
$$

does not vanish on $\bar{\mathbb{D}}^n$, and cofactors associated to $g'_1, g_2, g_3$ are defined by $r_1 = -167 - z_3 + 55z_2 - 49z_1$, $r_2 = 70 + 48z_3 - 56z_2 + 43z_1$, and $r_3 = 13 - z_3 + 4z_2 - z_1$.

In Example 4, we introduced $g'_1$ to show that our method
works even if each input generator vanishes on $\bar{\mathbb{D}}^n$. Our
approach returns a polynomial $s$ of slightly higher degree
since it requires to satisfy the stronger criterion that $s$ has
a dominant constant (not just in $S$). Preliminary exper-
iments suggest that our approach works well when $\mathcal{V}(I)$
is far from $\bar{\mathbb{D}}^n$. In the zero-dimensional case, compared to
the effective method based on *resultants* (Bouzidi et al.,
2015), our approach also seems to return polynomial with
smaller coefficients when $\mathcal{V}(I)$ is far from $\bar{\mathbb{D}}^n$.

4. COMPUTING STABILIZING CONTROLLERS

Let us show how stabilizing controllers can be computed.

**Theorem 13.** (Bouzidi et al. (2019)). With the above no-
tations, the plant $P$ is stabilizable if and only if there is
$Z \in \mathcal{A}^{p \times q'}$ such that $S := Z D' D^{-1}$ satisfies $RS = I_q$.

In particular, if $R'$ has a generalized inverse $S' \in \mathcal{A}^{p \times q'}$, namely, $R' S' R' = R'$, then the matrix $Z$ can be chosen to be $S'$. Writing $S = (X^T \ Y^T)^T$, where $X \in \mathcal{K}^{q \times q}$ and $Y \in \mathcal{K}^{r \times q}$, if $\det(X) \neq 0$, then $C = Y X^{-1}$ stabilizes $P$.

Theorem 14. The following assertions are equivalent:

(1) The plant $P$ is stabilizable.

(2) There exists $s \in \text{Fitt}_r(\mathcal{L}/t(\mathcal{L})) \cap S \neq \emptyset$ such that the f.p. $\mathcal{R}_s = \{r/s \mid r \in \mathcal{R}, s \in S\} = \mathcal{R}[s^{-1}]$-module $Q = \mathcal{R}_s^{1 \times p} / (\mathcal{R}_s^{1 \times q'} R')$ is projective of rank $r$.

**Proof.** By Theorem 2, $P$ is internally stabilizable if and only if $M/t(M)$ is a projective $\mathcal{A}$-module of rank $r$, which, using Theorem 4, is equivalent to Equation (1).

We state again that $\text{Fitt}_i(\mathcal{M}/t(\mathcal{M})) = \mathcal{A} \text{Fitt}_i(\mathcal{L}/t(\mathcal{L}))$. Similarly, note that $\text{Fitt}_i(\mathcal{Q})$ is the ideal of $\mathcal{R}_s$ generated by all the $(p-i) \times (p-i)$-minors of $R'$, i.e., by the set of generators $\{g_{i,j}\}_{j=1,\dots,d_i}$ of $\text{Fitt}_i(\mathcal{L}/t(\mathcal{L}))$, which yields

$$
\text{Fitt}_i(\mathcal{Q}) = \sum_{j=1}^{d_i} \mathcal{R}_s g_{i,j} = \mathcal{R}_s \text{Fitt}_i(\mathcal{L}/t(\mathcal{L})), \quad i \ge 0.
$$

Thus, $\text{Fitt}_i(\mathcal{M}/t(\mathcal{M})) = 0$ (resp., $\text{Fitt}_i(\mathcal{Q}) = 0$) if and only if all the $g_{i,j}$'s are zero in $\mathcal{A}$ (resp., $\mathcal{R}_s$), and thus, all the $g_{i,j}$'s are zero in the integral domain $\mathcal{R}$, i.e., if and only if $\text{Fitt}_i(\mathcal{L}/t(\mathcal{L})) = 0$. Thus, we have

$$
\begin{align*}
\text{Fitt}_i(\mathcal{M}/t(\mathcal{M})) = 0 &\Leftrightarrow \text{Fitt}_i(\mathcal{L}/t(\mathcal{L})) = 0 \\
&\Leftrightarrow \text{Fitt}_i(\mathcal{Q}) = 0.
\end{align*}
$$
Hence, the first part of Equation (1) is equivalent to
$\text{Fitt}_i(\mathcal{Q}) = 0$ for $i = 1, \dots, r-1$.

Let us now suppose that $\text{Fitt}_r(\mathcal{M}/t(\mathcal{M})) = \mathcal{A}$ and using Proposition 5, let $s \in \text{Fitt}_r(\mathcal{L}/t(\mathcal{L})) \cap \mathcal{S}$. Then, $s^{-1} \in \mathcal{R}_s$ and $1 = s^{-1}s \in \mathcal{R}_s \text{Fitt}_r(\mathcal{L}/t(\mathcal{L}))$, which shows that $\text{Fitt}_r(\mathcal{Q}) = \mathcal{R}_s \text{Fitt}_r(\mathcal{L}/t(\mathcal{L})) = \mathcal{R}_s$.

Conversely, if $\text{Fitt}_r(\mathcal{Q}) = \mathcal{R}_s \text{Fitt}_r(\mathcal{L}/t(\mathcal{L})) = \mathcal{R}_s$, then there exist $a_{r,j} = b_{r,j}/s^{n_j}$, where $b_{r,j} \in \mathcal{R}$ and $n_j \in \mathbb{N}$ for $j = 1, \dots, d_r$, satisfying $\sum_{j=1}^{d_r} a_{r,j} g_{r,j} = 1$. If we set $n = \max\{n_1, \dots, n_{d_r}\}$, then $\sum_{j=1}^{d_r} (s^{n-n_j} b_{r,j}) g_{r,j} = s^n \in \text{Fitt}_r(\mathcal{L}/t(\mathcal{L}))$, which proves that $\text{Fitt}_r(\mathcal{M}/t(\mathcal{M})) = \mathcal{A}$.

Finally, the result holds using Theorem 4 for either the f.p. $\mathcal{R}_s$-module $\mathcal{Q}$ or for the f.p. $\mathcal{A}$-module $\mathcal{M}/t(\mathcal{M})$.

Let us explain how Theorem 14 can be used to compute
a stabilizing controller $C$ of $P$. Set $Q_1 = R'$ and $q_0 = p'$.
Consider a *finite free resolution* of *finite length* of $\mathcal{L}/t(\mathcal{L})$,
namely, a long exact sequence of $\mathcal{R}$-modules of the form

$$
\begin{equation}
\begin{aligned}
  0 & \longrightarrow \mathcal{R}^{1 \times q_m}_{s} \xrightarrow{\cdot Q_m} \mathcal{R}^{1 \times q_{m-1}}_{s} \xrightarrow{\cdot Q_{m-1}} \dots \\
  \dots & \longrightarrow \mathcal{R}^{1 \times q_1}_{s} \xrightarrow{\cdot Q_1} \mathcal{R}^{1 \times q_0}_{s} \xrightarrow{\kappa} \mathcal{L}/t(\mathcal{L}) \longrightarrow 0.
\end{aligned}
\tag{6}
\end{equation}
$$

See Eisenbud (1995); Rotman (2009). See Chyzak et al. (2005) for computational issues and Chyzak et al. (2007) for an implementation in the OREMODULES package.

By Theorem 1, $\mathcal{R}_s = \mathcal{T}^{-1} \mathcal{R} = \mathcal{R}[s^{-1}]$ is a flat $\mathcal{R}$-module.
Tensoring (6) by $\mathcal{R}_s$ and using $\mathcal{Q} \cong \mathcal{R}_s \otimes_{\mathcal{R}} \mathcal{L}/t(\mathcal{L})$, we
obtain the following long exact sequence of $\mathcal{R}_s$-modules

$$
\begin{align*}
0 &\longrightarrow \mathcal{R}_s^{1 \times q_m} \xrightarrow{\cdot Q_m} \mathcal{R}_s^{1 \times q_{m-1}} \xrightarrow{\cdot Q_{m-1}} \dots \\
\dots &\longrightarrow \mathcal{R}_s^{1 \times q_1} \xrightarrow{\cdot Q_1} \mathcal{R}_s^{1 \times q_0} \xrightarrow{\mathrm{id}_{\mathcal{R}_s} \otimes \kappa} \mathcal{Q} \longrightarrow 0,
\end{align*}
\tag{7}
$$

which is a finite free resolution of $\mathcal{Q}$ of finite length.

If $P$ is stabilizable, using the fact that $\mathcal{Q}$ is a projective $\mathcal{R}_s$-module, then the long exact sequence (7) of $\mathcal{R}_s$-modules *splits* (Eisenbud (1995); Rotman (2009)), namely, there exist matrices $S_i \in \mathcal{R}_s^{q_{i-1} \times q_i}$ satisfying the identities

$$
Q_i S_i + S_{i+1} Q_{i+1} = I_{q_i}, \quad i = 1, \dots, m-1, \quad (8)
$$

where $Q_{m+1} = 0$, i.e., $Q_m S_m = I_{q_m}$ for $i = m-1$. Now, post-multiplying (8) by $Q_i$ and using $Q_{i+1} Q_i = 0$, we obtain $Q_i S_i Q_i + S_{i+1} Q_{i+1} Q_i = Q_i$, i.e., $Q_i S_i Q_i = Q_i$, which shows that $S_i$ is a *generalized inverse* of $Q_i$.

Let us show how a generalized inverse $S' = S_1$ of $R' = Q_1$
can be computed. We first show how a right inverse $S_m$ of
$Q_m$ can be computed. If $\delta : \mathcal{R}[x] \to \mathcal{R}_s = \mathcal{R}[x]/\langle x s - 1 \rangle$