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 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); 
Forms declaration: Forms(e[j]=1,u[k]=1); ![{e[j], u[k]}](prod/atlas/examples/images/sphere33.gif)
Vectors declaration: Vectors(E[i],U[j],X,Y,Z); ![{X, Y, Z, E[i], U[j]}](prod/atlas/examples/images/sphere34.gif)
Sphere dimension: n:=3; 
North chart of the sphere - N. Domain(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])]](prod/atlas/examples/images/sphere37.gif)
Frame for the north chart: Frame(E[j]); ![[E[1] = Diff(``,x[1]), E[2] = Diff(``,x[2]), E[3] = Diff(``,x[3])]](prod/atlas/examples/images/sphere38.gif)
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](prod/atlas/examples/images/sphere39.gif)
Connection calculation for the north chart: Connection(omega[N]); ![omega[N][i,j]](prod/atlas/examples/images/sphere310.gif)
Curvature calculation for the north chart: Curvature(Omega[N]); ![Omega[N][i,j]](prod/atlas/examples/images/sphere311.gif)
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...](prod/atlas/examples/images/sphere313.gif)
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...](prod/atlas/examples/images/sphere314.gif)
Ricci scalar calculation: RicciScalar(s[N]); ![s[N] = 6*lambda](prod/atlas/examples/images/sphere315.gif)
South chart of the sphere - S. Domain(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])]](prod/atlas/examples/images/sphere317.gif)
Frame declaration for the south chart: Frame(U[k]); ![[U[1] = Diff(``,y[1]), U[2] = Diff(``,y[2]), U[3] = Diff(``,y[3])]](prod/atlas/examples/images/sphere318.gif)
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](prod/atlas/examples/images/sphere319.gif)
Connection calculation for the south chart: Connection(omega[S]); ![omega[S][i,j]](prod/atlas/examples/images/sphere320.gif)
Curvature calculation for the south chart: Curvature(Omega[S]); ![Omega[S][i,j]](prod/atlas/examples/images/sphere321.gif)
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...](prod/atlas/examples/images/sphere323.gif)
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...](prod/atlas/examples/images/sphere324.gif)
Ricci scalar calculation for the south chart: RicciScalar(s[S]); ![s[S] = 6*lambda](prod/atlas/examples/images/sphere325.gif)
Chart changings - and  Chart changing from S to N: . Mapping(phi,S,N,seq(x[i]=y[i]/lambda/add(y[j]^2,j=1..n),i=1..n)); 

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

Verify calculation of Riemannian and Ricci tensor using restriction operator `&/`: R[S] - (R[N] &/ phi); 
r[S] - (r[N] &/ phi); 
R[N] - (R[S] &/ psi); 
r[N] - (r[S] &/ psi); 
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[...](prod/atlas/examples/images/sphere340.gif)
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[...](prod/atlas/examples/images/sphere341.gif)
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, ...](prod/atlas/examples/images/sphere342.gif)
|