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[Invariants]  - calculation of a mapping invariants

Calling Sequence:

     Invariants(F)

Parameters:

      F - mapping identifier

Description:

The Invariants  procedure calculates invariants of a mapping between manifolds (see atlas[Mapping] ). If mapping F is embedding of a curve  then the curve's normalized moving frame  and the curve's curvatures  are calculated. If mapping F is an embedding  or immersion  then second fundamental form   and mean curvature vector  are calculated. If mapping F is a submersion  then A  and T  invariants are calculated. In that case some additional calculations are performed: mean curvature vector  of corresponding fibers, intagrability obstruction  of corresponding horizontal distribution and riemannian obstruction  (if the submersion is not a riemannian one). The corresponding rules are as follows:

  • Let mapping F: proc (M) options operator, arrow; N end proc   be declared by functions (see atlas[Mapping] ):

    PIECEWISE([``, y[1] = f[1](x[1],x[2],`` .. x[m])],[``, y[2] = f[2](x[1],x[2],`` .. x[m])],[``, `.........`],[``, y[n] = f[n](x[1],x[2],`` .. x[m])])

    where  
    m = dim(M), n = dim(N) ;   {x[1], x[2], `` .. x[m]}  are local coordinates on M and   {y[1], y[2], `` .. y[n]}  are local coordinates on N.

Curve

If m = 1  then the mapping is treated as a curve embedding thus the curve's normalized moving frame and the corresponding curvatures are calculated. The corresponding invariants satisfy the equations:

D(nu[p])/ds = -chi[p]*nu[p-1]+chi[p+1]*nu[p+1]  

where p = 0 .. n-1  and

    nu[p]  are basis  vectors of   normalized moving frame of the embedded curve;

    chi[p]  are curvatures  of the embedded curve ( chi[0] = 0, chi[n] = 0  ).

If N manifold is 3-dimensional Euclidean space than chi[1]  is the curvature of the curve and chi[2]  is the torsion. In that case the sign of the torsion is the same for left or right - handed curves just because in the presented algorithm the moving frame is right-handed for right-handed curve and left-handed for left-handed curve.  

 It should be pointed out that the calculation is only available if actual metric and connection are declared on N manifold.

Embedding

If m < n  then the mapping is treated as an embedding or immersion thus second fundamental form and mean curvature vector are calculated. If N and T are corresponding normal and tangential projectors (see atlas[Projectors] ) then the embedding (or immersion) invariants are defined as follows.
For any vector fields X and Y on M we have:
       for
second fundamental form : B[X](Y) = N(D[TX](TY))
       for
mean curvature vector : mu = trace[g](B) .

 It should be pointed out that the calculation is only available if actual metric and connection are declared (calculated) on N manifold and actual metric is declared (calculated) on M manifold.

Submersion

If n <= m  then the mapping is treated as a submersion thus mean curvature vectors, A and T invariants, riemannian and integrability obstructions are calculated. If H  and V  are corresponding horizontal and vertical projectors then the submersion invariants are defined as follows.
For any vector fields X and Y on M we have:
      for tensor
A : A[X](Y) = H(D[HX](VY))+V(D[HX](HY)) ;
      for tensor
T : T[X](Y) = H(D[VX](VY))+V(D[VX](HY)) ;
      for
meanCurvature vector : mu = trace[g](T) ;
      for
integrabilityObstruction : O[X](Y) = A[X](Y)-A[Y](X) ;
      for
  riemannianObstruction : O[X](Y) = A[X](Y)+A[Y](X) .

 It should be pointed out that the calculation is only available if actual metric and connection are declared on M manifold.

  • The procedure returns a table with corresponding indexes (

    meanCurvature, A, T, secondForm, riemannianObstruction, integrabilityObstruction, curvatures, basis ) and entries. The entries are corresponding values (see examples below).

  • To get more information see examples .

Examples:
restart:
with(atlas):

Domain S^3:
Domain(S^3);

S^3

Declare constant Lambda :
Constants(Lambda);

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

Declare 1-forms for to use them as a coframe:
Forms(e[j]=1);

{e[j]}

Declare vector fields to use them as a frame:
Vectors(E[i]);

{E[i]}

Declare coframe 1-forms:
Coframe(e[1]=d(x),e[2]=d(y),e[3]=d(z));

[e[1] = d(x), e[2] = d(y), e[3] = d(z)]

Declare frame vectors:
Frame(E[j]);

[E[1] = Diff(``,x), E[2] = Diff(``,y), E[3] = Diff(``,z)]

Declare metric:
Metric(g=4*(d(x)&.d(x)+d(y)&.d(y)+d(z)&.d(z))/(1+Lambda*(x^2+y^2+z^2))^2);

g = 4*(`&.`(e[1],e[1])+`&.`(e[2],e[2])+`&.`(e[3],e[3]))/(1+Lambda*(x^2+y^2+z^2))^2

Calculate connection:
Connection(omega);

omega[i,j]

Domain S^2
Domain(S^2);

S^2

Declare constant lambda :
Constants(lambda);

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

Declare 1-forms for coframe:
Forms(u[k]=1);

{u[k], e[j]}

Declare vector fields for frame:
Vectors(U[j]);

{U[j]}

Coframe declaration:
Coframe(u[1]=d(zeta),u[2]=d(xi));

[u[1] = d(zeta), u[2] = d(xi)]

Frame declaration for the sphere:
Frame(U[k]);

[U[1] = Diff(``,zeta), U[2] = Diff(``,xi)]

Domain S^`1`
Domain(S);

S

Declare 1-forms for coframe:
Forms(w[k]=1);

{u[k], w[k], e[j]}

Declare vector fields for frame:
Vectors(W[j]);

{W[j]}

Coframe declaration:
Coframe(w[1]=d(tau));

[w[1] = d(tau)]

Frame declaration for the sphere:
Frame(W[k]);

[W[1] = Diff(``,tau)]

Mappings

Simple mapping of the 2-sphere S^2  into 3-sphere S^3  (embedding):
Mapping(psi,S^2,S^3,
        x=zeta,
        y=xi,
        z=lambda);

psi

S^2.`--->`.(S^3)

Simple mapping of the 3-sphere S^3  into 2-sphere   S^2  (submersion):
Mapping(pi,S^3,S^2,
        zeta=x^2+y^2,
        xi=z);

pi

S^3.`--->`.(S^2)

Simple mapping of the 1-sphere S^`1`  into 3-sphere S^3  (curve):
Mapping(phi,S,S^3,
        x=1/sqrt(2*Lambda)*cos(tau),
        y=1/sqrt(2*Lambda)*sin(tau),
        z=1/sqrt(2*Lambda));

phi

S.`--->`.(S^3)

Metric and connection induced on 2-sphere - S^2  by psi  embedding

Jump to 2-sphere:
Domain(S^2);

S^2

After that we can calculate metric induced on  2-sphere S^2  by psi  embedding:
Metric(G = g &/ psi);

G = 4/(1+Lambda*zeta^2+Lambda*xi^2+Lambda*lambda^2)^2*`&.`(u[1],u[1])+4/(1+Lambda*zeta^2+Lambda*xi^2+Lambda*lambda^2)^2*`&.`(u[2],u[2])

Connection(Gamma);

Gamma[i,j]

  psi  - invariants (embedding)

Calculation of the invariants:
Inv[psi]:=Invariants(psi);

Inv[psi] := TABLE([secondForm = TABLE(zero,[(2, 2) = [2/(1+Lambda*zeta^2+Lambda*xi^2+Lambda*lambda^2)*Lambda*lambda*E[3]], (1, 1) = [2/(1+Lambda*zeta^2+Lambda*xi^2+Lambda*lambda^2)*Lambda*lambda*E[3]]]...
Inv[psi] := TABLE([secondForm = TABLE(zero,[(2, 2) = [2/(1+Lambda*zeta^2+Lambda*xi^2+Lambda*lambda^2)*Lambda*lambda*E[3]], (1, 1) = [2/(1+Lambda*zeta^2+Lambda*xi^2+Lambda*lambda^2)*Lambda*lambda*E[3]]]...
Inv[psi] := TABLE([secondForm = TABLE(zero,[(2, 2) = [2/(1+Lambda*zeta^2+Lambda*xi^2+Lambda*lambda^2)*Lambda*lambda*E[3]], (1, 1) = [2/(1+Lambda*zeta^2+Lambda*xi^2+Lambda*lambda^2)*Lambda*lambda*E[3]]]...
Inv[psi] := TABLE([secondForm = TABLE(zero,[(2, 2) = [2/(1+Lambda*zeta^2+Lambda*xi^2+Lambda*lambda^2)*Lambda*lambda*E[3]], (1, 1) = [2/(1+Lambda*zeta^2+Lambda*xi^2+Lambda*lambda^2)*Lambda*lambda*E[3]]]...

  pi  - invariants (submersion)

Calculation of the invariants:
Inv[pi]:=Invariants(pi);

Inv[pi] := TABLE([riemannianObstruction = 0, A = 0, T = TABLE(zero,[(1, 3) = [-2*y^2*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^2+y^2)*E[1]+2*y*x*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^...
Inv[pi] := TABLE([riemannianObstruction = 0, A = 0, T = TABLE(zero,[(1, 3) = [-2*y^2*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^2+y^2)*E[1]+2*y*x*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^...
Inv[pi] := TABLE([riemannianObstruction = 0, A = 0, T = TABLE(zero,[(1, 3) = [-2*y^2*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^2+y^2)*E[1]+2*y*x*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^...
Inv[pi] := TABLE([riemannianObstruction = 0, A = 0, T = TABLE(zero,[(1, 3) = [-2*y^2*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^2+y^2)*E[1]+2*y*x*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^...
Inv[pi] := TABLE([riemannianObstruction = 0, A = 0, T = TABLE(zero,[(1, 3) = [-2*y^2*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^2+y^2)*E[1]+2*y*x*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^...
Inv[pi] := TABLE([riemannianObstruction = 0, A = 0, T = TABLE(zero,[(1, 3) = [-2*y^2*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^2+y^2)*E[1]+2*y*x*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^...
Inv[pi] := TABLE([riemannianObstruction = 0, A = 0, T = TABLE(zero,[(1, 3) = [-2*y^2*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^2+y^2)*E[1]+2*y*x*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^...
Inv[pi] := TABLE([riemannianObstruction = 0, A = 0, T = TABLE(zero,[(1, 3) = [-2*y^2*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^2+y^2)*E[1]+2*y*x*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^...
Inv[pi] := TABLE([riemannianObstruction = 0, A = 0, T = TABLE(zero,[(1, 3) = [-2*y^2*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^2+y^2)*E[1]+2*y*x*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^...
Inv[pi] := TABLE([riemannianObstruction = 0, A = 0, T = TABLE(zero,[(1, 3) = [-2*y^2*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^2+y^2)*E[1]+2*y*x*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^...
Inv[pi] := TABLE([riemannianObstruction = 0, A = 0, T = TABLE(zero,[(1, 3) = [-2*y^2*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^2+y^2)*E[1]+2*y*x*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^...
Inv[pi] := TABLE([riemannianObstruction = 0, A = 0, T = TABLE(zero,[(1, 3) = [-2*y^2*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^2+y^2)*E[1]+2*y*x*Lambda*z/(1+Lambda*x^2+Lambda*y^2+Lambda*z^2)/(x^...

  phi  - invariants (curve)

To simplify the results:
`atlas/simp`:=proc(a) factor(simplify(a)) end:

Calculation of the invariants:
Inv[phi]:=Invariants(phi);

Inv[phi] := TABLE([curvatures = TABLE(zero,[1 = [Lambda^(1/2)], 2 = [Lambda^(1/2)]]), basis = TABLE(zero,[0 = [-sin(tau)*E[1]+cos(tau)*E[2]], 1 = [-1/2*2^(1/2)*cos(tau)*E[1]-1/2*2^(1/2)*sin(tau)*E[2]+1...
Inv[phi] := TABLE([curvatures = TABLE(zero,[1 = [Lambda^(1/2)], 2 = [Lambda^(1/2)]]), basis = TABLE(zero,[0 = [-sin(tau)*E[1]+cos(tau)*E[2]], 1 = [-1/2*2^(1/2)*cos(tau)*E[1]-1/2*2^(1/2)*sin(tau)*E[2]+1...
Inv[phi] := TABLE([curvatures = TABLE(zero,[1 = [Lambda^(1/2)], 2 = [Lambda^(1/2)]]), basis = TABLE(zero,[0 = [-sin(tau)*E[1]+cos(tau)*E[2]], 1 = [-1/2*2^(1/2)*cos(tau)*E[1]-1/2*2^(1/2)*sin(tau)*E[2]+1...
Inv[phi] := TABLE([curvatures = TABLE(zero,[1 = [Lambda^(1/2)], 2 = [Lambda^(1/2)]]), basis = TABLE(zero,[0 = [-sin(tau)*E[1]+cos(tau)*E[2]], 1 = [-1/2*2^(1/2)*cos(tau)*E[1]-1/2*2^(1/2)*sin(tau)*E[2]+1...
Inv[phi] := TABLE([curvatures = TABLE(zero,[1 = [Lambda^(1/2)], 2 = [Lambda^(1/2)]]), basis = TABLE(zero,[0 = [-sin(tau)*E[1]+cos(tau)*E[2]], 1 = [-1/2*2^(1/2)*cos(tau)*E[1]-1/2*2^(1/2)*sin(tau)*E[2]+1...
Inv[phi] := TABLE([curvatures = TABLE(zero,[1 = [Lambda^(1/2)], 2 = [Lambda^(1/2)]]), basis = TABLE(zero,[0 = [-sin(tau)*E[1]+cos(tau)*E[2]], 1 = [-1/2*2^(1/2)*cos(tau)*E[1]-1/2*2^(1/2)*sin(tau)*E[2]+1...

See Also:

atlas , atlas[Domain] , atlas[`&/`] , atlas[Projectors] .