Systèmes différentiels linéaires à coefficients constants


On propose un programme maple donnant deux représentations graphiques pour un système différentiel linéaire à coefficients constants de deux équations à deux inconnues, autrement dit, un champ de vecteurs linéaire dans le plan. La première représentation consiste à indiquer par une flèche la valeur du champ en les points d'une grille. La seconde consiste à tracer un certain nombre de trajectoires bien choisies.
 

Avant tout, télécharger le fichier champ à l'adresse
http://www.math.u-psud.fr/~pansu/champ

Ouvrir une fenêtre maple. Taper
> read "champ";
Choisir un mode de sortie graphique, par exemple
> plotsetup(x11);
ou
> plotsetup(window);
pour un affichage à l'écran dans une fenêtre séparée,
> plotsetup(postscript);
pour sortie dans un fichier insérable dans un document latex,
> plotsetup(gif);
pour produire une image insérable dans un document html.
 

Visualisation d'un champ de vecteurs linéaire

Taper
> visu(a,b,c,d);
où a, b, c et d sont des flottants, les coefficients d'une matrice 2x2. Le programme trace, pour chacun des 49 à coordonnées multiples de 1/4 contenus dans le carré -1<x<1, -1<y<1, une flèche représentant la valeur du champ de vecteurs linéaire (ax+by,cx+dy)/8.
Les flèches sont constituées de deux segments de droites obtenues en faisant tourner le vecteur (ax+by,cx+dy)/160 de 135° et 225° respectivement.
 

Exemple : La commande
> visu(1,2,3,2);
a produit l'image ci-dessous.

anivisu est la variante animée. On rentre des coefficients qui sont des fonctions du paramètre s, pour s variant de 0 à 1. Le calcul terminé, c'est le champ pour s=1 qui apparaît dans la fenêtre. Cliquer sur le bouton play pour voir le film. On peut augmenter le nombre d'images, mais attention au temps de calcul !

Exemple : La commande
> anivisu(s,2*s-1,3-s,-4*s);
a produit le film ci-joint.
 

Type d'un champ de vecteurs

Taper
>zoo(a,b,c,d);
où a, b, c et d sont des flottants, les coefficients d'une matrice 2x2. Le programme décide dans lequel des 9 types le champ de vecteurs correspondant se trouve. La terminologie pour les matrices inversibles est assez standard.

Exemples :
> zoo(1,2,3,2);

col
> zoo(2,0,0,2);
soleil
> zoo(1,-2,3,2);
foyer




anizoo est la variante animée. On rentre quatre coefficients qui sont des fonctions du paramètre s, pour s variant de 0 à 1. Le cinquième argument doit prendre la valeur 0 si on veut un tableau et 1 si on veut un schéma.

Exemple :
> anizoo(s,2*s-1,3-s,-4*s,0);
table([
        11 = [centre, {s = 0}]

        1 = [col, {s <= 1., .3860009363 < s}]

        2 = [type_O, {s = .3860009363}]

        3 = [noeud_non_degenere_attractif, {s < .3860009363, .3529411765 < s}]

        5 = [noeud_degenere_attractif, {s = .3529411765}]

        9 = [foyer_attractif, {0 < s, s < .3529411765}]

        ])
Lorsque trace et déterminant ne sont pas des polynômes en s, maple a bien du mal à fournir un tableau. Dans ce cas, il reste le schéma. La commande
> anizoo(s,2*s-1,3-s,-4*s,1);
a produit le schéma ci-dessous

qu'il faut interprêter comme suit. Les coordonnées sont la trace (horizontalement) et le déterminant (verticalement). La droite horizontale correspond aux systèmes de type O (une valeur propre nulle), la demi-droite verticale correspond aux centres. La parabole correspond aux noeuds non dégénérés et aux soleils. En dessous de la droite horizontale sont situés les cols. Entre la droite horizontale et la parabole, on trouve les noeuds non dégénérés. Au-dessus de la parabole, il y a les foyers, répulsifs à droite et attractifs à gauche de l'axe vertical. Le programme trace l'arc décrit par (trace, déterminant) en fonction de s.
 
 

Trajectoires

Taper
>portrait(a,b,c,d,N);
où a, b, c et d sont des flottants, les coefficients d'une matrice 2x2, et N un entier. Le programme trace 4N trajectoires bien choisies du champ de vecteurs linéaire correspondant, dans le carré -1<x<1, -1<y<1. Une flèche indique le sens de parcours le long des trajectoires. Ce programme sans prétention ne fonctionne pas bien au voisinage des soleils (multiples de la matrice identité). La méthode choisie suit le cours de S3SMP, où les systèmes différentiels sont vus comme une illustration de la diagonalisation. Dans le cas où la matrice est diagonalisable, on utilise l'expression des solutions en fonction des vecteurs propres et des valeurs propres. Lorsqu'elle n'est pas diagonalisable, on utilise une expression explicite des solutions. Les 4N trajectoirest représentées sont choisies comme suit : les 4 orbites fondamentales sont celles des vecteurs unitaires portés par les bissectrices des droites propres de la matrice. On trace leurs images par N homothéties

Exemple :  La commande
> portrait(1,2,3,2,3);
a produit l'image ci-dessous.

 

aniportrait est la variante animée. On rentre des coefficients qui sont des fonctions du paramètre s. Le calcul terminé, c'est le champ pour s=1 qui apparaît dans la fenêtre. Cliquer sur le bouton play pour voir le film. On peut augmenter le nombre d'images, mais attention au temps de calcul !

Exemple : La commande
> aniportrait(s,2*s-1,3-s,-4*s,3);
a produit le film ci-joint. Cela peut-être très très long.