calcul numérique (avec maple) maplesoft maple version 9.5

Post on 03-Apr-2015

126 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Calcul numérique(avec Maple)

Maplesoft

http://www.maplesoft.com/

Maple version 9.5

Le logiciel de calcul formel Maple

• Sources utilisées pour ce cours :– Raphaël Giromini

http://www.giromini.org/maple/index.html

– M. Chare (cours-tds années précédant 2006).– José-Marconi Rodrigues (tps précédant 2006).

Modification sur l’emploi du temps

Mardi :– TD (gp2 : MIP) : 13h30 - 15h30– TD (gp1 : MI) : 15h30 - 17h30

– Salle

Fin des TDs le 18 avril ou le 25 avril

Chapitre 7 : Algèbre linéaire

Structures de données

• Représentation de vecteurs et de matrices :– via les structures de données list et listlist– via la structure de donnée array

• calcul simple : +, -, &*, ^

– ou via les structures de données vector et matrix (librairie linalg)

• transposer, inverser, diagonaliser, choisir une base, trouver des vecteurs propre, des valeurs propre ...

via les structures de données list, listlist et array

via les structures de données list, listlist et array

via les structures de données list, listlist et array

via les structures de données list, listlist et array

via les structures de données list, listlist et array

Les structures de données vector et matrix (librairie linalg)

• Pour des opérations plus compliquées sur les matrices et les vecteurs, on utilise la librairie linalg via la commande :–

Les structures de données vector et matrix (librairie linalg)

• La syntaxe pour construire un vecteur est :vector(n, [x1,...,xn])où n est la dimension du vecteur et les xi sont les les composantes du vecteurs.– Remarque : L’un des deux arguments (au choix) est

optionnel.

• Il est également possible d’appliquer une fonction (f) aux index pour définir le vecteur :vector(n, f(x))

vector

Remarque 1 : Le type d’un vecteur est arrayRemarque 2 : Aide en ligne : ?linalg[vector]

Les structures de données vector et matrix (librairie linalg)

• La syntaxe pour construire une matrice est :matrix(m, n, list)où mn est la dimension de la matrice et list est une liste ou une liste de listes de coefficients.– Remarque : L’un des arguments ‘ list ’ ou ‘ m, n ’ est

optionnel.

• Il est également possible d’appliquer une fonction (f) aux index pour définir la matrice :matrix(m, n, f(i,j))

matrix

Exemple de matrices particulières

Exemple de matrices particulières

Opérations algébriques• On retrouve les opérations +,-,

&*, ^

• On peut utiliser directement matadd, multiply, scalarmul ...

Opérations diverses sur les vecteurs• La commande vectdim retourne la dimension du

vecteur.• La commande norm retourne la norme du vecteur.• La commande basis retourne une base à partir

d’un ensemble de vecteurs.• La commande crossprod retourne le produit

vectoriel de deux vecteurs.• La commande angle retourne l’angle entre deux

vecteurs.Notation : uv = uv

Remarque : |u|.|v|.cos = u.v

Opération diverse sur les matrices

• La commande stackmatrix permet de créer une matrice à partir d’une liste de vecteurs

• Les commandes concat et augment permettent de faire une seule matrice à partir de plusieurs matrices. Les matrices doivent avoir le même nombre de ligne.

• Les commandes row et col permettent d’extraire les colonnes et les lignes d’une matrice (attention au type de retour).

Opération diverse sur les matrices

• Illustration :

Opération diverse sur les matrices

• Illustration :

matrix list

• Pour passer d’une liste de liste à une matrice on utilise la commande convert(…, matrix).

• Pour passer d’une matrice à une liste de liste on utilise également la commande convert(…, listlist).

matrix list

Rappel sur les matrices ...

• Soit le système linéaire suivant :

1 . x + 2 . y + 5 . z + 3 . w = 10

1 . x + 5 . y + 2 . z + 3 . w = -3

4 . x + 2 . y + 3 . z + 1 . w = 19

-2 . x + 5 . y + 4 . z + 5 . w = 7

Il peut s’écrire sous forme matriciel :

A . X = B

Rappel sur les matrices ...

A . X = B

Rappel sur les matrices …et intérêt de celles-ci !

• Soit le système linéaire de la forme : A . X = B

a) Existe-il une solution ?

b) Si oui, la calculer.

a) Il existe une solution si det(A) 0 c’est-à-dire que la matrice A est inversible (A. A-1 = I)

b) X = A-1.B

Matrice transposé,matrice inverse

• det permet de calculer le déterminant de la matrice

• inverse permet d’inverser la matrice si le déterminant est non nul.

• linsolve permet de résoudre un système de la forme A.X = B.

• transpose permet de transposer la matrice

Matrice transposé,matrice inverse

Matrice transposé,matrice inverse

Matrice transposé,matrice inverse

Remarque :La matrice A est non inversible, le système n’a donc pas de solution.

Opérations diverses sur les matrices

• Rang d’une matrice (nombre de lignes ou colonnes linéairement indépendantes) :– rank

• Noyau d’une matrice (noyau d’une application linéaire)– kernel

Opérations diverses sur les matrices

Opération élémentaire du pivot de Gauss

• addrow(mat, l1, l2, m) permet d’ajouter m fois la ligne l1 de la matrice mat à la ligne l2.

• addcol(mat, c1, c2, m) ...

• mulrow(mat, l, exp) permet de multiplier la ligne r de la matrice mat par exp.

• mulcol(mat, c, exp) …

• swaprow(mat, l1, l2) échange les lignes l1 et l2.

• swapcol(mat, c1, c2) ...

Opération élémentaire

Calcul du Jacobien

• Le Jacobien d’un vecteur f = (f1, f2, …, fm) dont les paramètres des expression fi sont x1, …, xn vaut :

xnfm

xnf

xnf

xfm

xf

xf

xfm

xf

xf

...21............

2...

22

21

1...

12

11

Calcul du Jacobien

EigenVector, EigenValue

Un vecteur propre d’une matrice A est tel que : .X = A.XOn appel le scalaire la valeur propre.

La procédure eigenvectors calcule les vecteurs propre de la matrice A.

(résolution de (I. - A) X = 0 pour chaque X).

Remarque : utile pour l’analyse de donnée et la réduction de la dimension des données (taille des vecteurs).

EigenVector, EigenValue

Opérations diverses sur les matrices

• Famille maximale libre des vecteur-colonnes– rowspace

• Famille maximale libre des vecteur-colonnes– colspace

Opérations diverses sur les matrices

top related