CoCalc Public Files2020-04-29-1030-M103.ipynbOpen with one click!
Author: Samuel Lelièvre
Views : 91
License: Other -- explicitly state in your code
Description: M103 - Algèbre linéaire - L1 MPI - U Paris-Saclay - 2020-04-29 10:30--12:30 TD

M103, 2020-04-29, gr A2 et B3



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


Cours Math103 «Algèbre linéaire», TD du 29 avril 2020, groupes A2 et B3.

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

On utilise:

  • pour la voix, l'outil Collaborate via ecampus.paris-saclay.fr
  • comme tableau, cette feuille Jupyter avec le noyau SageMath

Exercice 5.8. — Symétrie par rapport à une droite du plan

Dans R2\R^2 on considère

  • la droite DD d'équation x2y=0x - 2 y = 0,
  • la droite Δ\Delta d'équation 2xy=02 x - y = 0.

Un petit dessin.

In [3]:
x_range = (-2.2, 2.2) y_range = (-2.2, 2.2) text_options = {'fontsize': 18} eD = lambda x, y: x - 2*y cD = 'magenta' gD = implicit_plot(eD, x_range, y_range, color=cD, linewidth=1.5) tD = text('$D$', (-2.1, -0.9), **text_options) gtD = gD + tD eDe = lambda x, y: 2*x - y cDe = 'deepskyblue' gDe = implicit_plot(eDe, x_range, y_range, color=cDe, linewidth=1.5) tDe = text(r'$\Delta$', (-1.2, -2.1), **text_options) gtDe = gDe + tDe v = vector(QQ, (2, 1)) cv = 'purple' tv = text('$v$', (1.95, 0.8), color=cv) gv = v.plot(color=cv) gtv = gv + tv w = vector(QQ, (1, 2)) cw = 'teal' tw = text('$w$', (1.1, 1.9), color=cw) gw = w.plot(color=cw) gtw = gw + tw point_options = {'size': 30} e1 = vector(QQ, (1, 0)) ce1 = 'blue' ge1 = point2d([e1], color=ce1, **point_options) te1 = text("$e_1$", (1.1, -0.1)) gte1 = ge1 + te1 e2 = vector(QQ, (0, 1)) ce2 = 'red' ge2 = point2d([e2], color=ce2, **point_options) te2 = text("$e_2$", (0.1, 0.9)) gte2 = ge2 + te2 G = gtD + gtDe + gte1 + gte2 + gtv + gtw G.show(axes=True, figsize=12)

Q 1.

On remarque que v=(2,1)Dv = (2, 1) \in D. La droite DD passe par l'origine et est dirigée par vv.

On remarque que w=(1,2)Δw = (1, 2) \in \Delta. La droite Δ\Delta passe par l'origine et est dirigée par ww.

En tout, et , donc .

Intersection de DD et Δ\Delta: comme les vecteurs directeurs de DD et Δ\Delta sont non-colinéaires, elles sont sécantes: leur intersection est réduite à un point. Comme elles contiennent toutes les deux l'origine, c'est leur point d'intersection.

On peut aussi résoudre le système donné par les équations de DD et de Δ\Delta. En effet, un point (x,y)(x, y) est dans DΔD \cap \Delta si il est à la fois dans DD et dans Δ\Delta, c'est-à-dire s'il vérifie à la fois l'équation de DD et celle de Δ\Delta.

Comme DΔ={0}D \cap \Delta = \{ 0 \}, les droites DD et Δ\Delta sont en somme directe.

Comme uu et vv sont non-colinéaires, la famille (v,w)(v, w) est libre. Donc est de dimension deux dans R2\R^2 donc c'est R2\R^2 tout entier.

Conclusion: on a bien DΔ=R2D \oplus \Delta = \R^2.

On dit que DD et Δ\Delta sont des supplémentaires dans R2\R^2.

On note ss la symétrie par rapport à DD parallèlement à Δ\Delta.

Exo 5.8, Q 2.

Si uR2u \in \R^2, alors s(u)s(u) est le symétrique de uu par rapport à DD parallèlement à Δ\Delta, et s(s(u))s(s(u)) est le symétrique de s(u)s(u) par rapport à DD parallèlement à Δ\Delta, donc c'est uu.

Autrement dit, la composée sss \circ s est l'identité.

Si uR2u' \in \R^2, on cherche à résoudre l'équation s(u)=us(u) = u'.

Si s(u)=us(u) = u', alors, en appliquant ss, on obtient s(s(u))=s(u)s(s(u)) = s(u'), c'est-à-dire u=s(u)u = s(u').

Il y a donc un unique uu tel que s(u)=us(u) = u', et c'est u=s(u)u = s(u').

Le noyau de ss est l'ensemble des uu tels que s(u)=0s(u) = 0.

D'après ce qu'on vient de voir, cela signifie u=s(0)u = s(0).

Mais s(0)=0s(0) = 0, puisque 0D0 \in D.

L'image de ss est R2\R^2 tout entier, car on a vu que pour tout uR2u' \in \R^2, il existe un antécédent de uu' par ss.

(Cela revient à dire que ss est surjective.)

Bilan: ker(s)={0}\ker(s) = \{ 0 \} et .

Q 3.

Image par ss des vecteurs de la base canonique.

s(e1)s(e_1)?

In [2]:
G.show(axes=True)

Le point e1=s(e1)e'_1 = s(e_1) est sur la droite Δ1\Delta_1, parallèle à Δ\Delta passant par e1e_1.

Comme Δ1\Delta_1 est parallèle à Δ\Delta, elle a le même vecteur normal, donc elle admet une équation de la forme 2xy=c2 x - y = c.

Pour trouver cc, on utilise les coordonnées (x,y)(x, y) de e1e_1, c'est-à-dire (1,0)(1, 0).

On trouve 2xy=210=22 x - y = 2 \cdot 1 - 0 = 2.

Une équation satisfaite par e1e'_1 est 2xy=22 x - y = 2.

In [3]:
cDe1 = 'dodgerblue' gDe1 = implicit_plot(lambda x, y: 2*x - y - 2, x_range, y_range, color=cDe1, linewidth=0.5) tDe1 = text(r'$\Delta_1$', (-0.25, -2.1)) gtDe1 = gDe1 + tDe1
In [4]:
GG = G + gtDe1
In [5]:
GG.show(axes=True)

Par ailleurs, la parallèle à DD passant par e1e_1 est la droite D1D_1 d'équation x2y=1x - 2 y = 1.

Donc la symétrique de cette droite par rapport à DD dans la direction de Δ\Delta (ou dans n'importe quelle direction autre que celle de DD d'ailleurs) est x2y=1x - 2 y = -1.

In [6]:
cD1 = 'purple' gD1 = implicit_plot(lambda x, y: x - 2*y - 1, x_range, y_range, color=cD1, linewidth=0.5) tD1 = text("$D_1$", (-2.1, -1.4)) gtD1 = gD1 + tD1 gDp1 = implicit_plot(lambda x, y: x - 2*y + 1, x_range, y_range, color=cD1, linewidth=0.5) tDp1 = text("$D'_1$", (-2.1, -0.35)) gtDp1 = gDp1 + tDp1
In [7]:
GGG = GG + gtD1 + gtDp1
In [8]:
GGG.show(axes=True)

Donc s(e1)s(e_1) est donné par les équations

  • 2xy=22 x - y = 2
  • x2y=1x - 2 y = -1
In [9]:
A = matrix(QQ, [[2, -1, 2], [1, -2, -1]]) A
[ 2 -1 2] [ 1 -2 -1]
In [10]:
A.echelon_form()
[ 1 0 5/3] [ 0 1 4/3]

On trouve: e1=(5/3,4/3)e'_1 = (5/3, 4/3).

Autre solution pour trouver e1e'_1

Le projeté de e1e_1 sur DD dans la direction de Δ\Delta est un point de la forme e1+λwe_1 + \lambda \cdot w et qui vérifie l'équation de DD.

On trouve λ\lambda en résolvant e1+λwDe_1 + \lambda \cdot w \in D, c'est-à-dire x2y=0x - 2 y = 0 avec

  • x=1+1λx = 1 + 1 \cdot \lambda
  • y=0+2λy = 0 + 2 \cdot \lambda.

L'équation pour trouver λ\lambda est donc: (1+λ)2(2λ)=0(1 + \lambda) - 2 (2 \lambda) = 0, c'est-à-dire 13λ=01 - 3 \lambda = 0, soit λ=1/3\lambda = 1/3.

Le point e1=s(e1)e'_1 = s(e_1) sera alors e1+2λwe_1 + 2 \cdot \lambda \cdot w.

C'est-à-dire e1=e1+(2/3)we'_1 = e_1 + (2/3) \cdot w.

e1=(1+(2/3)1,0+(2/3)2)e'_1 = (1 + (2/3) \cdot 1, 0 + (2/3) \cdot 2)

e1=(5/3,4/3)e'_1 = (5/3, 4/3).

Par les mêmes méthodes, on trouve e2=(x,y)e'_2 = (x, y).

Les équations pour e2e'_2 sont

  • 2xy=12 x - y = -1 (parallèle à Δ\Delta passant par e2e_2)
  • x2y=2x - 2 y = 2 (parallèle à DD passant par e2-e_2)
In [11]:
A = matrix(QQ, [[2, -1, -1], [1, -2, 2]])
In [12]:
A.echelon_form()
[ 1 0 -4/3] [ 0 1 -5/3]

On trouve e2=s(e2)=(4/3,5/3)e'_2 = s(e_2) = (-4/3, -5/3).

Autre méthode: on cherche λ\lambda tel que e2+λwDe_2 + \lambda w \in D, puis on dit que e2=e2+2λwe'_2 = e_2 + 2\lambda w.

In [13]:
lw = vector(1/3*w) glw = lw.plot(start=e1, color=cw, thickness=0.5) + lw.plot(start=e1 + lw, color=cw, thickness=0.5) mw = vector(-2/3*w) gmw = mw.plot(start=e2, color=cw, thickness=0.5) + mw.plot(start=e2 + mw, color=cw, thickness=0.5) GGGG = G + glw + gmw + point2d([(5/3, 4/3)], color='mediumblue', **point_options) + point2d([(-4/3, -5/3)], color='maroon', **point_options) GGGG.show(axes=True)

La matrice de ss dans la base canonique a pour colonnes s(e1)s(e_1) et s(e2)s(e_2).

In [14]:
S = matrix(QQ, [[5/3, -4/3], [4/3, -5/3]]) show(S) S
(53434353)\left(\begin{array}{rr} \frac{5}{3} & -\frac{4}{3} \\ \frac{4}{3} & -\frac{5}{3} \end{array}\right)
[ 5/3 -4/3] [ 4/3 -5/3]

Pour un point u=(x,y)u = (x, y), on a alors s(u)=Sus(u) = S \cdot u.

In [15]:
x, y = SR.var('x y') u = vector((x, y))
In [16]:
(S * u).column()
[5/3*x - 4/3*y] [4/3*x - 5/3*y]

Rappel: la matrice de ss dans la base BB est la matrice dont les colonnes sont les images par ss des vecteurs de la base BB, exprimés dans BB.

In [ ]: