Utilisation de la calculatrice pour formes quadratiques et produits scalaires

Modérateur : xcasadmin

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Utilisation de la calculatrice pour formes quadratiques et produits scalaires

Message par parisse » lun. avr. 06, 2020 8:03 am

Pour les Casio Graph 90+e avec KhiCAS. Ceci fonctionne à l'identique sur les Casio Graph 35eii. Les commandes sont identiques sur les Numworks N0110 (mais l'accès aux menus est différent), et avec Xcas ou Xcas pour Firefox (https://www-fourier.ujf-grenoble.fr/~pa ... casfr.html, utilisable sur tablette et smartphone).
  • Méthode de Gauss pour un forme quadratique donnée par une expression:
    F4 3 4 EXE (menu cmds, sous-menu Algèbre linéaire, commande gauss)
    taper ensuite l'expression de la forme quadratique, par exemple x^2+2*x*y+3*y^2
    puis , [ la liste des variables ], par exemple [x,y]

    Code : Tout sélectionner

    gauss(x^2+2*x*y+3*y^2,[x,y])
    
    Attention à bien mettre un * entre x et y.
    Remarque: si vous ne trouvez pas la meme chose que la calculatrice, votre résultat n'est pas forcément faux.
  • Méthode d'orthonormalisation de Gram-Schmidt
    • 1er cas: pour le produit scalaire usuel de R^n.
      Il faut passer en argument la liste de vecteurs lignes sous forme de matrice. Pour entrer la matrice dans une variable,
      shift-2 1 puis donner le nom de variable, le nombre de lignes et colonnes et remplir la matrice et valider par EXE
      Exemple exercice 5.2: il faut entrer la matrice m, 3 lignes et 4 colonnes

      Code : Tout sélectionner

      [[1,1,0,0],
      [1,0,-1,1],
      [0,1,1,1]]
      En cas d'erreur, pour modifier la matrice, refaire shift-2 1 et donner son nom de variable.

      Puis taper F4 3 5 EXE (menu cmds, sous-menu Algèbre linéaire, commande gramschmidt) et donner le nom de variable la matrice (par exemple m) puis taper ) EXE.

      Code : Tout sélectionner

      gramschmidt(m)
      
      Le résultat se lit en lignes. Vous pouvez simplifier l'élément de matrice sélectionné en tapant F1 1.
    • 2ème cas: pour un produit scalaire sur un espace de fonctions ou de polynomes.
      Il faut d'abord définir le produit scalaire, par exemple exercice 9

      Code : Tout sélectionner

      P(f,g):=integrate(f*g,x,-1,1)
      
      pour saisir := taper shift-PRGM et selectionner 1 puis =, pour saisir integrate taper F2 3
      Vérifiez, P(1,1) doit donner 2 et P(1,x) doit donner 0.

      Puis taper F4 3 5 EXE (menu cmds, sous-menu Algèbre linéaire, commande gramschmidt) et donner la famille libre à orthonomaliser sous forme d'une liste, puis le produit scalaire.
      Par exemple

      Code : Tout sélectionner

      gramschmidt([1,x,x^2],P)
      
  • Diagonalisation des matrices symétriques
    Entrer la matrice carrée à diagonaliser dans une variable: shift-2 1 puis donner le nom de variable et le nombre de lignes et colonnes. Pour vérifier si la variable existe déjà, taper la touche VARS, si vous voulez effacer une variable existante, utiliser la commande purge (qui est dans le menu VARS) suivi par le nom de la variable.
    Exemple exercice 17, il faut entrer la matrice A2, ayant 3 lignes et 3 colonnes

    Code : Tout sélectionner

    [[1,0,2],
    [0,2,0],
    [2,0,1]]
    
    Puis F4, appuyer 4 fois sur le curseur vers le haut pour sélectionner 17 Matrices, puis 0 pour sélectionner 10 jordan, puis taper le nom de variable de la matrice,

    Code : Tout sélectionner

    jordan(A2)
    
    Le résultat renvoyé se compose de la matrice de passage P et d'une matrice diagonale D avec les valeurs propres sur la diagonale, on a P^-1*A2*P=D. On peut le vérifier en tapant

    Code : Tout sélectionner

    p,d:=jordan(A2)
    
    puis

    Code : Tout sélectionner

    p^-1*d*p
    
    Lorsque les valeurs propres sont de multiplicité 1, les vecteurs colonnes de P sont orthogonaux entre eux, mais pas normalisés. S'il y a des valeurs propres de multiplicité supérieure à 1, la base du sous-espace propre calculé par jordan n'est pas forcément orthogonale.
    On peut finir le travail par Gram-Schmidt, il faut au préalable transposer P pour mettre les vecteurs colonnes en ligne (on peut obtenir la transposée de P en tapant P^*), donc

    Code : Tout sélectionner

    gramschmidt(p^*)
    
    Pour vérifier des étapes intermédiaires de la diagonalisation, vous pouvez utiliser la commande charpoly (polynome caractéristique, se trouve dans le sous-menu Matrices: F4 curseur vers le haut 4 fois), par exemple

    Code : Tout sélectionner

    charpoly(A2)
    
    puis flèche vers le haut pour sélectionner tout le polynome caractéristique puis F1 2 (factor).
    L'espace propre correspondant à une valeur propre s'obtient par la commande ker (à taper en toutes lettres F5 k e r), par exemple pour la valeur propre 3:

    Code : Tout sélectionner

    ker(A2-3)
    
    ker renvoie une liste de vecteurs formant une base du noyau.
  • Recherche d'une base q-orthogonale orthonormee pour le produit scalaire
    Il suffit de faire ce qui précède sur la matrice de q, pour cela on peut utiliser la commande q2a (à taper en toutes lettre F5 q ALPHA 2 F5 a ALPHA)

    Code : Tout sélectionner

    q2a(x^2+y^2+z^2-2*x*y-2*x*z-2*y*z,[x,y,z]) => m
    
    => correspond à la touche de stockage (au-dessus de la touche AC/ON), cela permet de stocker la matrice de la forme quadratique dans la variable m.
    Puis

    Code : Tout sélectionner

    p,d:=jordan(m)
    
    et

    Code : Tout sélectionner

    gramschmidt(p^*)
    

Répondre