UPMC – Licence mention Mathématiques – LM 203: Calcul Scientifique
1
CHAPITRE 2 - ALGEBRE LINEAIRE
Ce Chapitre 2 est consacré à l’utilisation du logiciel MuPAD en Algèbre linéaire. Il s’agit là
d’une composante essentielle du logiciel, l’Algèbre Linéaire intervenant très fréquemment y
compris dans d’autres domaines mathématiques (équations différentielles par exemple). Les
instructions correspondantes sont regroupées dans la bibliothèque linalg. On les découvrira à
partir de questions, qu’il est donc indispensable de traiter avant de s’engager dans la rédaction
du devoir.
1 Systèmes linéaires L’instruction solve permet de résoudre les systèmes d’équation et en
particulier les systèmes d’équations linéaires.
Question 1 - Soit les trois équations
eq1:=x+2*y=a
x + 2 y = a
eq2:=2*x-y=b
2 x - y = b
eq3:=2*x+3*y=c
2 x + 3 y = c
(noter que l’on assigne à chaque eq une valeur qui est une équation : à distinguer dans
eq1:=x+2*y=a l’instruction d’assignation « :
=
» d’une valeur à l’identificateur eq1 de la
relation « = » composante de l’objet qu’est l’équation x+2*y=a)
1. Tenter de résoudre par solve le système {1, 2, 3}eq eq eq - la notation { } désigne l’ensemble
à trois éléments eq1,eq2,eq3 – des trois équations en spécifiant l’ensemble des inconnues par
rapport auxquelles on résout
s:=solve({eq1,eq2,eq3},{x,y})
{}
Expliquer le résultat.
2. Résoudre le système formé des deux premières équations : la réponse s1 est donnée sous la
forme d’un ensemble dont l’unique élément est une liste (c'est-à-dire une suite ordonnée
d’éléments)
3. Extraire la liste unique élément de s1 et utiliser l’instruction assign pour assigner aux
variables ces valeurs solutions (on vérifiera que l’assignation a été correctement effectuée en
appelant x et y :
x;y
)
UPMC – Licence mention Mathématiques – LM 203: Calcul Scientifique
2
4. Qu’obtient si l’on appelle eq3 ?
Fin de la question 1
2. Systèmes linéaires et matrices – Le système précédent peut se représenter sous la forme
matricielle
12
21
23
a
xb
yc
⎛⎞⎛
⎛⎞
⎜⎟⎜
−=
⎜⎟
⎜⎟⎜
⎝⎠
⎜⎟⎜
⎝⎠⎝
. Et on sait que ce système admet une solution si et seulement si
()
0
a
uvwb
c
⎛⎞
⎜⎟
=
⎜⎟
⎜⎟
⎝⎠
pour tout vecteur ligne
(
)
uvw
tel que
()
12
210
23
uvw
⎛⎞
⎜⎟
−=
⎜⎟
⎜⎟
⎝⎠
2.1 Entrée des matrices – On entre la matrice des coefficients par
A:=matrix(3,2,[[1,2],[2,-1],[2,3]])
+- -+
| 1, 2 |
| |
| 2, -1 |
| |
| 2, 3 |
+- -+
On notera que la liste des listes des coefficients de chaque ligne. De la même façon le vecteur
colonne des données sera entré par
B:=matrix(3,1,[[a],[b],[c]])
Attention – On a une liste de trois listes réduites chacune à un élément.
2.2 L’équation homogène 0AX
=
a-t-elle des solutions autres que la solution 0 ?
L’instruction nullspace de la bibliothèque linalg renvoie une base de l’espace vectoriel des X
tels que 0AX =, ce que l’on appelle le noyau de A :
N:=linalg::nullspace(A)
[]
ce qui montre que ce noyau a une base vide et que l’unique solution de 0AX = est la solution
identiquement nulle.
UPMC – Licence mention Mathématiques – LM 203: Calcul Scientifique
3
On sait d’autre part – résultat mathématique connu - que l’équation
A
XB= admet une
solution si et seulement si 0YB =pour tout vecteur ligne Y tel que YA=0. C’est ce que l’on va
examiner dans la question 2.
Question 2a. Résoudre l’ équation YA=0 par transposition (voir linalg ::transpose)
b. Retrouver la condition nécessaire et suffisante pour l’existence d’une solution de l’équation
AX=B donnée dans la question 1.
Fin de la question 2
3. Matrices en virgule flottante – Introduisons la matrice
A:=matrix(3,3,[[1,m,-2],[m+2,-2,2*m],[m+1,-m,3]])
+- -+
| 1, m, -2 |
| |
| m + 2, -2, 2 m |
| |
| m + 1, -m, 3 |
+- -+
Question 3 – 1. a. Calculer le déterminant dA de la matrice A : rechercher l’instruction
correspondante dans la bibliothèque linalg.
b. Déterminer numériquement les valeurs de m qui annule de déterminant
c. Former la matrice inverse (puissance – 1 de la matrice).
2. On se propose maintenant de déterminer l’image de la matrice A lorsque m est égal à la
racine réelle
µ
de l’équation det A=0. On utilisera 25 chiffres significatifs.
Indication – La lettre grecque
µ
n’est pas accessible dans l’éditeur et il faut simplement
l’introduire par le mot « mu » (un identificateur peut être constitué de plusieurs lettres).
On doit effectuer une résolution numérique de l’équation 0dA
=
d’inconnue m. On peut
utiliser float(solve(dA=0,m)).
a. Ecrire la matrice A1 à coefficients réels (nombres écrits en virgule flottante) que l’on
obtient en remplaçant m par
µ
.
Attention – On pourrait penser qu’il suffit d’assigner :mmu
=
et qu’il y aura alors
remplacement automatique de m par mu dans les coefficients de A. Les choses sont plus
compliquées car une matrice est un objet « complexe » dont les composantes sont protégées.
On introduit d’abord la fonction : ( , )
f
mu x subs x m mu
=
−> = dont l’objet est de remplacer
dans l’expression x la lettre m par mu. On demande ensuite l’application de cette fonction à tous
les coefficients de A par 1: ( , )
AmapAfmu=.
L’instruction map permet ainsi d’appliquer une fonction à toutes des composantes d’une
« structure complexe ». On va la rencontrer de façon répétée dans ce qui suit.
b. Calculer le déterminant de A1. Refaire le calcul en utilisant 30 chiffres significatifs :
pour améliorer la lisibilité on pourra utiliser un affichage « exponentiel » - voir floatFormat –
UPMC – Licence mention Mathématiques – LM 203: Calcul Scientifique
4
Puis tester l’instruction linalg ::nullspace sur A1.
Commentaire - La détermination de l’image de la matrice A1 ne peut plus suivre la méthode du
paragraphe 2. On utilise alors l’orthogonalisation de Gram-Schmidt (instruction orthog de la
bibliothèque linalg)
c. Créer la liste S des vecteurs colonnes de la matrice à l’aide de l’instruction
linalg ::col.
d. Orthogonaliser la liste S en une liste S1 – instruction linalg ::orthog. Que constate-t-
on avec le 3ième vecteur de S1 ?
Commentaire - On peut considérer ainsi que les deux premiers vecteurs donne une base de
l’image avec une bonne approximation.
3. On se propose maintenant de déterminer le noyau de A lorsque m est égal à la racine réelle
µ
de l’équation det A = 0.
On se heurte alors à une difficulté :
µ
n’est connue qu’à travers une valeur approchée. La
matrice A1 obtenue en remplaçant m par cette valeur approchée est une matrice de déterminant
très petit mais non nul, cf ci-dessus 2b. On doit alors procéder de façon détournée : le noyau de
m
A
= est l’orthogonal de l’image de la matrice transposée T
m
A
µ
= de la matrice m
A
=.
Pour faire les calculs on va identifier m
A
=
à A1.
a. Déterminer la transposée A1T de A1.
b. Déterminer l’image de A1T par la méthode de la question 2.
c. Compléter la liste des deux vecteurs ainsi obtenus par le vecteur
1
10
0
E
⎛⎞
⎜⎟
=⎜⎟
⎜⎟
⎝⎠
puis
orthogonaliser le système ainsi obtenu
d. En déduire une base du noyau de m
A
=
(ou plus précisément une approximation
d’une telle base) : on normalisera le vecteur K1 obtenu pour la norme euclidienne usuelle
(linalg ::normalize)
e. Valider la construction de d en calculant A1*K.
Fin de la question 3.
4. Etude d’une matrice dépendant d’un paramètre – Calcul symbolique
Revenons à la matrice
A:=matrix(3,3,[[1,m,-2],[m+2,-2,2*m],[m+1,-m,3]])
On se propose d’étudier la matrice A et son inverse 1
A
lorsque m est proche d’une racine non
précisée a de l’équation det(A)=0. Plus précisément on va montrer que, si l’on remplace m par
at+ on a un développement limité
UPMC – Licence mention Mathématiques – LM 203: Calcul Scientifique
5
110
1()
A
AAAt
t
−+
=++
1
A et 0
A sont des matrices dont les coefficients ne dépendent pas de t et où A+ a pour
limite 0 lorsque t tend vers 0.
Question 4 - 1. a. Calculer le déterminant dAm de A puis former la matrice (inverse modifiée)
*^(1)Aim dAm A=−
Remarque – L’intérêt de la matrice Aim est que ses coefficients sont des polynômes en m.
b. Substituer at+ à m dans dAm (pour obtenir dAt) et dans Aim (pour obtenir Ait).
Indication – On pourra introduire :(,)
f
xsubsxmat
=
−> = + et employer l’application map.
On simplifiera dAt en tenant compte du fait que a est racine de dAm.
c. Décomposer 1/dAt en éléments simples, l’indéterminée étant t.
Remarque – C’est de cette expression que l’on peut déduire qu’il existe un développement limité
110
1()AAAAt
t
−+
=++
d. Déterminer 1
A
Indication – On rappelle que 1
1Ait A
dAt
=. Substituer 0 à t dans ( / )t dAt Ait après avoir forcé
la simplification des coefficients – instruction normal combinée avec map. Si on ne normalise
pas – c'est-à-dire si on ne simplifier les fractions rationnelles obtenues – on sera confronté à des
divisions par 0.
e. Déterminer 0
A - Indication - Substituer 0 à t dans 1
(1/ ) /dAt Ait A t
- après avoir procéder
aux normalisations nécessaires et contrôler le résultat en substituant 0 à t dans
10
(1/ ) /dAt Ait A t A
−−
2. Dans les calculs précédents on n’a pas utilisé le fait que a est une racine du polynôme dA0.
a. Montrer que 0 ( , )dA subs dAm m a== est un polynôme à coefficients rationnels
irréductible, c'est-à-dire que les seuls polynômes à coefficients rationnels divisant dA0 sont les
polynômes constants et les multiples de dA0 (test irreducible)
Commentaire - Le nombre a est l’une des racines (non précisée) de l’équation dA0 = 0. On sait
alors que l’ensemble des nombres complexes de la forme 2
p
qa ra++ p, q et r sont des
nombres rationnels est un sous-corps noté []aQ du corps des complexes, tout nombre de []aQ
pouvant s’écrire d’une façon et d’une seule sous la forme 2
p
qa ra++ . En particulier les
coefficients de la matrice A0 peuvent être vus comme des éléments de []aQ et peuvent s’écrire
sous la forme 2
p
qa ra++ . Dans MuPad on peut introduire []aQ - noté KA pour simplifier :
1 / 13 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !