atlas[Projectors] - calculation of a mapping projectors (tangent and normal or horizontal and vertical)
Projectors(F)
Parameters:
F - mapping identifier
- Let mapping F:
be declared by functions (see atlas[Mapping]):
where
;
are local coordinates on M and
are local coordinates on N. - If
then the mapping is treated as an embedding or immersion, thus normal and tangent projectors are calculated. - If
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 the actual metrics declared in both manifolds. To get more information see examples: Ricci-flat warped product and Geometry induced on some minimal surfaces
The Projectors procedure allows one to calculate 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:
| > | restart: with(atlas): |
Just for right simplification:
`atlas/simp`:=proc(a)
subs({cos(phi)^2=1-sin(phi)^2},a);
normal(%);
end:
Domain
This domain is just 3-dimensional Euclidean space:
Domain(R^3);
| (2.1.1) |
Declare 1-forms for to use them as a coframe:
Forms(e[j]=1);
| (2.1.2) |
Declare vector fields to use them as a frame:
Vectors(E[i]);
| (2.1.3) |
Declare coframe 1-forms:
Coframe(e[1]=d(x),e[2]=d(y),e[3]=d(z));
| (2.1.4) |
Declare frame vectors:
Frame(E[j]);
| (2.1.5) |
Declare flat metric:
:Metric(g=d(x)&.d(x)+d(y)&.d(y)+d(z)&.d(z));
| (2.1.6) |
Domain
This domain is 1-sphere (a circle).
Domain(S);
| (2.2.1) |
Declare 1-forms for coframe:
Forms(u[k]=1);
| (2.2.2) |
Declare vector fields for frame:
Vectors(U[j]);
| (2.2.3) |
Coframe declaration for the sphere:
Coframe(u[1]=d(phi));
| (2.2.4) |
Frame declaration for the sphere:
Frame(U[k]);
| (2.2.5) |
Mappings
Mapping of the sphere into the Euclidean space
:
Mapping(psi,S,R^3,
x=cos(phi),
y=sin(phi),
z=0);
| (2.3.1) |
Mapping of the Euclidean space
/ Z (Z axis is excluded) into the sphere:
Mapping(pi,R^3,S,
phi=arctan(y/x));
| (2.3.2) |
Metric on the sphere
After that we can calculate metric induced on the sphere by
embedding:
Metric(G = g &/ psi);
| (2.4.1) |
projectors
Calculation of the projection:
P[psi]:=Projectors(psi);
| (2.5.1) |
Normal projector extraction
N[psi]:=P[psi][normal];
| (2.5.2) |
Tangent projection extraction:
T[psi]:=P[psi][tangent];
| (2.5.3) |
Jump into the previous domain:
Domain(R^3);
| (2.5.4) |
Verify that there are no tangent or normal vectors among frame ones:
| > | 'iota[E[i]](T[psi])'=iota[E[i]](T[psi]); |
| (2.5.5) |
| > | 'iota[E[i]](N[psi])'=iota[E[i]](N[psi]); |
| (2.5.6) |
Verify that "rotation" vector
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]));
| (2.5.7) |
projectors
Calculation of the projectors:
P[pi]:=Projectors(pi);
![]() ![]() ![]() ![]() | (2.6.1) |
Vertical projector extraction:
V[pi]:=P[pi][vertical];
![]() ![]() | (2.6.2) |
Horizontal projector extraction:
H[pi]:=P[pi][horizontal];
![]() ![]() | (2.6.3) |
Jump into
:
Domain(R^3);
| (2.6.4) |
Verify that there are no tangent or normal vectors among frame ones:
| > | 'iota[E[i]](V[pi])'=iota[E[i]](V[pi]); |
![]() | (2.6.5) |
| > | 'iota[E[i]](H[pi])'=iota[E[i]](H[pi]); |
![]() | (2.6.6) |
Verify that "rotation" vector
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]));
| (2.6.7) |
| > |

![table( [( vertical ) = `+`(`/`(`*`(`^`(x, 2), `*`(`&.`(e[1], E[1]))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `/`(`*`(y, `*`(x, `*`(`&.`(e[1], E[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `...](Maple/atlas/help/images/Projectors_50.gif)
![table( [( vertical ) = `+`(`/`(`*`(`^`(x, 2), `*`(`&.`(e[1], E[1]))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `/`(`*`(y, `*`(x, `*`(`&.`(e[1], E[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `...](Maple/atlas/help/images/Projectors_51.gif)
![table( [( vertical ) = `+`(`/`(`*`(`^`(x, 2), `*`(`&.`(e[1], E[1]))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `/`(`*`(y, `*`(x, `*`(`&.`(e[1], E[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `...](Maple/atlas/help/images/Projectors_52.gif)
![table( [( vertical ) = `+`(`/`(`*`(`^`(x, 2), `*`(`&.`(e[1], E[1]))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `/`(`*`(y, `*`(x, `*`(`&.`(e[1], E[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `...](Maple/atlas/help/images/Projectors_53.gif)
![`+`(`/`(`*`(`^`(x, 2), `*`(`&.`(e[1], E[1]))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `/`(`*`(y, `*`(x, `*`(`&.`(e[1], E[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `/`(`*`(y, `*`(x, `*`(`&...](Maple/atlas/help/images/Projectors_54.gif)
![`+`(`/`(`*`(`^`(x, 2), `*`(`&.`(e[1], E[1]))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `/`(`*`(y, `*`(x, `*`(`&.`(e[1], E[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `/`(`*`(y, `*`(x, `*`(`&...](Maple/atlas/help/images/Projectors_55.gif)
![`+`(`/`(`*`(`^`(y, 2), `*`(`&.`(e[1], E[1]))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `-`(`/`(`*`(y, `*`(x, `*`(`&.`(e[1], E[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `-`(`/`(`*`(y, `*`(...](Maple/atlas/help/images/Projectors_56.gif)
![`+`(`/`(`*`(`^`(y, 2), `*`(`&.`(e[1], E[1]))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `-`(`/`(`*`(y, `*`(x, `*`(`&.`(e[1], E[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `-`(`/`(`*`(y, `*`(...](Maple/atlas/help/images/Projectors_57.gif)
![iota[E[i]](V[pi]) = `+`(`/`(`*`(`^`(x, 2), `*`(delta[1, i], `*`(E[1]))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `/`(`*`(y, `*`(x, `*`(delta[1, i], `*`(E[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, ...](Maple/atlas/help/images/Projectors_60.gif)
![iota[E[i]](H[pi]) = `+`(`/`(`*`(`^`(y, 2), `*`(delta[1, i], `*`(E[1]))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `-`(`/`(`*`(y, `*`(x, `*`(delta[1, i], `*`(E[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`...](Maple/atlas/help/images/Projectors_61.gif)