Réglage d'état Calcul matriciel 10.C ANNEXE: CALCUL MATRICIEL 10.C.1 Définitions La maîtrise du calcul matriciel est incontournable pour aborder l'étude des réglages d'état. Nous n'en rappellerons que les opérations fondamentales déjà étudiées en mathématiques [28]. On précise qu'un système physique décrit par n équations différentielles du premier ordre est associé à une application linéaire définie dans l'espace vectoriel Cn. Le choix du vecteur d'état (§ 10.1.1) est lié à celui de la base de l'espace vectoriel. Si cette annexe convient comme rappel, elle est vraisemblablement insuffisante pour celui qui n'a pas étudié l'algèbre linéaire. On peut grouper n grandeurs a1 à an en une colonne appelée vecteur. On le note par une minuscule grasse. Sa dimension est n. ⎡ a1 ⎤ ⎢a ⎥ 2 a=⎢ ⎥ ⎢ M ⎥ ⎢ ⎥ ⎣a n ⎦ (10.C01) Un vecteur-ligne est un vecteur transposé (10.C05). a T = [a1 a 2 L a n ] (10.C02) Une matrice de dimension <n;m> est un tableau formé par la juxtaposition de m vecteurs de dimension n. On la note par une majuscule grasse. A = [a 1 L am] a2 (10.C03) Chaque élément aij d'une matrice est muni de deux indices, le premier – i – désigne la ligne et le deuxième – j – la colonne où il se trouve. ⎡ a11 ⎢a 21 A=⎢ ⎢ M ⎢ ⎣ a n1 a12 L a 22 L M a ij a n2 L a1m ⎤ a 2m ⎥ ⎥ M ⎥ ⎥ a nm ⎦ (10.C04) Une matrice carrée a des nombres de lignes et de colonnes identiques. Sa dimension est <n;n> ou plus simplement n. Les éléments aii sont appelés diagonaux. Ils forment la diagonale principale. Une matrice diagonale est une matrice carrée dont seuls les éléments diagonaux sont non nuls. Une matrice triangulaire a tous ses termes au-dessus – ou au-dessous – de la diagonale principale qui sont nuls. La matrice unité, notée 1, est la matrice diagonale dont tous les éléments diagonaux sont égaux à 1. La matrice zéro, notée 0, est la matrice carrée dont tous les éléments sont égaux à 0. Une matrice transposée, de dimension <n;m> s'obtient en permutant les lignes et colonnes de la matrice de départ. On la note avec un indice supérieur “T”. J.-M. Allenbach 10–61 020131 Réglage d'état Calcul matriciel ⎡ a11 ⎢ T ⎢ a12 A = ⎢ M ⎢ ⎣a1m a 21 L a 22 L M a ji a 2m L a n1 ⎤ a n2 ⎥ ⎥ M ⎥ ⎥ a nm ⎦ (10.C05) (A T ) T = A (10.C06) Une matrice symétrique est une matrice carrée dont la diagonale principale est son axe de symétrie. La matrice diagonale est un cas particulier. Elle vérifie la propriété: AT = A (10.C07) La trace d'une matrice est obtenue par la somme des éléments de sa diagonale principale. n tr( A ) = ∑ a ii (10.C08) i =1 En particulier, la trace de la matrice unité est égale à sa dimension. tr( 1) = n (10.C09) Le rang d'une matrice indique le nombre de ses colonnes ou de ses lignes qui sont linéairement indépendantes. Une matrice régulière est une matrice carrée dont le rang est égal à sa dimension n. rang( A ) = n (10.C10) 10.C.2 Opérations matricielles L'addition de deux matrices de mêmes dimensions A et B donne une matrice C, ses termes sont la somme de ceux des matrices A et B de même ligne et même colonne. L'addition de deux matrices de dimensions différentes est impossible. A+B=C avec cij = a ij + bij (10.C11) L'addition matricielle est commutative et associative, son élément neutre est la matrice zéro. La soustraction se déduit de l'addition, elle n'est toutefois ni associative ni commutative. A−B=C avec cij = a ij − bij (10.C12) La produit d'une matrice A par un scalaire f s'obtient en multipliant chacun de ses termes par le scalaire. J.-M. Allenbach 10–62 020131 Réglage d'état Calcul matriciel B= f A avec bij = f a ij (10.C13) Le produit d'une matrice A de dimension <n;m> avec une matrice B de dimension <m;p> est une matrice C de dimension <n;p>. m avec cij = ∑ a ik bkj C= AB k =1 (10.C14) Si le nombre de colonnes de la première matrice est différent de celui des lignes de la seconde, le produit est impossible. Le produit matriciel est sauf exception non commutatif. Dans l'ensemble des matrices carrées de dimension n, la matrice unité est l'élément neutre du produit. Le rang d'une matrice produit ne peut pas dépasser le plus petit rang des matrices multipliées. rang( A B ) ≤ min(rang( A ), rang( B )) si rang( A ) = m(≤ n ) et rang( B ) = m(≤ p ) alors rang( A B ) = m (10.C15) Les produits de matrices et vecteurs sont des cas particuliers du produit matriciel. Les produits de vecteurs offrent des résultats d'aspect très différent selon leur sens: le produit scalaire (10.C18) a pour résultat un scalaire tandis que le produit diadique (10.C19) a pour résultat une matrice carrée. c= Ab (10.C16) cT = a TB c = a Tb C = a bT (10.C17) (10.C18) (10.C19) L'élévation d'une matrice A carrée à la puissance q revient à la multiplier q fois par elle-même. Aq = A AL A (10.C20) q L'élévation d'une matrice régulière à la puissance q est une matrice régulière. Pour une matrice diagonale, le calcul se simplifie. Dq = C q avec cii = d ii (10.C21) On peut définir l'exponentielle d'une matrice comme une opération dans l'ensemble des matrices carrées de dimension n. On applique – comme pour l'exponentielle scalaire – la définition par le développement en série. F = eA (10.C22) 2 3 k A A A (10.C23) + +L+ +L 2! 3! k! En toute généralité, les termes de la matrice exponentielle ne sont pas l'exponentielle de la matrice de départ. F = 1+ A + J.-M. Allenbach 10–63 020131 Réglage d'état f ij ≠ e Calcul matriciel aij (10.C24) On peut construire une nouvelle matrice par juxtaposition pour autant que le nombre de ligne des matrices qu'on accole soit identique et que le nombre de colonnes de celles qu'on superpose soit aussi identique. Soit deux relations matricielles définies en (10.C25). c1 = A 11b1 + A 12 b 2 c 2 = A 21b1 + A 22 b 2 (10.C25) On peut créer les vecteurs b et c par superposition. ⎡ b1 ⎤ b=⎢ ⎥ ⎣b 2 ⎦ et ⎡ c1 ⎤ c=⎢ ⎥ ⎣c 2 ⎦ (10.C26) Les deux relations de (10.C25) peuvent alors être remplacées par une seule relation matricielle. c = Ab (10.C27) La matrice A est obtenue par juxtaposition des matrices de (10.C25). ⎡ A 11 A=⎢ ⎣ A 21 A 12 ⎤ A 22 ⎥⎦ (10.C28) 10.C.3 Inversion d'une matrice On introduit d'abord la notion de déterminant, qui n'est défini que pour des matrices carrées. On les calcule à partir des termes d'une ligne i, et du sousdéterminant |Aik| qui s'applique à la matrice dont on a supprimé la ligne i et la colonne k. n det A = A = ∑ (−1) i + k a ik A ik (10.C29) k =1 On peut aussi le calculer à partir de la colonne k. n det A = A = ∑ ( −1) i + k a ik A ik (10.C30) i =1 En calcul manuel on choisira la ligne, ou la colonne, qui compte le plus de zéros. Pour une matrice de dimension 2, on a une expression assez simple. det A = a11 a 22 − a12 a 21 J.-M. Allenbach (10.C31) 10–64 020131 Réglage d'état Calcul matriciel Pour une matrice diagonale D, ou une matrice triangulaire, le calcul est encore plus simple. n det D = ∏ d ii (10.C32) i =1 On rappelle quelques propriétés du calcul des déterminants. • La transposition ne change pas la valeur du déterminant. • En croisant deux lignes ou deux colonnes, le déterminant est inchangé. • En ajoutant à une ligne – ou à une colonne – le multiple d'une autre ligne – ou colonne – le déterminant est inchangé. • S'il y a une colonne – ou une ligne – de zéros, le déterminant est nul. • Si des lignes – ou colonnes – sont linéairement dépendantes, le déterminant est nul. De (10C10), on déduit qu'une matrice est régulière si sont déterminant est non nul. Précisons encore qu'en application numérique, on ne parle pas de déterminant nul, mais de déterminant de module inférieur à epsilon. La définition du mineur, ou complément algébrique, est voisine de celle du déterminant. α ik = ( −1) i + k A ik (10.C33) La matrice des mineurs se construit à partir des mineurs, en prenant garde à la rotation autour de la diagonale principale. ⎡α11 α 21 L α n1 ⎤ ⎢α ⎥ 12 α 22 L α n 2 ⎥ A mi = ⎢ ⎢ M M M ⎥ ⎢ ⎥ ⎣α1n α1n L α nn ⎦ (10.C34) La matrice inverse A–1 peut se définir par le déterminant et la matrice des mineurs. A −1 = A mi det A (10.C35) On note ici que l'opération division n'est pas définie pour les matrices, elle est remplacée par la multiplication par l'inverse. En application numérique, on n'utilise pas la définition analytique (10.C35), mais des algorithmes moins gourmands en temps de calcul. Une matrice diagonale s'inverse très facilement. J.-M. Allenbach 10–65 020131 Réglage d'état ⎡ 1 ⎢d ⎢ 11 ⎢ 0 D −1 = ⎢ ⎢ M ⎢ ⎢ 0 ⎢⎣ Calcul matriciel 0 1 d 22 M 0 ⎤ 0 ⎥ ⎥ 0 ⎥ L ⎥ M ⎥ 1 ⎥ ⎥ L d nn ⎥⎦ L (10.C36) Voici encore quelques propriétés de la matrice inverse: A A −1 = A − 1 A = 1 1 ( c A ) −1 = A −1 c −1 ( A B ) = B −1 A −1 (10.C37) (10.C38) (10.C39) ( A T ) −1 = ( A −1 ) T (10.C40) 10.C.4 Valeurs propres et vecteurs propres. Toute application linéaire L de Cn dans Cn peut être décrite par une matrice carrée de dimension n. Si la matrice A décrit l'application linéaire dans la base canonique de Cn, on peut définir l'application linéaire sur le vecteur y. L (y) = A y (10.C41) Si on choisit une autre base, c'est une matrice B qui décrira la même application linéaire; celle-ci est liée à A par la matrice de changement de base T. B = T −1 A T (10.C42) Un nombre complexe pi est appelé valeur propre de la matrice A s'il existe dans Cn un vecteur non nul ypi tel que: A y pi = pi y pi (10.C43) Le vecteur ypi est appelé vecteur propre associé à la valeur propre pi. Autrement dit, est valeur propre le nombre complexe qui vérifie l'égalité (10.C44) appelée équation caractéristique de A, dans laquelle le vecteur propre associé n'est plus explicite. det( A − pi 1) = 0 (10.C44) Le déterminant det( A − pi 1) exprimé en (10.C44) est un polynôme en pi, de degré n égal à la dimension de la matrice A, appelé polynôme caractéristique. Notons encore que les vecteurs yp1 ... ypk associés à des valeurs propres p1 ... pk distinctes sont linéairement indépendants dans Cn. J.-M. Allenbach 10–66 020131 Réglage d'état Calcul matriciel La matrice A est dite diagonalisable si on peut trouver dans Cn une autre base dans laquelle l'application linéaire est alors décrite par une matrice diagonale AJ. La matrice A est diagonalisable dans Cn si et seulement si elle est associée à n vecteurs propres linéairement indépendants. Cela implique des valeurs propres p1 ... pk distinctes, ce qui est en général le cas pour des matrices qui décrivent des systèmes physiques réels. On doit, pour diagonaliser A, trouver la matrice de changement de base T. A J = T −1 A T (10.C45) Les termes de la diagonale de AJ sont les valeurs propres de A. On peut noter – sans le démontrer ici – que la trace de la matrice est un invariant pour une application linéaire donnée, elle ne dépend donc pas du choix de la base. On en tire une propriété précieuse. n tr( A ) = tr( A J ) = ∑ p i (10.C46) i =1 Dans le cas très particulier où A est exprimé dans la base canonique de Cn, la matrice de changement de base peut être construite par juxtaposition des vecteurs propres. Dans le cas général, on doit résoudre une équation matricielle pour déterminer T. T AJ = A T (10.C47) Comme AJ contient beaucoup de zéros, l'équation matricielle (10.C47) peut être remplacée par n équations plus simples, dans lesquelles on appelle ti la ième colonne de T. t i pi = A t i (10.C48) La solution des équations (10.C48) n'est toutefois pas unique, mais permet de déterminer ti à un facteur de proportionnalité près. Pour lever l'indétermination du facteur d'échelle, il faut une condition supplémentaire; dans l'espace d'état, celle-ci sera fournie par la condition sur la sortie du système. J.-M. Allenbach 10–67 020131 Réglage d'état J.-M. Allenbach Calcul matriciel 10–68 020131