Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

M103 «Algèbre linéaire» - 2020-05-04 - exo 5.15

Project: 2020-03
Views: 233
License: OTHER
Kernel: SageMath (Development, Py3)

M103, 2020-05-04, 15:45--17:45, TD 23, gr B3

---
- auteur: Samuel Lelièvre ([orcid: 0000-0002-7275-0965](https://orcid.org/0000-0002-7275-0965)) - date: 2020-04-27 - license: CC BY SA 4.0
---

Université Paris-Saclay. Licence Sciences et technologies. L1 MPI.


Cours Math103 «Algèbre linéaire», TD 23, groupes A2 et B3.

On travaille la feuille 5. On corrige l'exercice 5.15.

On utilise

  • pour la voix, l'outil Collaborate via ecampus.paris-saclay.fr

  • comme tableau, cette feuille Jupyter avec le noyau SageMath


Préliminaires techniques:

  • quelques définitions LaTeX pour faciliter la saisie (cachées dans la source de cette cellule de texte), ParseError: KaTeX parse error: \newcommand{\R} attempting to redefine \R; use \renewcommand

  • et quelques réglages d'affichage de la feuille Jupyter.

%display unicode_art

Exercice 5.15. — Changement de coordonnées dans R4\R^4

Dans R4\R^4, on considère: \newcommand{\Vect}{\operatorname{Vect}}

u1=[1011]u_1 = \begin{bmatrix}1 \\ 0 \\ 1 \\ 1 \end{bmatrix}, u2=[2101]u_2 = \begin{bmatrix}2 \\ 1 \\ 0 \\ 1 \end{bmatrix}, u3=[1111]u_3 = \begin{bmatrix}1 \\ 1 \\ -1 \\ 1 \end{bmatrix},

et on pose E=Vect(u1,u2,u3)E = \Vect(u_1, u_2, u_3).

Exo 5.15, Q 1.

u1 = vector([1, 0, 1, 1]) u2 = vector([2, 1, 0, 1]) u3 = vector([1, 1, -1, 1])

On définit la matrice AA de colonnes u1u_1, u2u_2, u3u_3:

A = matrix([u1, u2, u3]).T
A
⎛ 1 2 1⎞ ⎜ 0 1 1⎟ ⎜ 1 0 -1⎟ ⎝ 1 1 1⎠

On met AA sous forme échelonnée (et réduite):

A.echelon_form()
⎛1 0 0⎞ ⎜0 1 0⎟ ⎜0 0 1⎟ ⎝0 0 0⎠

Il y a trois pivots, donc

  • trois inconnues principales,

  • aucune inconnue secondaire.

Donc la famille (u1,u2,u3)(u_1, u_2, u_3) est libre.

Puisque cette famille est une famille libre à trois éléments dans un espace de dimension 44, on peut la compléter en une base de R4\R^4.

On peut par exemple compléter par un vecteur de la base canonique de R4\R^4.

Essayons par exemple avec e4=(0,0,0,1)e_4 = (0, 0, 0, 1).

e4 = vector([0, 0, 0, 1])
A_prime = A.augment(e4)
A_prime
⎛ 1 2 1 0⎞ ⎜ 0 1 1 0⎟ ⎜ 1 0 -1 0⎟ ⎝ 1 1 1 1⎠
A_prime.echelon_form()
⎛ 1 0 0 1⎞ ⎜ 0 1 0 -1⎟ ⎜ 0 0 1 1⎟ ⎝ 0 0 0 0⎠

La forme échelonnée réduite de la matrice BB obtenue en ajoutant une colonne e4e_4 à la matrice AA comprend:

  • trois pivots, donc trois inconnues principales pour le système associé

  • une inconnue secondaire pour le système associé

Cela indique que la famille (u1,u2,u3,e4)(u_1, u_2, u_3, e_4) est liée.

Essayons à nouveau avec e3e_3.

e3 = vector([0, 0, 1, 0]) C = A.augment(e3) C
⎛ 1 2 1 0⎞ ⎜ 0 1 1 0⎟ ⎜ 1 0 -1 1⎟ ⎝ 1 1 1 0⎠
C.echelon_form()
⎛1 0 0 0⎞ ⎜0 1 0 0⎟ ⎜0 0 1 0⎟ ⎝0 0 0 1⎠

Cette fois ça marche. La famille (u1,u2,u3,e3)(u_1, u_2, u_3, e_3) est libre.

C'est donc une base de R4\R^4.

En effet c'est une famille libre à 44 vecteurs dans un espace de dimension 44.

Exo 5.15, Q 2.

La matrice de passage de BB (la base canonique) à la base BB' qu'on vient de définir est la matrice dont les colonnes sont les coordonnées dans BB des vecteurs de BB'.

P = matrix([u1, u2, u3, e3]).T P
⎛ 1 2 1 0⎞ ⎜ 0 1 1 0⎟ ⎜ 1 0 -1 1⎟ ⎝ 1 1 1 0⎠

Si uR4u \in \R^4, et si

  • XX est la colonne des coordonnées de uu dans BB

  • XX' est la colonne des coordonnées de uu dans BB'

alors on a:

X=PXX = P X'.

Pour s'en convaincre, regarder le cas u=u1u = u_1 par exemple.

Exo 5.15, Q 3.

Inverse de la matrice de passage.

Pour calculer l'inverse de PP, on augmente PP avec la matrice identité (en colonnes supplémentaires) puis on échelonne et on réduit.

P_aug = P.augment(identity_matrix(4), subdivide=True) P_aug
⎛ 1 2 1 0│ 1 0 0 0⎞ ⎜ 0 1 1 0│ 0 1 0 0⎟ ⎜ 1 0 -1 1│ 0 0 1 0⎟ ⎝ 1 1 1 0│ 0 0 0 1⎠
P_aug = block_matrix([P, identity_matrix(P.ncols())], nrows=1) P_aug
⎛ 1 2 1 0│ 1 0 0 0⎞ ⎜ 0 1 1 0│ 0 1 0 0⎟ ⎜ 1 0 -1 1│ 0 0 1 0⎟ ⎝ 1 1 1 0│ 0 0 0 1⎠
P_aug_ech = P_aug.echelon_form() P_aug_ech
⎛ 1 0 0 0 0 -1 0 1⎞ ⎜ 0 1 0 0 1 0 0 -1⎟ ⎜ 0 0 1 0 -1 1 0 1⎟ ⎝ 0 0 0 1 -1 2 1 0⎠
P_inv = P_aug_ech[:, P.ncols():] P_inv
⎛ 0 -1 0 1⎞ ⎜ 1 0 0 -1⎟ ⎜-1 1 0 1⎟ ⎝-1 2 1 0⎠
P_inv = P^-1 P_inv
⎛ 0 -1 0 1⎞ ⎜ 1 0 0 -1⎟ ⎜-1 1 0 1⎟ ⎝-1 2 1 0⎠
P_inv = P.inverse() P_inv
⎛ 0 -1 0 1⎞ ⎜ 1 0 0 -1⎟ ⎜-1 1 0 1⎟ ⎝-1 2 1 0⎠

Exo 5.15, Q 4.

Équation du sous-espace engendré par une famille de vecteurs.

On a défini E=Vect(u1,u2,u3)E = \Vect(u_1, u_2, u_3),

et BB' est la famille (u1,u2,u3,e3)(u_1, u_2, u_3, e_3) qui est une base de R4\R^4.

Si un vecteur uu a pour coordonnées (x1,x2,x3,x4)(x'_1, x'_2, x'_3, x'_4) dans BB',

c'est que u=x1u1+x2u2+x3u3+x4e3u = x'_1 \cdot u_1 + x'_2 \cdot u_2 + x'_3 \cdot u_3 + x'_4 \cdot e_3.

Ce vecteur est dans EE si et seulement si x4=0x'_4 = 0.

Traduisons en un système d'équations cartésiennes en x1x_1, x2x_2, x3x_3, x4x_4.

On a vu à la question précédente que:

X=P1XX' = P^{-1} \cdot X.

x1, x2, x3, x4 = SR.var('x1, x2, x3, x4') X = vector([x1, x2, x3, x4])
X_prime = P_inv * X X_prime.column()
⎛ -x2 + x4⎞ ⎜ x1 - x4⎟ ⎜ -x1 + x2 + x4⎟ ⎝-x1 + 2*x2 + x3⎠

Comme l'expression de x4x'_4 en fonction de x1x_1, x2x_2, x3x_3, x4x_4 est

x4=x1+2x2+x3x'_4 = -x_1 + 2 x_2 + x_3

l'équation précédemment obtenue

x4=0x'_4 = 0

s'écrit, dans les coordonnées x1x_1, x2x_2, x3x_3, x4x_4, sous la forme:

x1+2x2+x3=0-x_1 + 2 x_2 + x_3 = 0

L'équation de EE en coordonnées x1x_1, x2x_2, x3x_3, x4x_4 est donc:

x1+2x2+x3=0-x_1 + 2 x_2 + x_3 = 0