TP 2: espaces bilinéaires cont.
Exo 1
(1) Écrivez une fonction Python qui calcule la signature d'une forme quadratique avec la techinque des mineurs principaux (voir antisèche pour les commandes utiles, en particulier matrix_from_rows_and_columns). Remarque: cela n'est pas toujours possible, dans quel cas votre fonction retourne juste un tuple vide .
(2) Pour les forme quadratiques
(a) Tracez quelques surfaces de niveau pour , et (voir la commande implicit_plot3d). Qu'observez-vous?
(b) Déterminez la signature de avec votre fonction du #(1) si cela est possible. Quelles conclusion pouvez-vous en tirer?
Exo 2
(1) Déclarez l'algèbre des quaternions Q.<i,j,k> = QuaternionAlgebra(SR,-1,-1) (voir tuto). Calculez , , et .
(2) Calculez
et ;
et ;
et .
Qu'observez-vous? En particulier: la multiplication des quaternions est-elle commutative?
Exo 3
(1) Calculez le quaternion correspondant à la rotation d'axe et d'angle .
(2) Appliquez ce quaternion aux vecteurs de la base canonique de .
(3) Determinez la matrice de cette rotation (voir ici) pour la méthode. (4) Écrivez et testez une fonction Python compose_rotations qui prend une liste de rotations (couples angle/axe) et renvoie la rotation composée et sa matrice.