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™

Define manifold as a whole

Copyright © 2004-2008  DigiArea Group . All rights reserved.

Description:

This worksheet illustrates how to define a manifold  as a whole using atlas  package. To do this we use 3-sphere as an example.

3-dimensional sphere is defined as an atlas {N, S} = S^3 of two charts - north (N)  and south (S). Each chart has its own coframe 1-forms, frame vectors etc.

One can use mapping procedure to define chart changings and restriction operator  to transfer forms and tensors from one chart into another.  

Sphere:

restart:
with(atlas):

Constants declaration:
Constants(lambda);

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

Forms declaration:
Forms(e[j]=1,u[k]=1);

{e[j], u[k]}

Vectors declaration:
Vectors(E[i],U[j],X,Y,Z);

{X, Y, Z, E[i], U[j]}

Sphere dimension:
n:=3;

n := 3

North chart of the sphere - N.

Domain(N);

N

Coframe for the north chart:
Coframe(e[i]=d(x[i]),i=1..n);

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

Frame for the north chart:
Frame(E[j]);

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

Metric for the north chart:
Metric(g[N]=add(4*d(x[i])&.d(x[i])/(1+lambda*add(x[j]^2,j=1..n))^2,i=1..n));

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

Connection calculation for the north chart:
Connection(omega[N]);

omega[N][i,j]

Curvature calculation for the north chart:
Curvature(Omega[N]);

Omega[N][i,j]

Riemanninan tensor calculation:
Riemann(R[N]);

R[N] = 16/(1+lambda*x[1]^2+lambda*x[2]^2+lambda*x[3]^2)^4*lambda*`&.`(`&^`(e[1],e[2]),`&^`(e[1],e[2]))+16/(1+lambda*x[1]^2+lambda*x[2]^2+lambda*x[3]^2)^4*lambda*`&.`(`&^`(e[1],e[3]),`&^`(e[1],e[3]))+16...
R[N] = 16/(1+lambda*x[1]^2+lambda*x[2]^2+lambda*x[3]^2)^4*lambda*`&.`(`&^`(e[1],e[2]),`&^`(e[1],e[2]))+16/(1+lambda*x[1]^2+lambda*x[2]^2+lambda*x[3]^2)^4*lambda*`&.`(`&^`(e[1],e[3]),`&^`(e[1],e[3]))+16...

Ricci tensor calculation:
Ricci(r[N]);

r[N] = 8*lambda/(1+lambda*x[1]^2+lambda*x[2]^2+lambda*x[3]^2)^2*`&.`(e[1],e[1])+8*lambda/(1+lambda*x[1]^2+lambda*x[2]^2+lambda*x[3]^2)^2*`&.`(e[2],e[2])+8*lambda/(1+lambda*x[1]^2+lambda*x[2]^2+lambda*x...

Ricci scalar calculation:
RicciScalar(s[N]);

s[N] = 6*lambda

South chart of the sphere - S.

Domain(S);

S

Coframe declaration for the south chart:
Coframe(u[i]=d(y[i]),i=1..n);

[u[1] = d(y[1]), u[2] = d(y[2]), u[3] = d(y[3])]

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

[U[1] = Diff(``,y[1]), U[2] = Diff(``,y[2]), U[3] = Diff(``,y[3])]

Metric declaration for the south chart:
Metric(g[S]=add(4*d(y[i])&.d(y[i])/(1+lambda*add(y[j]^2,j=1..n))^2,i=1..n));

g[S] = 4*`&.`(u[1],u[1])/(1+lambda*(y[1]^2+y[2]^2+y[3]^2))^2+4*`&.`(u[2],u[2])/(1+lambda*(y[1]^2+y[2]^2+y[3]^2))^2+4*`&.`(u[3],u[3])/(1+lambda*(y[1]^2+y[2]^2+y[3]^2))^2

Connection calculation for the south chart:
Connection(omega[S]);

omega[S][i,j]

Curvature calculation for the south chart:
Curvature(Omega[S]);

Omega[S][i,j]

Riemannian tensor calculation for the south chart:
Riemann(R[S]);

R[S] = 16/(1+lambda*y[1]^2+lambda*y[2]^2+lambda*y[3]^2)^4*lambda*`&.`(`&^`(u[1],u[2]),`&^`(u[1],u[2]))+16/(1+lambda*y[1]^2+lambda*y[2]^2+lambda*y[3]^2)^4*lambda*`&.`(`&^`(u[1],u[3]),`&^`(u[1],u[3]))+16...
R[S] = 16/(1+lambda*y[1]^2+lambda*y[2]^2+lambda*y[3]^2)^4*lambda*`&.`(`&^`(u[1],u[2]),`&^`(u[1],u[2]))+16/(1+lambda*y[1]^2+lambda*y[2]^2+lambda*y[3]^2)^4*lambda*`&.`(`&^`(u[1],u[3]),`&^`(u[1],u[3]))+16...

Ricci tensor calculation for the south chart:
Ricci(r[S]);

r[S] = 8*lambda/(1+lambda*y[1]^2+lambda*y[2]^2+lambda*y[3]^2)^2*`&.`(u[1],u[1])+8*lambda/(1+lambda*y[1]^2+lambda*y[2]^2+lambda*y[3]^2)^2*`&.`(u[2],u[2])+8*lambda/(1+lambda*y[1]^2+lambda*y[2]^2+lambda*y...

Ricci scalar calculation for the south chart:
RicciScalar(s[S]);

s[S] = 6*lambda

Chart changings - phi  and psi

Chart changing phi  from S to N: x[i] = y[i]/(lambda*Sum(y[j]^2,j = 1 .. n)), i = 1 .. n .

Mapping(phi,S,N,seq(x[i]=y[i]/lambda/add(y[j]^2,j=1..n),i=1..n));

phi

S.`--->`.N

Chart changing psi  from N to S: y[i] = x[i]/(lambda*Sum(x[j]^2,j = 1 .. n)), i = 1 .. n .

Mapping(psi,N,S,seq(y[i]=x[i]/lambda/add(x[j]^2,j=1..n),i=1..n));

psi

N.`--->`.S

Verify calculation of Riemannian and Ricci tensor using restriction operator `&/`:

R[S] - (R[N] &/ phi);

0

r[S] - (r[N] &/ phi);

0

R[N] - (R[S] &/ psi);

0

r[N] - (r[S] &/ psi);

0

For metric tensors we have:

g[S] = g[N] &/ phi;

g[S] = 4/(1+lambda*y[1]^2+lambda*y[2]^2+lambda*y[3]^2)^2*`&.`(u[2],u[2])+4/(1+lambda*y[1]^2+lambda*y[2]^2+lambda*y[3]^2)^2*`&.`(u[1],u[1])+4/(1+lambda*y[1]^2+lambda*y[2]^2+lambda*y[3]^2)^2*`&.`(u[3],u[...

g[N] = g[S] &/ psi;

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

Let us see who is who:
Who();

PIECEWISE([{S, N}, Domains],[{phi, psi}, Mappings],[{g[N], g[S], omega[N][i,j], omega[S][i,j], Omega[N][i,j], Omega[S][i,j], X, Y, Z, e[j], u[k], E[i], U[j]}, Tensors],[{e[j], u[k]}, Forms],[{Catalan, ...