Représentation d'état
En automatique, une représentation d'état permet de modéliser un système dynamique en utilisant des variables d'état. Cette représentation, qui peut être linéaire ou non, continue ou discrète, permet de déterminer l'état du système à n'importe quel instant futur si l'on connaît l'état à l'instant initial et le comportement des variables exogènes qui influent sur le système. La représentation d'état du système permet de connaître son comportement "interne" et pas seulement son comportement "externe" comme c'est le cas avec sa fonction de transfert[1]. Pour un bref historique de la représentation d'état, voir Histoire de l'automatique.
Variables d'état
[modifier | modifier le code]Un système peut être entièrement décrit à l'aide d'un ensemble de variables. Les variables d'état sont des grandeurs, qui le plus souvent ont une signification physique, et qui sont rassemblées dans un vecteur x. La connaissance de toutes les variables d'état à un instant t quelconque ainsi que de l'entrée sur un intervalle [t , t+T], où T est arbitraire, permet de connaître la valeur de toutes les variables du système à l'instant . Le nombre de variables d'état, désigné par la lettre n, est l'ordre du système.
Systèmes linéaires
[modifier | modifier le code]Représentations
[modifier | modifier le code]Dans la première partie de cet article nous ne considèrerons que des systèmes linéaires temps-invariants (ou stationnaires).
La représentation d'état de ces systèmes, quand ils sont à temps continu, s'écrit de la manière suivante[2] :
- : colonne qui représente les n variables d'état
- : colonne qui représente les m commandes
- : colonne qui représente les p sorties
- : Matrice d'état
- : Matrice de commande
- : Matrice d'observation
- : Matrice d'action directe
Les colonnes x, u et y représentent des vecteurs et dans des bases des espaces vectoriels et , appelés espace d'état, espace des commandes et espace des sorties, et isomorphes à et respectivement.
De même les matrices A, B, C et D représentent des applications linéaires , , et , respectivement, dans les bases considérées.
Les vecteurs x, u et y vérifient les équations
Dans certains cas, la représentation d'état matricielle introduite en premier lieu sera la plus commode ; dans d'autres, celle mettant en jeu des vecteurs et des applications linéaires, et appelée représentation d'état intrinsèque (elle est également dite géométrique[3]) sera plus appropriée.
Intégration de l'équation d'état
[modifier | modifier le code]L'état du système est un résumé exhaustif du passé du système. En effet, connaissant l'état , et la commande sur l'intervalle fini , on peut exprimer l'état , grâce aux calculs sur l'exponentielle d'une matrice :
Changement de base
[modifier | modifier le code]Considérons le changement de variable , avec et inversible. Ce changement de variable correspond à un changement de base dans l'espace d'état. Le système se récrit donc comme suit :
On voit donc qu'il existe une infinité de représentations matricielles d'un système d'état. En revanche, la représentation intrinsèque est unique.
Pôles et stabilité
[modifier | modifier le code]Pôles
[modifier | modifier le code]Les valeurs propres de la matrice d'état (ou, de manière équivalente, de l'endomorphisme représenté par cette matrice) sont les pôles du système. Soit p un pôle ; son ordre q est défini comme étant le degré maximal des diviseurs élémentaires de la matrice polynômiale multiples du polynôme , ou encore l'ordre de multiplicité de p en tant que racine du polynôme minimal de A, soit encore l'ordre maximal des blocs de Jordan de A ayant pour valeur propre p.
Cette dernière caractérisation et l'application de la réduction de Jordan à la théorie de systèmes différentiels montre que les conditions suivantes sont équivalentes :
- (i) le système a un pôle p d'ordre supérieur ou égal à q ;
- (ii) avec u=0, il existe un état initial tel que l'équation d'état a une solution de la forme .
Stabilité
[modifier | modifier le code]De ce qui précède, il résulte les propositions suivantes :
- Le système est asymptotiquement stable si, et seulement si ses pôles sont tous situés dans le demi-plan gauche ouvert (c'est-à-dire ont tous une partie réelle strictement négative). Il s'agit également de la condition nécessaire et suffisante pour que le système soit exponentiellement stable.
- Le système est stable (au sens de Lyapunov) si, et seulement si ses pôles sont tous dans le demi-plan gauche fermé (c'est-à-dire ont tous une partie réelle négative ou nulle), ceux situés sur l'axe imaginaire (s'il en existe) étant simples (c'est-à-dire d'ordre 1).
Propriétés structurelles
[modifier | modifier le code]La commandabilité et l'observabilité sont des propriétés structurelles du système qui n'apparaissent pas dans la représentation par fonction de transfert.
Commandabilité et stabilisabilité
[modifier | modifier le code]Un système est dit commandable si pour tout intervalle de temps , et tous points , avec , il existe une commande u appliquée sur , telle que .
La condition nécessaire et suffisante de commandabilité ci-après est appelée le critère de Kalman pour la commandabilité[2]. Le système considéré est commandable si et seulement si :
La matrice ci-dessus, notée , est communément appelée matrice de commandabilité, et ses colonnes se calculent de façon itérative : . En termes intrinsèques on définit le sous-espace commandable de l'espace d'état suivant[3]
où est l'image de , et le système est donc commandable si, et seulement si . On dit alors, par abus de langage, que (A , B) (ou, de manière équivalente, (A , B)) est commandable. Quand ce n'est pas le cas, soit le rang de la matrice , c'est-à-dire la dimension de l'espace commandable , une base de et une base d'un sous-espace supplémentaire de dans . En choisissant dans la base , quelle que soit la base choisie dans , les applications linéaires et sont représentées par des matrices de la forme
où est commandable et où l'astérisque est une sous-matrice dont les éléments sont quelconques. Les valeurs propres de sont les pôles (ou modes) non commandables du système, également appelés ses zéros de découplage en entrée (z.d.e.). L'ordre de la matrice est et celui de la matrice est .
Le système est dit stabilisable si ses pôles non commandables appartiennent tous au demi-plan gauche ouvert. Un système commandable est donc stabilisable.
Un critère commode pour étudier la commandabilité et la stabilisabilité d'un système est le test de Popov-Belevich-Hautus (PBH)[4]: le système est commandable (resp. stabilisable) si, et seulement si le rang de la matrice est égal à n pour tout (resp. pour tout dans le demi-plan droit fermé).
Les pôles non commandables sont également les valeurs de pour lesquelles le rang de la matrice est , autrement dit ce sont les racines des facteurs invariants de cette matrice. Soit p un pôle non commandable. Son ordre q est par définition le degré maximal des diviseurs élémentaires de multiples du polynôme (c'est aussi l'ordre de multiplicité de p en tant que racine du polynôme minimal de , soit encore l'ordre maximal des blocs de Jordan de ayant pour valeur propre p.).
Cette dernière caractérisation montre (comme, plus haut, à propos des pôles du système) que les conditions suivantes sont équivalentes :
- le nombre complexe p est un pôle non commandable d'ordre supérieur ou égal à q ;
- il existe un état initial tel que pour toute commande indéfiniment dérivable u, l'équation d'état a une solution de la forme .
Observabilité et détectabilité
[modifier | modifier le code]Un système est dit observable si l'observation de ses entrées et sorties pendant un intervalle de temps fini permet de déterminer l'état initial , et donc, par intégration de l'équation d'état, de connaître à tout instant appartenant à l'intervalle . La condition nécessaire et suffisante d'observabilité ci-après est appelé le critère de Kalman pour l'observabilité[2]. Le système considéré est observable si et seulement si :
Cette matrice notée est communément appelée matrice d'observabilité et ses lignes se calculent de façon itérative : . En termes intrinsèques, on définit le sous-espace non observable suivant[3]
et le système (ou, par abus de langage, (C , A), ou (C , A)) est donc observable si, et seulement si (où 0 désigne le sous-espace vectoriel de réduit au seul élément nul). Quand ce n'est pas le cas, soit la dimension de ( étant donc le rang de ), une base d'un sous-espace supplémentaire de , et une base de . En choisissant dans la base , quelle que soit la base choisie dans , les applications linéaires et sont représentées par des matrices de la forme
où est observable.
Les valeurs propres de sont les pôles (ou modes) non observables du système, également appelés des zéros de découplage en sortie (z.d.s.). L'ordre de la matrice est et celui de la matrice est .
Le système est dit détectable si ses pôles non observables appartiennent tous au demi-plan gauche ouvert. Un système observable est donc détectable.
Il existe également le test de Popov-Belevich-Hautus (PBH) pour caractériser l'observabilité et la détectabilité[4]: le système est observable (resp. détectable) si, et seulement si le rang de la matrice
est égal à n pour tout (resp. pour tout s dans le demi-plan droit fermé).
Les pôles non observables sont également les valeurs de pour lesquelles le rang de la matrice ci-dessus est , autrement dit ce sont les racines des facteurs invariants de cette matrice. L'ordre d'un pôle non observable se définit comme celui d'un pôle non commandable, mutatis mutandis.
Les conditions suivantes sont équivalentes :
- le nombre complexe p est un pôle non observable d'ordre supérieur ou égal à q ;
- avec , il existe un état initial tel que est une solution de l'équation d'état, tandis que la sortie y est identiquement nulle.
Décomposition de Kalman
[modifier | modifier le code]Écrivons maintenant où , est un supplémentaire de dans , est un supplémentaire de dans et est un supplémentaire de dans . En choisissant dans une base formée de la concaténation de bases des sous-espaces ci-dessous, les applications linéaires , et sont représentées (quelles que soient les bases choisies dans et ) par des matrices de la forme[2],[3],
où
est commandable et
est observable. On vérifie sans difficulté que la matrice de transfert du système est
où est la dimension de l'espace vectoriel . Par conséquent, la matrice de transfert ne dépend que de la partie commandable et observable du système.
Modes cachés
[modifier | modifier le code]Considérons de nouveau le système linéaire donné par la représentation d'état ci-dessus. Les propriétés suivantes sont équivalentes:
- Le système est à la fois observable et commandable.
- Les pôles du système (autrement dit, les valeurs propres de A) coïncident avec ses pôles de transmission (autrement dit, les pôles de sa matrice de transfert), en prenant en compte les multiplicités.
Le système est dit minimal quand ces propriétés équivalentes sont satisfaites.
Considérons la décomposition de Kalman de ce système. On a, puisque les valeurs propres d'une matrices restent inchangées par changement de base,
où désigne le spectre de la matrice entre parenthèses, c'est-à-dire l'ensemble de ses valeurs propres (répétées un nombre de fois égal à leur multiplicité) et où est la réunion disjointe. D'autre part, avec les notations qui précèdent,
par conséquent, où ( désignant le complémentaire de F dans E lorsque ).
- Les éléments de (resp. ) s'appellent les modes cachés (resp. les zéros de découplage en entrée-sortie (z.d.e.s.))[5]. La dernière égalité s'écrit
- ,
tandis que la précédente s'écrit, en désignant par (resp. ) les pôles du système (resp. ses pôles de transmission)
- .
On peut montrer que ces deux dernières relations sont intrinsèques[6],[4].
Zéros
[modifier | modifier le code]Zéros invariants
[modifier | modifier le code]Considérons la matrice R(s), appelée matrice de Rosenbrock ou matrice-système[5]
- .
Les racines dans le plan complexe des facteurs invariants de R(s) (multiplicités prises en compte) sont appelés les zéros invariants (z.i.) du système. Ce sont des objets intrinsèques qui sont invariants par retour d'état, d'où leur nom.
Soit z un zéro invariant. Son ordre q se définit comme étant le degré maximal des diviseurs élémentaires de R(s) multiples du polynôme .
Les conditions suivantes sont équivalentes[7] :
- le nombre complexe z est un zéro invariant du système, d'ordre supérieur ou égal à q ;
- il existe un état initial et une commande , , pour lesquels la sortie y est identiquement nulle.
Zéros du système
[modifier | modifier le code]Les zéros du système (z.s.) sont définis par la relation[5]
où est l'ensemble des zéros de transmission (contrairement aux zéros invariants, ces derniers ne sont pas invariants par retour d'état). On montre que[6],[4],
la première (resp. la seconde) inclusion devenant une égalité dans le cas d'un système minimal (resp. ayant une matrice de transfert carrée et régulière).
Dualité
[modifier | modifier le code]Les propriétés de commandabilité et d'observabilité sont duales, de même que les propriétés de stabilisabilité et de détectabilité, dans le sens suivant : (C , A) est observable (resp. détectable) si, et seulement si (tA , tC) est commandable (resp. stabilisable).
Passage à la fonction de transfert : exemple
[modifier | modifier le code]Comme il est dit ci-dessus, les parties non commandables et/ou non observables disparaissent dans les représentations par fonction de transfert (c'est en cela que les pôles et zéros correspondants sont des modes cachés). Voici un exemple illustratif.
Considérons les systèmes et correspondants aux équations différentielles suivantes :
Le système possède la forme d'état suivante :
Ce système est minimal.
Le système peut se mettre sous forme d'état comme suit :
Le calcul de la matrice de commandabilité conduit au résultat suivant :
Le rang de cette matrice est égal à 1. Puisque le système est d'ordre , il n'est pas commandable.
Néanmoins, les deux systèmes, bien que différents, ont la même fonction de transfert (avec la variable de Laplace) :
Ce sont les simplifications des pôles non commandables par des zéros (de découplage en entrée) qui fait que la représentation par fonction de transfert ne permet pas de refléter toutes les propriétés structurelles du système.
Discrétisation
[modifier | modifier le code]On peut discrétiser à une période d'échantillonnage T un système linéaire stationnaire à temps continu tel que celui ci-dessus, de manière à former un système linéaire stationnaire à temps discret . L'état et la sortie de sont les suites définies par les relations , . La commande discrète de est une suite de nombres calculés par un calculateur numérique fonctionnant en temps réel. Ces valeurs font l'objet d'un blocage tel que est une commande à temps continu u vérifiant La commande bloquée est l'entrée de . Le type de bloqueur le plus simple, et aussi le plus répandu, est le bloqueur d'ordre zéro : il consiste à définir u par pour . La commande u qui en résulte est donc une fonction en escalier. Pour obtenir l'équation d'état de , il suffit d'intégrer celle de entre kT et et on montre que[4]
avec
ou sous une forme plus compacte
- .
Pour que soit commandable (resp. observable) il faut que le soit, et si cette condition est satisfaite, il suffit que, de plus, la matrice d'état de n'ait pas de valeurs propres , telles que . On en déduit un théorème analogue au théorème de l'échantillonnage, mais s'appliquant aux systèmes[4].
Les valeurs propres de la matrices d'état sont les pôles du système . Une condition nécessaire et suffisante pour que ce système soit asymptotiquement stable (ou, de manière équivalente, exponentiellement stable) est que ces pôles aient tous un module strictement inférieur à 1. Cette condition est satisfaite si, et seulement si est exponentiellement stable.
Les différentes sortes de pôles et de zéros d'un système linéaire stationnaire se définissent dans le cas du temps discret d'une manière analogue, mutatis mutandis, à ce qui a été indiqué plus haut pour les systèmes à temps continu.
Systèmes linéaires instationnaires
[modifier | modifier le code]Formalisme
[modifier | modifier le code]Nous ne traiterons, très brièvement, que le cas des systèmes linéaires instationnaires à temps continu. Un tel système a une équation d'état et une équation d'observation qui ont la même forme qu'un système linéaire stationnaire, mais avec des matrices , , et qui appartiennent cette fois à un anneau ou un corps différentiel . Un tel système admet également une fonction de transfert. Cet anneau (supposé intègre et commutatif) ou ce corps (supposé commutatif) est muni de la dérivation usuelle (deux exemples classiques sont ceux où et ). Soit , avec , l'anneau des polynômes gauches en à coefficients dans . Si f est une variable, on a d'après la règle de Leibniz , et puisque ceci est vrai quelle que soit f on a sur la règle de commutation
L'anneau , muni de cette règle, est un anneau d'Ore non commutatif, qui est simple et principal lorsque est un corps [8].
Commandabilité
[modifier | modifier le code]La commandabilité d'un tel système se définit comme dans le cas stationnaire. Un critère de commandabilité, analogue à celui de Kalman, a été donné par Silverman et Meadows[9] lorsque , l'anneau des fonctions analytiques réelles sur un intervalle ouvert non vide de la droite réelle: soit
avec
- .
Une condition nécessaire et suffisante pour que le système soit commandable est qu'il existe un sous-ensemble discret de tel que le rang sur de soit égal à la dimension de l'espace d'état pour tout .
Considérons par exemple le système dont les matrices d'état et de commande sont, respectivement,
Si est un paramètre constant quelconque, la matrice de commandabilité est
- ,
son déterminant vaut et le système (stationnaire) est donc commandable. En revanche, si σ = t, la matrice de commandabilité est
et le système (instationnaire) est non commandable.
Observabilité et dualité
[modifier | modifier le code]L'observabilité se définit comme dans le cas stationnaire. On obtient une condition nécessaire et suffisante d'observabilité en passant au système dual. Il est défini par les équations[8]
Un système linéaire coïncide donc avec son "bidual", et il est observable si, et seulement si son dual est commandable[9].
Stabilité
[modifier | modifier le code]La stabilité d'un système linéaire instationnaire peut s'étudier par des méthodes purement analytiques[10] qui fournissent des conditions suffisantes ou nécessaires de stabilité exponentielle. On peut aussi, par des méthodes issues de l’analyse algébrique et de l'algèbre différentielle (en) (théorie de Picard-Vessiot (en)) définir les pôles d'un système instationnaire (sous certaines conditions portant sur le corps différentiel auquel appartiennent les coefficients des matrices de ce système) qui fournissent une condition nécessaire et suffisante de stabilité exponentielle analogue à celle indiquée plus haut pour les systèmes linéaires stationnaires[8].
Systèmes non linéaires
[modifier | modifier le code]Représentations des systèmes non linéaires
[modifier | modifier le code]Commençons par les représentations classiques. Une représentation d'état d'un système non linéaire est de la forme
où comme précédemment x est le vecteur d'état, y le vecteur de sortie et u le vecteur d'entrée. Ces variables sont définies sur un intervalle ouvert non vide de la droite réelle. Nous supposerons que , où et sont des ouverts non vides de et , respectivement.
La première équation représente l'équation d'évolution et la seconde l'équation d'observation. La représentation d'état linéaire décrite précédemment est un cas particulier de cette forme, obtenu lorsque les fonctions f et h sont linéaires par rapport à (x , u).
La représentation d'état ci-dessus n'est pas unique, car elle n'est pas intrinsèque. En effet, considérons le changement de variable où η est un difféomorphisme de dans l'ouvert de
On obtient :
- , que l'on note par la suite. D'où :
On peut alors récrire notre système en tenant compte du changement de variable :
Pour obtenir une représentation intrinsèque, nous supposerons que où est une carte d'une variété différentielle connexe de dimension n (avec ) et, pour simplifier les écritures, nous poserons en considérant et en tant que variétés différentielles. Alors les deux premières équations se mettent sous la forme[11]
Les deux équations obtenues après le changement de variable se mettent également sous cette forme, car celui-ci n'est rien d'autre qu'un changement de carte. On a donc bien obtenu l'unicité de la représentation.
Exemple du pendule
[modifier | modifier le code]L'exemple classique de système non linéaire est un pendule libre (il n'y a pas d'entrées, le pendule est livré à lui-même). L'équation différentielle régissant le pendule est la suivante :
où:
- est l'angle du pendule
- m est la masse du pendule (la masse de la tige est négligée)
- g est l'accélération gravitationnelle
- k est le coefficient de frottement au point de pivot
- l est le rayon du pendule (jusqu'au centre de gravité de la masse m)
Les équations d'état sont :
oùn:
- est l'angle du pendule
- est la vitesse angulaire du pendule
- est l'accélération angulaire du pendule
L'équation d'état peut être écrite ainsi :
Les points d'équilibre stationnaires d'un système sont définis par les points où . Dans ce cas, les points qui satisfont ce critère pour le pendule sont :
pour tout n entier.
Commandabilité, observabilité
[modifier | modifier le code]La commandabilité et l'observabilité d'un système non linéaire se définissent de la manière habituelle, déjà explicitée ci-dessus. La commandabilité s'étudie, dans le cas de systèmes affines en la commande, c'est-à-dire régis par une équation d'état de la forme
- ,
(où f et g sont indéfiniment différentiables et f(0) = 0) grâce à outils mathématiques empruntés à la géométrie différentielle[12]. Soit deux champs de vecteurs indéfiniment différentiables sur leur crochet de Lie, et définissons
- .
Soit les distributions[11]
où désigne l'espace vectoriel engendré par les vecteurs entre accolades. Il existe un voisinage ouvert U de l'origine dans lequel le système est commandable si, et seulement si la distribution est de dimension n[13]. Dans le cas où le système est linéaire, on retrouve le critère de Kalman. On peut du reste préciser que l'ensemble des états appartenant à U accessibles à partir de l'origine est [12].
D'autre part, il existe un bouclage linéarisant de la forme (c'est-à-dire qu'il existe un difféomorphisme tel que le système d'entrée v et d'état est linéaire) si, et seulement si (1) la condition ci-dessus est satisfaite et (2) la distribution est involutive (i.e., pour tous champs de vecteurs , le crochet de Lie appartient à )[13]. Ce résultat est fondé, notamment, sur le théorème de Frobenius.
Il existe une condition nécessaire et suffisante d'observabilité locale pour le système ci-dessus lorsqu'il a une équation d'observation de la forme[12]
- .
Les systèmes plats (au sens de la platitude différentielle (en))[14],[15] sont des systèmes commandables, et observables vus de la sortie plate.
Stabilité
[modifier | modifier le code]La stabilité des systèmes non linéaires s'étudie grâce à des fonctions de Lyapunov. Des stabilités de différents types existent: au sens de Lyapunov, asymptotique, exponentielle ; elles peuvent être locales ou globales, uniformes ou non, etc[16].
Notes et références
[modifier | modifier le code]Notes
[modifier | modifier le code]- Kailath 1980
- Kalman 1960, Kalman 1963
- Wonham 1985
- Bourlès 2010
- Rosenbrock 1970
- Bourlès et Fliess 1997
- MacFarlane et Karkanias 1976
- Bourlès et Marinescu 2011
- Silverman et Meadows 1967
- Rugh 1995
- Spivak 1999
- Isidori 1995
- Slotine et Li 1991
- Fliess, Lévine et Rouchon 1995
- Sira Ramírez et Agrawal 2004
- Hahn 1967
Références
[modifier | modifier le code]- (en) Thomas Kailath, Linear Systems, Prentice Hall, , 682 p. (ISBN 0-13-536961-4)
- (en) Henri Bourlès, Linear Systems, John Wiley & Sons, , 544 p. (ISBN 978-1-84821-162-9 et 1-84821-162-7, lire en ligne)
- (en) Henri Bourlès et Michel Fliess, « Finite poles and zeros of linear systems: an intrinsic approach », Int. J. Control, vol. 68, no 4, , p. 897-922
- (en) Henri Bourlès et Bogdan Marinescu, Linear Time-Varying Systems : Algebraic-Analytic Approach, Springer, , 638 p. (ISBN 978-3-642-19726-0 et 3-642-19726-4, lire en ligne)
- (en) Michel Fliess, Jean Lévine et Pierre Rouchon, « Flatness and defect of nonlinear systems: Introductory theory and examples », Internat. J. Control, vol. 61, , p. 1327-1361
- (en) Wolfgang Hahn, Stability of Motion, Springer, , 446 p. (ISBN 3-540-03829-9)
- (en) Alberto Isidori, Nonlinear Control Systems (3rd ed.), Berlin/Heidelberg/New York, Springer, , 564 p. (ISBN 3-540-19916-0, lire en ligne)
- (en) R.E. Kalman, « On the general theory of control systems », dans Proc. 1st IFAC Congress, Moscou,
- (en) R. E. Kalman, « Mathematical description of linear dynamical systems », SIAM J. Control, vol. 1, , p. 152-192
- (en) A.G.J. MacFarlane et N. Karkanias, « Poles and zeros of linear multivariable systems: a survey of the algebraic, geometric and complex-variable theory », Int. J. Control, vol. 24, no 1, , p. 33-74
- (en) Howard Rosenbrock, State-Space and Multivariable Theory, Nelson, , 267 p. (ISBN 0-17-781002-5)
- (en) Wilson Rugh, Linear System Theory (2nd ed.), Upper Saddle River (N. J.), Prentice Hall, , 581 p. (ISBN 0-13-441205-2)
- (en) Jean-Jacques E. Slotine et Weiping Li, Applied Nonlinear Control, Prentice-Hall, , 461 p. (ISBN 0-13-040049-1)
- (en) L. M. Silverman et H. E. Meadows, « Controllability and observability in time-variable linear systems », SIAM J. Control, vol. 5, , p. 64-73
- (en) Hebertt J. Sira Ramírez et Sunil Kumar Agrawal, Differentially flat systems, Marcel Dekker, , 467 p. (ISBN 0-8247-5470-0)
- (en) Michael Spivak, (A Comprehensive Introduction to) Differential Geometry [détail des éditions], vol. 1, 1999
- (en) W. Murray Wonham, Linear multivariable control : a geometric approach, New York/Berlin/Paris etc., Springer, , 334 p. (ISBN 0-387-96071-6)