| atlas[Curvature] - calculation of curvature 2-forms Calling Sequence: Curvature(Id) Parameters: Id - variable - curvature identifier Description: - The Curvature procedure calculates curvature 2-forms. If a connection is calculated or defined then curvature can be calculated completely otherwise just curvature identifier is declared as a curvature. To get the rezult of the calculation use eval or atlas[iota] operators.
- The definition is as follows:
, where are connection 1-forms, is the dimension.
Example 1 Conformally flat metric of sphere - restart: with(atlas): Declare forms: Forms(e[j]=1,xi=1); ![{xi, e[j]}](prod/atlas/help/images/Curvature5.gif)
Declare vectors: Vectors(X,Y,Z,E[j]); ![{X, Y, Z, E[j]}](prod/atlas/help/images/Curvature6.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/Curvature9.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/Curvature11.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/Curvature13.gif)
Connection calculation: Connection(omega); ![omega[i,j]](prod/atlas/help/images/Curvature14.gif)
'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/Curvature15.gif)
Curvature calculation: Curvature(Omega); ![Omega[i,j]](prod/atlas/help/images/Curvature16.gif)
Now curvature 2-forms are calculated: eval(Omega); 'Omega[1,3]'=Omega[1,3];
![Omega[1,3] = lambda*`&^`(e[1],e[3])](prod/atlas/help/images/Curvature22.gif)
'iota[E[k]](Omega[2,1])'=iota[E[k]](Omega[2,1]); ![iota[E[k]](Omega[2,1]) = -lambda*(delta[1,k]*e[2]-delta[2,k]*e[1])](prod/atlas/help/images/Curvature23.gif)
Example 2 restart: with(atlas): Declare forms: Forms(e[j]=1,xi=1); ![{xi, e[j]}](prod/atlas/help/images/Curvature24.gif)
Declare vectors: Vectors(X,Y,Z,E[j]); ![{X, Y, Z, E[j]}](prod/atlas/help/images/Curvature25.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/Curvature26.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/Curvature27.gif)
Connection definition: omega[1,1]:=x*e[1]; ![omega[1,1] := x*e[1]](prod/atlas/help/images/Curvature28.gif)
omega[2,2]:=y*e[2]; ![omega[2,2] := e[2]*y](prod/atlas/help/images/Curvature29.gif)
omega[1,2]:=y*e[1]; ![omega[1,2] := y*e[1]](prod/atlas/help/images/Curvature30.gif)
omega[2,1]:=-x*e[2]; ![omega[2,1] := -x*e[2]](prod/atlas/help/images/Curvature31.gif)
Connection declaration: Connection(omega); ![omega[i,j]](prod/atlas/help/images/Curvature32.gif)
Curvature calculation: Curvature(Omega); ![Omega[i,j]](prod/atlas/help/images/Curvature33.gif)
eval(Omega); '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/Curvature38.gif)
See Also: atlas , atlas[Frame] , atlas[Coframe] , atlas[Metric] . |