Digi Area Group - Math Tools for Professionals
   Maple and Mathematica packages - math tools for professionals

atlas™ - modern differential geometry for Maple™

> Features List & Examples
> Template Worksheets
> Screenshots
> Documentation & Downloads
> License & Pricing
> Buy Online

 
 
 
 
Google

Features List & Examples  |  Introduction  |  Dimension  |  Indexing  |  Forms  |  Metric  |  atlasWizard - Maplet™

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]}

Declare vectors:
Vectors(X,Y,Z,E[j]);

{E[j], X, Y, Z}

Declare coframe with 1-forms: e[1], e[2], `` .. e[n] (see atlas[Coframe] )
Coframe(e[k],k=1..n);

{e[k]}[k = 1 .. n]

Declare frame vectors (see atlas[Frame] ):
Frame(E[i]);

{E[i]}[i = 1 .. n]

Declaration of connection 1-forms:
Connection(omega);

omega[i,j]

Torsion(T);

T[i]

'd(e[j])'=d(e[j]);

d(e[j]) = -Sum(`&^`(omega[j,l[1]],e[l[1]]),l[1] = 1 .. n)+T[j]

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)

Example 2

Conformally flat metric of sphere -S^3
restart:
with(atlas):

Declare forms:
Forms(e[j]=1,xi=1);

{e[j], xi}

Declare vectors:
Vectors(X,Y,Z,E[j]);

{X, Y, Z, E[j]}

Declare constant lambda :
Constants(lambda);

{Catalan, _Z, Pi, I, lambda, -I}

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))]

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...
[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...

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

Declare conformally flat metric of   S^3  (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])

Connection calculation:
Connection(omega);

omega[i,j]

Now connection 1-forms omega[i,j]  are calculated:
eval(omega);

TABLE([(2, 3) = -lambda*z*e[2]+lambda*y*e[3], (1, 3) = -lambda*z*e[1]+lambda*x*e[3], (3, 2) = lambda*z*e[2]-lambda*y*e[3], (3, 3) = 0, (2, 2) = 0, (2, 1) = lambda*y*e[1]-lambda*x*e[2], (1, 1) = 0, (1, ...
TABLE([(2, 3) = -lambda*z*e[2]+lambda*y*e[3], (1, 3) = -lambda*z*e[1]+lambda*x*e[3], (3, 2) = lambda*z*e[2]-lambda*y*e[3], (3, 3) = 0, (2, 2) = 0, (2, 1) = lambda*y*e[1]-lambda*x*e[2], (1, 1) = 0, (1, ...
TABLE([(2, 3) = -lambda*z*e[2]+lambda*y*e[3], (1, 3) = -lambda*z*e[1]+lambda*x*e[3], (3, 2) = lambda*z*e[2]-lambda*y*e[3], (3, 3) = 0, (2, 2) = 0, (2, 1) = lambda*y*e[1]-lambda*x*e[2], (1, 1) = 0, (1, ...
TABLE([(2, 3) = -lambda*z*e[2]+lambda*y*e[3], (1, 3) = -lambda*z*e[1]+lambda*x*e[3], (3, 2) = lambda*z*e[2]-lambda*y*e[3], (3, 3) = 0, (2, 2) = 0, (2, 1) = lambda*y*e[1]-lambda*x*e[2], (1, 1) = 0, (1, ...
'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]

Example 3
 
restart:
with(atlas):

Declare forms:
Forms(e[j]=1,xi=1);

{e[j], xi}

Declare vectors:
Vectors(X,Y,Z,E[j]);

{E[j], X, Y, Z}

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)]

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)]

Connection definition:
omega[1,1]:=x*e[1];

omega[1,1] := x*e[1]

omega[2,2]:=y*e[2];

omega[2,2] := y*e[2]

omega[1,2]:=y*e[1];

omega[1,2] := e[1]*y

omega[2,1]:=-x*e[2];

omega[2,1] := -x*e[2]

Connection declaration:
Connection(omega);

omega[i,j]

Curvature calculation:
Curvature(Omega);

Omega[i,j]

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)...
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)...
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)...
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)...

Torsion calculation:
Torsion(T);

T[i]

eval(T);

TABLE([1 = y*`&^`(e[1],e[2]), 2 = (2+x*y^2+x^3)/(y^2+x^2)*`&^`(e[1],e[2])])

'L[E[1]](E[2])'=L[E[1]](E[2]);

L[E[1]](E[2]) = E[2]*x+y*E[1]

See Also:

atlas , atlas[Frame] , atlas[Coframe] , atlas[Metric] .