atlas 2 for Maple

Atlas Documentation

Declaration operators

Calculation operators

Standard DG operators

Utility operators

General Tutorials

Atlas Wizard Tutorials

Licenses & Pricing

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 allows one to declare a mapping between manifolds (or its domains). Once a mapping is defined, the user can calculate the pullback 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: proc (M) options operator, arrow; N end proc.
 

  • Mapping(F, M, N, y1=f1(x1,x2...xm), y2=f2(x1,x2...xm), ..., yn=fn(x1,x2...xm)) - declares a mapping between manifolds such that: F: proc (M) options operator, arrow; N end proc. The mapping defined by functions:



    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.
 

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]}(2.1)
 

Declare vectors: 

> Vectors(E[i],U[j],X,Y,Z,V[k]);
 

{X, Y, Z, E[i], U[j], V[k]}(2.2)
 

Declare domain `*`(`^`(S, 2)) (sphere):  

> Domain(S^2);
 

`*`(`^`(S, 2))(2.3)
 

Declare coframe on `*`(`^`(S, 2)):  

> Coframe(u[1]=d(theta),u[2]=d(phi));
 

[u[1] = d(theta), u[2] = d(phi)](2.4)
 

Declare frame  

> Frame(U[j]);
 

[U[1] = Diff(``, theta), U[2] = Diff(``, phi)](2.5)
 

Declare domain `*`(`^`(R, 2)) (plane): 

> Domain(R^2);
 

`*`(`^`(R, 2))(2.6)
 

Declare coframe on `*`(`^`(R, 2)):  

> Coframe(e[1]=d(x),e[2]=d(y));
 

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

Frame declaration: 

> Frame(E[j]);
 

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

Declare abstract mapping between the sphere and the plane: 

> Mapping(Phi,S^2,R^2);
 

 

Phi
`.`(`*`(`^`(S, 2)), `--->`, `*`(`^`(R, 2)))(2.9)
 

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

 

phi
`.`(`*`(`^`(S, 2)), `--->`, `*`(`^`(R, 2)))(2.10)
 

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

 

psi
`.`(`*`(`^`(R, 2)), `--->`, `*`(`^`(S, 2)))(2.11)
 

Clarify "who is who". 

> Who(Phi);
 

 

Phi: mapping
table( [( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = [Diff(``, phi) = `+`(`*`(Diff(x, phi), `*`(Diff(``, x))), `*`(Diff(y, phi), `*`(Diff(``, y)))), Diff(``, theta) = `+`(`*`(Diff(x...
table( [( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = [Diff(``, phi) = `+`(`*`(Diff(x, phi), `*`(Diff(``, x))), `*`(Diff(y, phi), `*`(Diff(``, y)))), Diff(``, theta) = `+`(`*`(Diff(x...
table( [( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = [Diff(``, phi) = `+`(`*`(Diff(x, phi), `*`(Diff(``, x))), `*`(Diff(y, phi), `*`(Diff(``, y)))), Diff(``, theta) = `+`(`*`(Diff(x...
table( [( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = [Diff(``, phi) = `+`(`*`(Diff(x, phi), `*`(Diff(``, x))), `*`(Diff(y, phi), `*`(Diff(``, y)))), Diff(``, theta) = `+`(`*`(Diff(x...
table( [( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = [Diff(``, phi) = `+`(`*`(Diff(x, phi), `*`(Diff(``, x))), `*`(Diff(y, phi), `*`(Diff(``, y)))), Diff(``, theta) = `+`(`*`(Diff(x...
table( [( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = [Diff(``, phi) = `+`(`*`(Diff(x, phi), `*`(Diff(``, x))), `*`(Diff(y, phi), `*`(Diff(``, y)))), Diff(``, theta) = `+`(`*`(Diff(x...
table( [( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = [Diff(``, phi) = `+`(`*`(Diff(x, phi), `*`(Diff(``, x))), `*`(Diff(y, phi), `*`(Diff(``, y)))), Diff(``, theta) = `+`(`*`(Diff(x...
(2.12)
 

> Who(phi);
 

 

phi: mapping
table( [( equations ) = [x = `*`(sin(theta), `*`(cos(phi))), y = `*`(sin(theta), `*`(sin(phi)))], ( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = {Diff(``, phi) = `+`(`-`(`*`(sin(theta...
table( [( equations ) = [x = `*`(sin(theta), `*`(cos(phi))), y = `*`(sin(theta), `*`(sin(phi)))], ( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = {Diff(``, phi) = `+`(`-`(`*`(sin(theta...
table( [( equations ) = [x = `*`(sin(theta), `*`(cos(phi))), y = `*`(sin(theta), `*`(sin(phi)))], ( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = {Diff(``, phi) = `+`(`-`(`*`(sin(theta...
table( [( equations ) = [x = `*`(sin(theta), `*`(cos(phi))), y = `*`(sin(theta), `*`(sin(phi)))], ( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = {Diff(``, phi) = `+`(`-`(`*`(sin(theta...
table( [( equations ) = [x = `*`(sin(theta), `*`(cos(phi))), y = `*`(sin(theta), `*`(sin(phi)))], ( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = {Diff(``, phi) = `+`(`-`(`*`(sin(theta...
table( [( equations ) = [x = `*`(sin(theta), `*`(cos(phi))), y = `*`(sin(theta), `*`(sin(phi)))], ( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = {Diff(``, phi) = `+`(`-`(`*`(sin(theta...
table( [( equations ) = [x = `*`(sin(theta), `*`(cos(phi))), y = `*`(sin(theta), `*`(sin(phi)))], ( manifolds ) = [`*`(`^`(S, 2)), `*`(`^`(R, 2))], ( natural ) = {Diff(``, phi) = `+`(`-`(`*`(sin(theta...
(2.13)
 

> Who(psi);
 

 

psi: mapping
table( [( equations ) = [phi = arctan(`/`(`*`(y), `*`(x))), theta = arcsin(`*`(`^`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))), `/`(1, 2))))], ( manifolds ) = [`*`(`^`(R, 2)), `*`(`^`(S, 2))], ( natural ) = {...
table( [( equations ) = [phi = arctan(`/`(`*`(y), `*`(x))), theta = arcsin(`*`(`^`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))), `/`(1, 2))))], ( manifolds ) = [`*`(`^`(R, 2)), `*`(`^`(S, 2))], ( natural ) = {...
table( [( equations ) = [phi = arctan(`/`(`*`(y), `*`(x))), theta = arcsin(`*`(`^`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))), `/`(1, 2))))], ( manifolds ) = [`*`(`^`(R, 2)), `*`(`^`(S, 2))], ( natural ) = {...
table( [( equations ) = [phi = arctan(`/`(`*`(y), `*`(x))), theta = arcsin(`*`(`^`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))), `/`(1, 2))))], ( manifolds ) = [`*`(`^`(R, 2)), `*`(`^`(S, 2))], ( natural ) = {...
table( [( equations ) = [phi = arctan(`/`(`*`(y), `*`(x))), theta = arcsin(`*`(`^`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))), `/`(1, 2))))], ( manifolds ) = [`*`(`^`(R, 2)), `*`(`^`(S, 2))], ( natural ) = {...
table( [( equations ) = [phi = arctan(`/`(`*`(y), `*`(x))), theta = arcsin(`*`(`^`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))), `/`(1, 2))))], ( manifolds ) = [`*`(`^`(R, 2)), `*`(`^`(S, 2))], ( natural ) = {...
(2.14)
 

> Who();
 

piecewise(Domains, {`*`(`^`(R, 2)), `*`(`^`(S, 2))}, Mappings, {Phi, phi, psi}, Tensors, {X, Y, Z, E[i], U[j], V[k], e[j], u[k]}, Forms, {e[j], u[k]}, Constants, {`+`(`-`(I)), I, Pi, _Z, Catalan}, Fun...(2.15)
 

One can calculate pullback of any [0,k] tensor field under a mapping (see atlas[&/]): 

pullback 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)), `*`(`&^`(e[1], e[2]))), `*`(`^`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))), `/`(1, 2)), `*`(`+`(`...(2.16)
 

pullback of "rotation" 1-form under mapping psi:
'(d(phi))&/psi'=(d(phi))&/psi; 

`&/`(d(phi), psi) = `+`(`-`(`/`(`*`(y, `*`(e[1])), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(e[2], `*`(x)), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))))(2.17)
 

pullback 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), `*`(`^`(cos(phi), 2), `*`(u[2])))), `-`(`*`(`^`(sin(theta), 2), `*`(`^`(sin(phi), 2), `*`(u[2])))))(2.18)
 

pullback 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, phi), `*`(Diff(y, theta)))), `*`(Diff(x, theta), `*`(Diff(y, phi)))), `*`(`&^`(u[1], u[2])))
`&/`(`&^`(d(x), d(y)), Phi) = `*`(`+`(`-`(`*`(Diff(x, phi), `*`(Diff(y, theta)))), `*`(Diff(x, theta), `*`(Diff(y, phi)))), `*`(`&^`(u[1], u[2])))
(2.19)
 

>
 

See Also:  

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