Calcul des symboles de Christoffel de deuxième espèce
Dans une autre page, nous avons exprimé les symboles de Christoffel (gijk ) en fonction des coefficients de la première forme fondamentale et de leurs dérivées sans chercher à calculer explicitement leur valeur en fonction des paramètres du morceau du surface considéré.
Nous procédons à ce calcul dans cette page-ci, en nous basant sur les expressions trouvées alors avec Mathematica.
Comme d'habitude, on on utilisera avec profit la commande ci-dessous, qu'on pourra sauvegarder dans un fichier (je suggère christo.m) de son répertoire personnel.
Le résultat de la commande est mis sous forme d'un tableau à trois lignes et deux colonnes, désignée par la lettre m, facile à utiliser pour d'autres calculs.
Tous les autres symboles sont localisés, pour éviter de possibles collisions .
On l'aura deviné, le symbole disc représente le discriminant de la première forme fondamentale.
Contenu du fichier christo.m :
(*-- calcul des symboles de Christoffel de 2ieme espece---*)
(*-- pour un morceau de surface mds ---*)
calcgam[mds_][u_,v_]:= Module[{x, a, b, der1, der2, EE, FF, GG, disc, EEu, EEv, FFu, FFv, GGu, GGv, c11, c12, c22},
x[a_,b_]:= mds[a,b];
der1 = D[x[a,b],a];
der2 = D[x[a,b],b];
EE= der1 . der1;
FF= der1 . der2;
GG= der2 . der2;
disc = EE GG -FF^2;
EEu = D[EE,a];
EEv = D[EE,b];
FFu = D[FF,a];
FFv = D[FF,b];
GGu = D[GG,a];
GGv = D[GG,b];
c11 =1/( 2 disc) {EEv*FF - 2*FF*FFu + EEu*GG,-EE*EEv - EEu*FF + 2*EE*FFu};
c12 =1/( 2 disc) {EEv*GG - FF*GGu,-EEv*FF + EE*GGu};
c22 =1/( 2 disc){2*FFv*GG - GG*GGu - FF*GGv, -2*FF*FFv + FF*GGu + EE*GGv};
m = {{c11[[1]],c11[[2]]},{c12[[1]],c12[[2]]},{c22[[1]],c22[[2]]}} /.
Thread[Rule[{a,b},{u,v}]]
]
Il faudra encore simplifier au besoin
Il est bon de tester sa commande sur quelques exemples :
x[u_,v_] := {u,v,u+v}
y[u_,v_] := {u,v,u^2 + v^2}
z[r_,s_]:= {r,s,r^2 - s^2}
Essai sur l'ellipsoïde général :
ell[u_,v_]:= {a Cos[u] Sin[v],b Sin[u] Sin[v],c Cos[v]}
calcgam[ell][u,v]
gamell = Simplify[%]
En particulier la sphère de rayon R :
gamell /. Thread[Rule[{a,b,c},{R,R,R}]]
gamsphere = Simplify[%]
Essai sur le graphe d'une fonction f de deux variables :
(à comparer au résultat du problème 10.1 page 215)
monge[u_,v_]:= {u,v,f[u,v]}
gammonge= calcgam[monge][u,v]
subst = Thread[Rule[{Derivative[1,0][f][u,v],Derivative[0,1][f][u,v],
Derivative[2,0][f][u,v],Derivative[1,1][f][u,v],
Derivative[0,2][f][u,v]},{p,q,r,s,t}]]
gammonge /. subst
Simplify[%]
Retour à ma page
personnelle
©jmt : création le 001027 - dernière modification le 011121