/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/ /* [ Created with wxMaxima version 11.08.0 ] */ /* [wxMaxima: comment start ] Aquí defino la metrica euclidea en m=CxRi=R^3. Las variables son A y B. La metrica g es una aplicación de mxm en R [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ g(A,B):=A[1]*B[1]+A[2]*B[2]+A[3]*B[3]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ¦ /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Aqui tenemos los 27 homomorfismos de mxm en m. m=CxRi=R^3. Recordemos que en el caso n=1, que es en el que estamos, como h=0, todos los homomorfismos lo son trivialmente de h-módulos. Por tanto todos representan conexiones G-invariantes. Son las a's [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Los a1j j=1,2,...,9 corresponden a la primera coordenada ordenada lexicograficamente. Aplicadas al par (x,z)=((x1,x2,x3),(z1,z2,z3)) van desde x1z1, x1z2, x1z3,... hasta ..., x3z2, x3z3. Usamos de nuevo las variables A y B [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ a11(A,B):=[A[1]*B[1],0,0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a12(A,B):=[A[1]*B[2],0,0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a13(A,B):=[A[1]*B[3],0,0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a14(A,B):=[A[2]*B[1],0,0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a15(A,B):=[A[2]*B[2],0,0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a16(A,B):=[A[2]*B[3],0,0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a17(A,B):=[A[3]*B[1],0,0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a18(A,B):=[A[3]*B[2],0,0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a19(A,B):=[A[3]*B[3],0,0]; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Los a2j j=1,2,...,9 corresponden a la segunda coordenada ordenada lexicograficamente. Desde x1z1, x1z2, x1z3,... hasta ..., x3z2, x3z3 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ a21(A,B):=[0,A[1]*B[1],0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a22(A,B):=[0,A[1]*B[2],0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a23(A,B):=[0,A[1]*B[3],0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a24(A,B):=[0,A[2]*B[1],0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a25(A,B):=[0,A[2]*B[2],0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a26(A,B):=[0,A[2]*B[3],0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a27(A,B):=[0,A[3]*B[1],0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a28(A,B):=[0,A[3]*B[2],0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a29(A,B):=[0,A[3]*B[3],0]; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Los a3j corresponden a la tercera coordenada ordenada lexicograficamente. Desde x1z1, x1z2, x1z3,... hasta ..., x3z2, x3z3 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ a31(A,B):=[0,0,A[1]*B[1]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a32(A,B):=[0,0,A[1]*B[2]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a33(A,B):=[0,0,A[1]*B[3]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a34(A,B):=[0,0,A[2]*B[1]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a35(A,B):=[0,0,A[2]*B[2]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a36(A,B):=[0,0,A[2]*B[3]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a37(A,B):=[0,0,A[3]*B[1]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a38(A,B):=[0,0,A[3]*B[2]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a39(A,B):=[0,0,A[3]*B[3]]; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Aquí tenemos las conexiones G-invariantes que son además compatibles con la métrica. Son las b's [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ b1(A,B):=[A[1]*B[2],- A[1]*B[1],0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b2(A,B):=[A[1]*B[3],0,- A[1]*B[1]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b3(A,B):=[A[2]*B[2],- A[2]*B[1],0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b4(A,B):=[A[2]*B[3],0,- A[2]*B[1]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b5(A,B):=[A[3]*B[2],- A[3]*B[1],0]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b6(A,B):=[A[3]*B[3],0,- A[3]*B[1]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b7(A,B):=[0,A[1]*B[3],- A[1]*B[2]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b8(A,B):=[0,A[2]*B[3],- A[2]*B[2]]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b9(A,B):=[0,A[3]*B[3],- A[3]*B[2]]; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Aquí tenemos una genérica combinación lineal de las anteriores. Son las sumas de las b's, sb. Las variables son A y B [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ sb(A,B):= c1*b1(A,B)+c2*b2(A,B)+c3*b3(A,B)+c4*b4(A,B)+c5*b5(A,B)+c6*b6(A,B)+c7*b7(A,B)+c8*b8(A,B)+c9*b9(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Esto es una comprobación de que efectivamente es compatible con la métrica. La aplicamos a un elemento generico x,y,z [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ g(sb(x,y),z)+g(y,sb(x,z)); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ratsimp(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Para ver que las b's son exactamente las compatibles considero una combinación lineal genérica. Son las sumas de las a's, sa. La escribo en tres trozos. sa=sa1+sa2+sa3. Cada trozo corresponde a cada componente. Así por ejemplo sa1 es una combinación lineal genérica de las a1j [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ sa1(A,B):= c11*a11(A,B)+c12*a12(A,B)+c13*a13(A,B)+c14*a14(A,B)+c15*a15(A,B)+c16*a16(A,B)+c17*a17(A,B)+c18*a18(A,B)+c19*a19(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sa2(A,B):= c21*a21(A,B)+c22*a22(A,B)+c23*a23(A,B)+c24*a24(A,B)+c25*a25(A,B)+c26*a26(A,B)+c27*a27(A,B)+c28*a28(A,B)+c29*a29(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ sa3(A,B):= c31*a31(A,B)+c32*a32(A,B)+c33*a33(A,B)+c34*a34(A,B)+c35*a35(A,B)+c36*a36(A,B)+c37*a37(A,B)+c38*a38(A,B)+c39*a39(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Esta es una genérica, combinación lineal de las 27 de la base. Las sumas de las a's, sa [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ sa(A,B):=sa1(A,B)+sa2(A,B)+sa3(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Defino lo siguiente. C la condición. C es la condición para que a sea compatible con la métrica. Las variables son ahora x,y,z. C puede ser pensada como aplicación de mxmxm en R. Es importante fijarse en lo siguiente, en la definición de C uso sa que esta definida en las variables A y B. Luego tengo variables A, B, x, y, z [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ C(x,y,z):=g(sa(x,y),z)+g(y,sa(x,z)); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Esto igualado a 0 da la condición de compatibilidad con la métrica. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ C(x,y,z); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ratsimp(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] A simple vista no se ve bien que deben cumplir los coeficientes para que esta expresión sea siempre 0. Esta expresión aparece como un polinomio en las variables xixjxk. Voy a evaluar en los vectores de la base. Esto igualado a cero me dará las relaciones entre los coeficientes. Pensar por ejemplo que evaluando en e1e1e1 obtenemos el coeficiente de x1y1z1, y en general evaluar en eiejek da el de xixjxk. Lo vamos a hacer ordenadamente, primero e1, luego e2 y luego e3. Así tenemos e1e1e1, e1e1e2, e1e1e3,..., así hasta e3e3e1, e3e3e2 y e3e3e3. Identificando eiejek con ijk es el orden natural de los números de menos a mayor, desde 111,112,113,..., hasta 331,332,333. Este es el orden 111,112,113,121,122,123,131,132,133, 211,212,213,221,222,223,231,232,233, 311,312,313,321,322,323,331,332,333. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ C([1,0,0], [1,0,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Este por ejemplo es el coeficiente de x1y1z1. Como ha de ser 0, esto nos dice que c11=0 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ C([1,0,0], [1,0,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Este es el de x1y1z2, nos dice que c21=-c12. Por tanto c12a12+c21a21=c12(a12-a21). Esto nos da b1 b1=a12-a21 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ C([1,0,0], [1,0,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Este que c31=-c13. Nos da b2=a13-a31 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ C([1,0,0], [0,1,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Esta condición esta repetida [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ C([1,0,0], [0,1,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([1,0,0], [0,1,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([1,0,0], [0,0,1], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([1,0,0], [0,0,1], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([1,0,0], [0,0,1], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Ahora empiezan en (0,1,0) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ C([0,1,0], [1,0,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,1,0], [1,0,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,1,0], [1,0,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,1,0], [0,1,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,1,0], [0,1,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,1,0], [0,1,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,1,0], [0,0,1], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,1,0], [0,0,1], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,1,0], [0,0,1], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Ahora empiezan en (0,0,1) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ C([0,0,1], [1,0,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,0,1], [1,0,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,0,1], [1,0,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,0,1], [0,1,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,0,1], [0,1,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,0,1], [0,1,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,0,1], [0,0,1], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,0,1], [0,0,1], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ C([0,0,1], [0,0,1], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Nuestro b1 es precisamente a12-a21, y así con todos. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ b1(A,B)=a12(A,B)-a21(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b2(A,B)-a13(A,B)+a31(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Vamos a comprobarlos todos [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ b3(A,B)-a15(A,B)+a24(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b4(A,B)-a16(A,B)+a34(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b5(A,B)-a18(A,B)+a27(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b6(A,B)-a19(A,B)+a37(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b7(A,B)-a23(A,B)+a32(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b8(A,B)-a26(A,B)+a35(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ b9(A,B)-a29(A,B)+a38(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Escribo una genérica compatible con la métrica. La llamamos a. Las variables son A y B [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ a(A,B):=c1*b1(A,B)+c2*b2(A,B)+c3*b3(A,B)+c4*b4(A,B)+c5*b5(A,B)+c6*b6(A,B)+c7*b7(A,B)+c8*b8(A,B)+c9*b9(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ a(A,B); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Escribo la torsión de a. La llamamos Ta. Las variables son x, y. Ta es una aplicación de mxm en m. Como la definición de a usa A y B tenemos las variables A, B, x, y [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Ta(x,y):=a(x,y)-a(y,x)+2*(a16(x,y)-a34(x,y))-2*(a23(x,y)-a32(x,y))-2*(a18(x,y)-a27(x,y)); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Ta(x,y); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Busco la única compatible con la métrica de torsión nula, es decir la Levi Civita. De nuevo al evaluar en los vectores de la base obtengo, en cada componente, los coeficientes de x1y1, x1y2, x1y3... ..., hasta,..., x3y2,x3y3. Evaluo desde e1e1, e1e2, e1e3, ..., hasta, ..., e3e1,e3e2,e3e3 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Ta([1,0,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Ta([1,0,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Ta([1,0,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Ta([0,1,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Ta([0,1,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Ta([0,1,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Ta([0,0,1], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Ta([0,0,1], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Ta([0,0,1], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] De aquí se deduce que los unicos coeficientes no nulos son c4=-1, c5=1 y c7=1.por tanto la Levi Civita es [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ LC(x,y):=-b4(x,y)+b5(x,y)+b7(x,y); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ LC(x,y); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Fijémonos que LC(x,y) es el producto vectorial de y, x, en este orden, LC(x,y)=y ^ x(=det(ijk,y,x) ) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ M:matrix( [i,j,k], [y1,y2,y3], [x1,x2,x3] ); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ determinant(M); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Definimos ahora la torsión geometrica de una a generica. La contracción de la torsion con la metrica. La llamamos Tag. Es una aplicación de mxmxm en R. La escribimos en las variables r, s, t. De nuevo cuidado, tenemos las variables r, s, t, x, y, A, B [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Tag(r,s,t):=g(Ta(r,s),t); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Tag(r,s,t); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ratsimp(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Lo siguiente es la condicion de ser alternada. La llamamos CTA. Es una aplicación de mxmxm en R. Las variables son u,v,w [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ CA(u,v,w):=Tag(u,v,w)+Tag(w,v,u); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA(u,v,w); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ratsimp(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Esto igualado a 0 nos da las condiciones sobre los coeficientes c1,c2,c3,c4,c5,c6,c7,c8,c9 para que a sea de torsión totalmente antisimetrica. De nuevo lo aoplicamos a e1e1e1,e1e1e2...hasta...e3e3e2,e3e3e3. Comenzamos en e1ejek, en (1,0,0) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ CA([1,0,0],[1,0,0],[1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([1,0,0], [1,0,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([1,0,0], [1,0,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([1,0,0], [0,1,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([1,0,0], [0,1,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([1,0,0], [0,1,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([1,0,0], [0,0,1], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([1,0,0], [0,0,1], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([1,0,0], [0,0,1], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Ahora empiezan en (0,1,0) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ CA([0,1,0], [1,0,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,1,0], [1,0,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,1,0], [1,0,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,1,0], [0,1,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,1,0], [0,1,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,1,0], [0,1,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,1,0], [0,0,1], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,1,0], [0,0,1], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,1,0], [0,0,1], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Ahora empiezan en (0,0,1) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ CA([0,0,1], [1,0,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,0,1], [1,0,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,0,1], [1,0,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,0,1], [0,1,0], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,0,1], [0,1,0], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,0,1], [0,1,0], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,0,1], [0,0,1], [1,0,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,0,1], [0,0,1], [0,1,0]); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ CA([0,0,1], [0,0,1], [0,0,1]); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Todos los coeficientes son nulos excepto c4,c5 y c7. y se verifica que c5=c7=-c4. Por tanto una genérica de torsión totalmente antisimétrica (y G invariante compatible con la métrica) es de la forma c4b4-c4b5-c4b7. Es decir el subespacio generado por b4-b5-b7. Que es el mismo que el generado por-b4+b5+b7, es decir el generado por la Levi-Civita [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Considero un multiplo genérico de la LC [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ A(x,y):=l*LC(x,y); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ A(x,y); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Defino la proyección en m, que como h=0, es precisamente el corchete como n=1 es 2 veces la LC [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Pm(x,y):=2*LC(x,y); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Pm(x,y); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Defino la curvatura de una A genérica, en este caso (n=1) como h=0 la proyección en h del corchete es 0, asi que el cuarto sumando no existe [Ph(u,v),w]=[0,w]≠0 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ R(u,v,w):=A(u,A(v,w))-A(v,A(u,w))-A(Pm(u,v),w); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ R(u,v,w); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ratsimp(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Ahora la Traza, o sea el Ricci de la A genérica [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Ri(r,s):= R([1,0,0],r,s)[1]+R([0,1,0],r,s)[2]+R([0,0,1],r,s)[3]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Ri(r,s); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ratsimp(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] ¿Es simétrico? [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Ri(n,m)-Ri(m,n); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Efectivamente lo es [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Ahora si A es multiplo por l de la LC [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Ri(r,s)+(2*l^2-4*l)*g(r,s); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ratsimp(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Es decir que el Riccide cualquiera de las A´s genéricas dadas por el parámetro l, es multiplo de la métrica y el multiplicador es precisamente -2l^2+4*l [wxMaxima: comment end ] */ /* Maxima can't load/batch files which end with a comment! */ "Created with wxMaxima"$