| atlas[Mapping] - declaration of a mapping between manifolds (domains) Calling Sequence: Mapping(F, M, N) Mapping(F, M, N, y1=f1(x1,x2...xm), y2=f2(x1,x2...xm), ..., yn=fn(x1,x2...xm)) Parameters: F - variable - the mapping identifier i.e. F : M ---> N M - variable - first domain identifier N - variable - second domain identifier Description: The Mapping procedure declares mapping between manifolds (or its domains). Ones mapping defined the user can calculate restriction of any [0,k] tensor field under the mapping (see atlas[`&/`] ). The Mapping procedure can be used in two ways: - Mapping(F, M, N) - declares an abstract mapping between manifolds or domains such that:
F: . - Mapping(F, M, N, y1=f1(x1,x2...xm), y2=f2(x1,x2...xm), ..., yn=fn(x1,x2...xm)) - declares mapping between manifolds such that: F:
. The mapping defined by functions: where ; are local coordinates on M and are local coordinates on N.
Examples: restart: with(atlas): Declare 1-forms e[j] and u[k] for corresponding coframes: Forms(e[j]=1,u[k]=1); ![{e[j], u[k]}](prod/atlas/help/images/Mapping7.gif)
Declare vectors: Vectors(E[i],U[j],X,Y,Z,V[k]); ![{X, Y, Z, E[i], U[j], V[k]}](prod/atlas/help/images/Mapping8.gif)
Declare domain (sphere): Domain(S^2); 
Declare coframe on : Coframe(u[1]=d(theta),u[2]=d(phi)); ![[u[1] = d(theta), u[2] = d(phi)]](prod/atlas/help/images/Mapping12.gif)
Declare frame Frame(U[j]); ![[U[1] = Diff(``,theta), U[2] = Diff(``,phi)]](prod/atlas/help/images/Mapping13.gif)
Declare domain (plane): Domain(R^2); 
Declare coframe on : Coframe(e[1]=d(x),e[2]=d(y)); ![[e[1] = d(x), e[2] = d(y)]](prod/atlas/help/images/Mapping17.gif)
Frame declaration: Frame(E[j]); ![[E[1] = Diff(``,x), E[2] = Diff(``,y)]](prod/atlas/help/images/Mapping18.gif)
Declare abstract mapping between the sphere and the plane: Mapping(Phi,S^2,R^2); 

Declare definite mapping between the sphere and the plane: Mapping(phi,S^2,R^2, x=sin(theta)*cos(phi), y=sin(theta)*sin(phi)); 

Declare another definite mapping between the sphere and the plane: Mapping(psi,R^2,S^2, phi=arctan(y/x), theta=arcsin(sqrt(x^2+y^2))); 

Clarify "who is who". Who(Phi);
Phi: mapping
Who(phi);
phi: mapping
![TABLE([frame = {U[1] = cos(theta)*cos(phi)*E[1]+cos(theta)*sin(phi)*E[2], U[2] = -sin(theta)*sin(phi)*E[1]+sin(theta)*cos(phi)*E[2]}, coframe = {e[2] = cos(theta)*u[1]*sin(phi)+sin(theta)*cos(phi)*u[2]...](prod/atlas/help/images/Mapping39.gif)
Who(psi);
psi: mapping
![TABLE([frame = {E[1] = -(1-x^2-y^2)^(1/2)/(x^2+y^2)^(3/2)/(-1+x^2+y^2)*(-y*U[2]*(1-x^2-y^2)^(1/2)*(x^2+y^2)^(1/2)+x^3*U[1]+x*U[1]*y^2), E[2] = -(1-x^2-y^2)^(1/2)/(x^2+y^2)^(3/2)/(-1+x^2+y^2)*(x*U[2]*(1...](prod/atlas/help/images/Mapping46.gif)
Who(); ![PIECEWISE([{S^2, R^2}, Domains],[{phi, Phi, psi}, Mappings],[{X, Y, Z, E[i], U[j], V[k], e[j], u[k]}, Tensors],[{e[j], u[k]}, Forms],[{-I, Catalan, I, _Z, Pi}, Constants],[{}, Functions])](prod/atlas/help/images/Mapping47.gif)
One can calculate restriction of any [0,k] tensor field under a mapping (see atlas[&/] ): Restriction of exterior product d(phi)&^d(theta) under mapping psi: '(d(phi)&^d(theta))&/psi'=(d(phi)&^d(theta))&/psi; ![`&/`(`&^`(d(phi),d(theta)),psi) = (1-x^2-y^2)^(1/2)/(x^2+y^2)^(1/2)/(-1+x^2+y^2)*`&^`(e[1],e[2])](prod/atlas/help/images/Mapping48.gif)
Restriction of "rotation" 1-form under mapping psi: '(d(phi))&/psi'=(d(phi))&/psi; ![`&/`(d(phi),psi) = -1/(x^2+y^2)*y*e[1]+e[2]*x/(x^2+y^2)](prod/atlas/help/images/Mapping49.gif)
Restriction of "rotation" 1-form under mapping phi '(y*d(x)-x*d(y))&/phi'=(y*d(x)-x*d(y))&/phi; ![`&/`(y*d(x)-x*d(y),phi) = -sin(theta)^2*sin(phi)^2*u[2]-sin(theta)^2*cos(phi)^2*u[2]](prod/atlas/help/images/Mapping50.gif)
Restriction of exterior product d(x)&^d(y) under abstract mapping Phi: '(d(x)&^d(y))&/Phi'=(d(x)&^d(y))&/Phi; ![`&/`(`&^`(d(x),d(y)),Phi) = (Diff(x,theta)*Diff(y,phi)-Diff(x,phi)*Diff(y,theta))*`&^`(u[1],u[2])](prod/atlas/help/images/Mapping51.gif)
See Also: atlas , atlas[Domain] , atlas[`&/`] , atlas[Projectors] , atlas[Invariants] , atlas[Who] . |