| atlas[Connection] - calculation of connection 1-forms Calling Sequence: Connection(Id) Parameters: Id - variable - connection identifier Description: The Connection procedure calculates or defines connection 1-forms. If a metric is defined then connection is calculated with respect to the metric otherwise just connection identifier is declared as a connection. If the identifier is a table then the table is declared as a connection (see example 3). To get the result of the calculation use eval or atlas[iota] operators. Example 1 Abstract connection restart: with(atlas): Declare forms: Forms(e[j]=1,xi=1); ![{xi, e[j]}](prod/atlas/help/images/Connection1.gif)
Declare vectors: Vectors(X,Y,Z,E[j]); ![{E[j], X, Y, Z}](prod/atlas/help/images/Connection2.gif)
Declare coframe with 1-forms: (see atlas[Coframe] ) Coframe(e[k],k=1..n); ![{e[k]}[k = 1 .. n]](prod/atlas/help/images/Connection4.gif)
Declare frame vectors (see atlas[Frame] ): Frame(E[i]); ![{E[i]}[i = 1 .. n]](prod/atlas/help/images/Connection5.gif)
Declaration of connection 1-forms: Connection(omega); ![omega[i,j]](prod/atlas/help/images/Connection6.gif)
Torsion(T); ![T[i]](prod/atlas/help/images/Connection7.gif)
'd(e[j])'=d(e[j]); ![d(e[j]) = -Sum(`&^`(omega[j,l[1]],e[l[1]]),l[1] = 1 .. n)+T[j]](prod/atlas/help/images/Connection8.gif)
d(xi)=d(ToBasis(xi)); ![d(xi) = -Sum(`&^`(e[l[1]],d(iota[E[l[1]]](xi))),l[1] = 1 .. n)+Sum(iota[E[l[1]]](xi)*(-Sum(`&^`(omega[l[1],l[2]],e[l[2]]),l[2] = 1 .. n)+T[l[1]]),l[1] = 1 .. n)](prod/atlas/help/images/Connection9.gif)
Example 2 Conformally flat metric of sphere - restart: with(atlas): Declare forms: Forms(e[j]=1,xi=1); ![{e[j], xi}](prod/atlas/help/images/Connection11.gif)
Declare vectors: Vectors(X,Y,Z,E[j]); ![{X, Y, Z, E[j]}](prod/atlas/help/images/Connection12.gif)
Declare constant : Constants(lambda); 
Declare coframe: Coframe( e[1]=2*d(x)/(1+lambda*(x^2+y^2+z^2)), e[2]=2*d(y)/(1+lambda*(x^2+y^2+z^2)),e[3]=2*d(z)/(1+lambda*(x^2+y^2+z^2))); ![[e[1] = 2*d(x)/(1+lambda*(x^2+y^2+z^2)), e[2] = 2*d(y)/(1+lambda*(x^2+y^2+z^2)), e[3] = 2*d(z)/(1+lambda*(x^2+y^2+z^2))]](prod/atlas/help/images/Connection15.gif)
Declare frame: Frame(E[i]); ![[E[1] = (1/2+1/2*lambda*x^2+1/2*lambda*y^2+1/2*lambda*z^2)*Diff(``,x), E[2] = (1/2+1/2*lambda*x^2+1/2*lambda*y^2+1/2*lambda*z^2)*Diff(``,y), E[3] = (1/2+1/2*lambda*x^2+1/2*lambda*y^2+1/2*lambda*z^2)*Di...](prod/atlas/help/images/Connection17.gif)
Basis one forms are not exact: 'd(e[1])'=normal(d(e[1])); ![d(e[1]) = (y*`&^`(e[1],e[2])+z*`&^`(e[1],e[3]))*lambda](prod/atlas/help/images/Connection18.gif)
Declare conformally flat metric of (see atlas[Metric] ): Metric(g=e[1]&.e[1]+e[2]&.e[2]+e[3]&.e[3]); ![g = `&.`(e[1],e[1])+`&.`(e[2],e[2])+`&.`(e[3],e[3])](prod/atlas/help/images/Connection20.gif)
Connection calculation: Connection(omega); ![omega[i,j]](prod/atlas/help/images/Connection21.gif)
Now connection 1-forms are calculated: eval(omega); 'iota[E[i]](omega[1,2])'=iota[E[i]](omega[1,2]);
![iota[E[i]](omega[1,2]) = -lambda*y*delta[1,i]+lambda*x*delta[2,i]](prod/atlas/help/images/Connection27.gif)
Example 3 restart: with(atlas): Declare forms: Forms(e[j]=1,xi=1); ![{e[j], xi}](prod/atlas/help/images/Connection28.gif)
Declare vectors: Vectors(X,Y,Z,E[j]); ![{E[j], X, Y, Z}](prod/atlas/help/images/Connection29.gif)
Declare coframe: Coframe(e[1]=x*d(x)+y*d(y),e[2]=x*d(y)-y*d(x)); ![[e[1] = x*d(x)+y*d(y), e[2] = x*d(y)-y*d(x)]](prod/atlas/help/images/Connection30.gif)
Declare frame: Frame(E[i]); ![[E[1] = 1/(y^2+x^2)*x*Diff(``,x)+1/(y^2+x^2)*y*Diff(``,y), E[2] = -1/(y^2+x^2)*y*Diff(``,x)+1/(y^2+x^2)*x*Diff(``,y)]](prod/atlas/help/images/Connection31.gif)
Connection definition: omega[1,1]:=x*e[1]; ![omega[1,1] := x*e[1]](prod/atlas/help/images/Connection32.gif)
omega[2,2]:=y*e[2]; ![omega[2,2] := y*e[2]](prod/atlas/help/images/Connection33.gif)
omega[1,2]:=y*e[1]; ![omega[1,2] := e[1]*y](prod/atlas/help/images/Connection34.gif)
omega[2,1]:=-x*e[2]; ![omega[2,1] := -x*e[2]](prod/atlas/help/images/Connection35.gif)
Connection declaration: Connection(omega); ![omega[i,j]](prod/atlas/help/images/Connection36.gif)
Curvature calculation: Curvature(Omega); ![Omega[i,j]](prod/atlas/help/images/Connection37.gif)
eval(Omega); ![TABLE([(1, 2) = (-x+y^4+y^2*x^2)/(y^2+x^2)*`&^`(e[1],e[2]), (2, 2) = y*(3+x*y^2+x^3)/(y^2+x^2)*`&^`(e[1],e[2]), (2, 1) = x*(-3+x*y^2+x^3)/(y^2+x^2)*`&^`(e[1],e[2]), (1, 1) = -y*(-1+x*y^2+x^3)/(y^2+x^2)...](prod/atlas/help/images/Connection41.gif)
Torsion calculation: Torsion(T); ![T[i]](prod/atlas/help/images/Connection42.gif)
eval(T); ![TABLE([1 = y*`&^`(e[1],e[2]), 2 = (2+x*y^2+x^3)/(y^2+x^2)*`&^`(e[1],e[2])])](prod/atlas/help/images/Connection43.gif)
'L[E[1]](E[2])'=L[E[1]](E[2]); ![L[E[1]](E[2]) = E[2]*x+y*E[1]](prod/atlas/help/images/Connection44.gif)
See Also: atlas , atlas[Frame] , atlas[Coframe] , atlas[Metric] . |