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[Projectors] - calculation of a mapping projectors (tangent and normal or horizontal and vertical)

Calling Sequence:

     Projectors(F)

Parameters:

      F - mapping identifier

Description:

The Projectors  procedure calculates projectors of a mapping between manifolds (see atlas[Mapping] ). If mapping F is an embedding  or immersion  then normal  and tangent  projectors are calculated. If mapping F is a submersion  then horizontal  and vertical  projectors are calculated. 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.
  • If m < n  then the mapping is treated as an embedding or immersion thus normal and tangent projectors are calculated.
  • If n <= m  then the mapping is treated as a submersion thus horizontal and vertical projectors are calculated.
  • The procedure returns a table with corresponding indexes ( normal, tangential, horizontal, vertical ) and entries. The entries are corresponding tensors of type [1,1] (see examples below).
  • It should be pointed out that the calculation is only available if actual metric are declared in both manifolds. To get more information see examples : Ricci-flat warped product  

Examples:
restart:
with(atlas):

Just for right simplification:
`atlas/simp`:=proc(a)
subs({cos(phi)^2=1-sin(phi)^2},a);
normal(%);
end:

DomainR^3

This domain is just 3-dimensional Euclidean space:
Domain(R^3);

R^3

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 flat metric:
:
Metric(g=d(x)&.d(x)+d(y)&.d(y)+d(z)&.d(z));

g = `&.`(e[1],e[1])+`&.`(e[2],e[2])+`&.`(e[3],e[3])

DomainS^`1`

This domain is 1-sphere (a circle).
Domain(S);

S

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

{e[j], u[k]}

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

{U[j]}

Coframe declaration for the sphere:
Coframe(u[1]=d(phi));

[u[1] = d(phi)]

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

[U[1] = Diff(``,phi)]

Mappings

Mapping of the sphere into the Euclidean space R^3 :
Mapping(psi,S,R^3,
        x=cos(phi),
        y=sin(phi),
        z=0);

psi

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

Mapping of the Euclidean space R^3 / Z (Z axis is excluded) into the sphere:
Mapping(pi,R^3,S,
        phi=arctan(y/x));

pi

R^3.`--->`.S

Metric on the sphere

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

G = `&.`(u[1],u[1])

 psi projectors

Calculation of the projection:
P[psi]:=Projectors(psi);

P[psi] := TABLE([tangent = -sin(phi)*cos(phi)*`&.`(e[1],E[2])+sin(phi)^2*`&.`(e[1],E[1])+(1-sin(phi)^2)*`&.`(e[2],E[2])-cos(phi)*sin(phi)*`&.`(e[2],E[1]), normal = sin(phi)*cos(phi)*`&.`(e[1],E[2])+(1-...
P[psi] := TABLE([tangent = -sin(phi)*cos(phi)*`&.`(e[1],E[2])+sin(phi)^2*`&.`(e[1],E[1])+(1-sin(phi)^2)*`&.`(e[2],E[2])-cos(phi)*sin(phi)*`&.`(e[2],E[1]), normal = sin(phi)*cos(phi)*`&.`(e[1],E[2])+(1-...
P[psi] := TABLE([tangent = -sin(phi)*cos(phi)*`&.`(e[1],E[2])+sin(phi)^2*`&.`(e[1],E[1])+(1-sin(phi)^2)*`&.`(e[2],E[2])-cos(phi)*sin(phi)*`&.`(e[2],E[1]), normal = sin(phi)*cos(phi)*`&.`(e[1],E[2])+(1-...
P[psi] := TABLE([tangent = -sin(phi)*cos(phi)*`&.`(e[1],E[2])+sin(phi)^2*`&.`(e[1],E[1])+(1-sin(phi)^2)*`&.`(e[2],E[2])-cos(phi)*sin(phi)*`&.`(e[2],E[1]), normal = sin(phi)*cos(phi)*`&.`(e[1],E[2])+(1-...
P[psi] := TABLE([tangent = -sin(phi)*cos(phi)*`&.`(e[1],E[2])+sin(phi)^2*`&.`(e[1],E[1])+(1-sin(phi)^2)*`&.`(e[2],E[2])-cos(phi)*sin(phi)*`&.`(e[2],E[1]), normal = sin(phi)*cos(phi)*`&.`(e[1],E[2])+(1-...

Normal projector extraction
N[psi]:=P[psi][normal];

N[psi] := sin(phi)*cos(phi)*`&.`(e[1],E[2])+(1-sin(phi)^2)*`&.`(e[1],E[1])+sin(phi)^2*`&.`(e[2],E[2])+cos(phi)*sin(phi)*`&.`(e[2],E[1])+`&.`(e[3],E[3])
N[psi] := sin(phi)*cos(phi)*`&.`(e[1],E[2])+(1-sin(phi)^2)*`&.`(e[1],E[1])+sin(phi)^2*`&.`(e[2],E[2])+cos(phi)*sin(phi)*`&.`(e[2],E[1])+`&.`(e[3],E[3])

Tangent projection extraction:
T[psi]:=P[psi][tangent];

T[psi] := -sin(phi)*cos(phi)*`&.`(e[1],E[2])+sin(phi)^2*`&.`(e[1],E[1])+(1-sin(phi)^2)*`&.`(e[2],E[2])-cos(phi)*sin(phi)*`&.`(e[2],E[1])
T[psi] := -sin(phi)*cos(phi)*`&.`(e[1],E[2])+sin(phi)^2*`&.`(e[1],E[1])+(1-sin(phi)^2)*`&.`(e[2],E[2])-cos(phi)*sin(phi)*`&.`(e[2],E[1])

Jump into the previous domain:
Domain(R^3);

R^3

Verify that there are no tangent or normal vectors among frame ones:
'iota[E[i]](T[psi])'=iota[E[i]](T[psi]);

iota[E[i]](T[psi]) = -sin(phi)*cos(phi)*delta[1,i]*E[2]+sin(phi)^2*delta[1,i]*E[1]+(1-sin(phi)^2)*delta[2,i]*E[2]-sin(phi)*cos(phi)*delta[2,i]*E[1]
iota[E[i]](T[psi]) = -sin(phi)*cos(phi)*delta[1,i]*E[2]+sin(phi)^2*delta[1,i]*E[1]+(1-sin(phi)^2)*delta[2,i]*E[2]-sin(phi)*cos(phi)*delta[2,i]*E[1]
'iota[E[i]](N[psi])'=iota[E[i]](N[psi]);

iota[E[i]](N[psi]) = sin(phi)*cos(phi)*delta[1,i]*E[2]+(1-sin(phi)^2)*delta[1,i]*E[1]+sin(phi)^2*delta[2,i]*E[2]+sin(phi)*cos(phi)*delta[2,i]*E[1]+delta[3,i]*E[3]
iota[E[i]](N[psi]) = sin(phi)*cos(phi)*delta[1,i]*E[2]+(1-sin(phi)^2)*delta[1,i]*E[1]+sin(phi)^2*delta[2,i]*E[2]+sin(phi)*cos(phi)*delta[2,i]*E[1]+delta[3,i]*E[3]

Verify that "rotation" vector cos(phi)*Diff(``,y)-sin(phi)*Diff(``,x)  is tangent one:
Z:=cos(phi)*E[2]-sin(phi)*E[1];
'iota[Z](T[psi])'=simplify(iota[Z](T[psi]));
'iota[Z](N[psi])'=simplify(iota[Z](N[psi]));

Z := -sin(phi)*E[1]+cos(phi)*E[2]

iota[Z](T[psi]) = -sin(phi)*E[1]+cos(phi)*E[2]

iota[Z](N[psi]) = 0

 pi projectors

Calculation of the projectors:
P[pi]:=Projectors(pi);

P[pi] := TABLE([horizontal = -1/(x^2+y^2)*y*x*`&.`(e[1],E[2])+1/(x^2+y^2)*y^2*`&.`(e[1],E[1])+x^2/(x^2+y^2)*`&.`(e[2],E[2])-1/(x^2+y^2)*y*x*`&.`(e[2],E[1]), vertical = 1/(x^2+y^2)*y*x*`&.`(e[1],E[2])+x...
P[pi] := TABLE([horizontal = -1/(x^2+y^2)*y*x*`&.`(e[1],E[2])+1/(x^2+y^2)*y^2*`&.`(e[1],E[1])+x^2/(x^2+y^2)*`&.`(e[2],E[2])-1/(x^2+y^2)*y*x*`&.`(e[2],E[1]), vertical = 1/(x^2+y^2)*y*x*`&.`(e[1],E[2])+x...
P[pi] := TABLE([horizontal = -1/(x^2+y^2)*y*x*`&.`(e[1],E[2])+1/(x^2+y^2)*y^2*`&.`(e[1],E[1])+x^2/(x^2+y^2)*`&.`(e[2],E[2])-1/(x^2+y^2)*y*x*`&.`(e[2],E[1]), vertical = 1/(x^2+y^2)*y*x*`&.`(e[1],E[2])+x...

Vertical projector extraction:
V[pi]:=P[pi][vertical];

V[pi] := 1/(x^2+y^2)*y*x*`&.`(e[1],E[2])+x^2/(x^2+y^2)*`&.`(e[1],E[1])+y^2/(x^2+y^2)*`&.`(e[2],E[2])+`&.`(e[3],E[3])+1/(x^2+y^2)*y*x*`&.`(e[2],E[1])

Horizontal projector extraction:
H[pi]:=P[pi][horizontal];

H[pi] := -1/(x^2+y^2)*y*x*`&.`(e[1],E[2])+1/(x^2+y^2)*y^2*`&.`(e[1],E[1])+x^2/(x^2+y^2)*`&.`(e[2],E[2])-1/(x^2+y^2)*y*x*`&.`(e[2],E[1])

Jump into R^3 :
Domain(R^3);

R^3

Verify that there are no tangent or normal vectors among frame ones:
'iota[E[i]](V[pi])'=iota[E[i]](V[pi]);

iota[E[i]](V[pi]) = 1/(x^2+y^2)*y*x*delta[1,i]*E[2]+x^2/(x^2+y^2)*delta[1,i]*E[1]+y^2/(x^2+y^2)*delta[2,i]*E[2]+delta[3,i]*E[3]+1/(x^2+y^2)*y*x*delta[2,i]*E[1]

'iota[E[i]](H[pi])'=iota[E[i]](H[pi]);

iota[E[i]](H[pi]) = -1/(x^2+y^2)*y*x*delta[1,i]*E[2]+y^2/(x^2+y^2)*delta[1,i]*E[1]+x^2/(x^2+y^2)*delta[2,i]*E[2]-1/(x^2+y^2)*y*x*delta[2,i]*E[1]

Verify that "rotation" vector x*Diff(``,y)-y*Diff(``,x)  is horizontal one:
X:=x*E[2]-y*E[1];
'iota[X](V[pi])'=simplify(iota[X](V[pi]));
'iota[X](H[pi])'=simplify(iota[X](H[pi]));

X := E[2]*x-y*E[1]

iota[X](V[pi]) = 0

iota[X](H[pi]) = E[2]*x-y*E[1]

See Also:

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