atlas 2 for Maple

atlas package Overview

Declaration operators

Calculation operators

Standard DG operators

Utility operators

Features List & Examples

atlasWizard - Maplet™

Template Worksheets

Licenses & Pricing

atlas[Riemann] - calculation of Riemannian tensor
 

atlas[Ricci] - calculation of Ricci tensor
 

atlas[RicciScalar] - calculation of Ricci scalar 

Calling Sequence: 

    Riemann(Id)
    Ricci(Id)
    RicciScalar(Id)
 

Parameters: 

    Id - variable - corresponding identifier 

Description: 

  • The Riemann procedure allows one to calculate the curvature tensor. The procedure is only available if the curvature 2-forms have been calculated (see atlas[Curvature]).
 

  • The Ricci procedure allows one to calculate the Ricci tensor. The procedure is only available if the curvature 2-forms (see atlas[Curvature]) have been calculated.
 

  • The RicciScalar procedure allows one to calculate the Ricci scalar. The procedure is only available if the metric tensor is definite (see atlas[Metric]) and the Ricci tensor has been calculated.
 

Examples: 

3-dimensional sphere  

> restart:
with(atlas):
 

Declare forms: 

> Forms(e[j]=1,xi=1);
 

{xi, e[j]}(2.1.1)
 

Declare vectors: 

> Vectors(X,Y,Z,E[j]);
 

{X, Y, Z, E[j]}(2.1.2)
 

Declare constant lambda:
Constants(lambda); 

{`+`(`-`(I)), I, Pi, _Z, Catalan, lambda}(2.1.3)
 

Declare coframe:
Coframe(e[1]=2*d(x)/(1+lambda*(x^2+y^2+z^2)),e[2]=2*d(y)/(1+lambda*(x^2+y^2+z^2)),e[3]=2*d(z)/(1+lambda*(x^2+y^2+z^2))); 

[e[1] = `+`(`/`(`*`(2, `*`(d(x))), `*`(`+`(1, `*`(lambda, `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)), `*`(`^`(z, 2))))))))), e[2] = `+`(`/`(`*`(2, `*`(d(y))), `*`(`+`(1, `*`(lambda, `*`(`+`(`*`(`^`(x, 2))...
[e[1] = `+`(`/`(`*`(2, `*`(d(x))), `*`(`+`(1, `*`(lambda, `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)), `*`(`^`(z, 2))))))))), e[2] = `+`(`/`(`*`(2, `*`(d(y))), `*`(`+`(1, `*`(lambda, `*`(`+`(`*`(`^`(x, 2))...
(2.1.4)
 

Declare frame:
Frame(E[i]); 

[E[1] = `*`(`+`(`/`(1, 2), `*`(`/`(1, 2), `*`(lambda, `*`(`^`(x, 2)))), `*`(`/`(1, 2), `*`(lambda, `*`(`^`(y, 2)))), `*`(`/`(1, 2), `*`(lambda, `*`(`^`(z, 2))))), `*`(Diff(``, x))), E[2] = `*`(`+`(`/`...
[E[1] = `*`(`+`(`/`(1, 2), `*`(`/`(1, 2), `*`(lambda, `*`(`^`(x, 2)))), `*`(`/`(1, 2), `*`(lambda, `*`(`^`(y, 2)))), `*`(`/`(1, 2), `*`(lambda, `*`(`^`(z, 2))))), `*`(Diff(``, x))), E[2] = `*`(`+`(`/`...
[E[1] = `*`(`+`(`/`(1, 2), `*`(`/`(1, 2), `*`(lambda, `*`(`^`(x, 2)))), `*`(`/`(1, 2), `*`(lambda, `*`(`^`(y, 2)))), `*`(`/`(1, 2), `*`(lambda, `*`(`^`(z, 2))))), `*`(Diff(``, x))), E[2] = `*`(`+`(`/`...
(2.1.5)
 

> d(x);
 

`+`(`*`(`/`(1, 2), `*`(e[1])), `*`(`/`(1, 2), `*`(e[1], `*`(lambda, `*`(`^`(x, 2))))), `*`(`/`(1, 2), `*`(e[1], `*`(lambda, `*`(`^`(y, 2))))), `*`(`/`(1, 2), `*`(e[1], `*`(lambda, `*`(`^`(z, 2))))))(2.1.6)
 

Declare metric on  `*`(`^`(S, 3)) (see atlas[Metric]):
Metric(g=e[1]&.e[1]+e[2]&.e[2]+e[3]&.e[3]); 

g = `+`(`&.`(e[1], e[1]), `&.`(e[2], e[2]), `&.`(e[3], e[3]))(2.1.7)
 

Connection calculation: 

> Connection(omega);
 

omega[i, j](2.1.8)
 

Curvature calculation: 

> Curvature(Omega);
 

Omega[i, j](2.1.9)
 

Riemannian tensor calculation: 

> Riemann(R);
 

R = `+`(`*`(lambda, `*`(`&.`(`&^`(e[1], e[2]), `&^`(e[1], e[2])))), `*`(lambda, `*`(`&.`(`&^`(e[1], e[3]), `&^`(e[1], e[3])))), `*`(lambda, `*`(`&.`(`&^`(e[2], e[3]), `&^`(e[2], e[3])))))
R = `+`(`*`(lambda, `*`(`&.`(`&^`(e[1], e[2]), `&^`(e[1], e[2])))), `*`(lambda, `*`(`&.`(`&^`(e[1], e[3]), `&^`(e[1], e[3])))), `*`(lambda, `*`(`&.`(`&^`(e[2], e[3]), `&^`(e[2], e[3])))))
R = `+`(`*`(lambda, `*`(`&.`(`&^`(e[1], e[2]), `&^`(e[1], e[2])))), `*`(lambda, `*`(`&.`(`&^`(e[1], e[3]), `&^`(e[1], e[3])))), `*`(lambda, `*`(`&.`(`&^`(e[2], e[3]), `&^`(e[2], e[3])))))
(2.1.10)
 

Ricci tensor calculation: 

> Ricci(r);
 

r = `+`(`*`(2, `*`(lambda, `*`(`&.`(e[1], e[1])))), `*`(2, `*`(lambda, `*`(`&.`(e[2], e[2])))), `*`(2, `*`(lambda, `*`(`&.`(e[3], e[3])))))(2.1.11)
 

Ricci scalar calculation: 

> RicciScalar(s);
 

s = `+`(`*`(6, `*`(lambda)))(2.1.12)
 

Example 2 

> restart:
with(atlas):
 

Declare forms: 

> Forms(e[j]=1,xi=1);
 

{xi, e[j]}(2.2.1)
 

Declare vectors: 

> Vectors(X,Y,Z,E[j]);
 

{X, Y, Z, E[j]}(2.2.2)
 

Declare coframe:
Coframe(e[1]=x*d(x)+y*d(y),e[2]=x*d(y)-y*d(x)); 

[e[1] = `+`(`*`(x, `*`(d(x))), `*`(y, `*`(d(y)))), e[2] = `+`(`*`(x, `*`(d(y))), `-`(`*`(y, `*`(d(x)))))](2.2.3)
 

Declare frame:
Frame(E[i]); 

[E[1] = `+`(`/`(`*`(x, `*`(Diff(``, x))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `/`(`*`(y, `*`(Diff(``, y))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), E[2] = `+`(`-`(`/`(`*`(y, `*`(Diff(``, x)...(2.2.4)
 

Connection definition: 

> omega[1,1]:=x*e[1];
 

`*`(e[1], `*`(x))(2.2.5)
 

> omega[2,2]:=y*e[2];
 

`*`(y, `*`(e[2]))(2.2.6)
 

> omega[1,2]:=y*e[1];
 

`*`(y, `*`(e[1]))(2.2.7)
 

> omega[2,1]:=-x*e[2];
 

`+`(`-`(`*`(x, `*`(e[2]))))(2.2.8)
 

Connection declaration: 

> Connection(omega);
 

omega[i, j](2.2.9)
 

Curvature calculation:
Curvature(Omega); 

Omega[i, j](2.2.10)
 

> Riemann(R);
 

R = `+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(`&.`(E[1], e[1], `&^`(e[1], e[2])))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(`/`(1, 2)...
R = `+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(`&.`(E[1], e[1], `&^`(e[1], e[2])))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(`/`(1, 2)...
R = `+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(`&.`(E[1], e[1], `&^`(e[1], e[2])))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(`/`(1, 2)...
R = `+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(`&.`(E[1], e[1], `&^`(e[1], e[2])))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(`/`(1, 2)...
(2.2.11)
 

Ricci calculation:
Ricci(r); 

r = `+`(`-`(`/`(`*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(`&.`(e[1], e[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `-`(`/`(`*`(x, `*`(`+`(`-`(3), `*`(`^`(x, 3)), `*`(...
r = `+`(`-`(`/`(`*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(`&.`(e[1], e[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `-`(`/`(`*`(x, `*`(`+`(`-`(3), `*`(`^`(x, 3)), `*`(...
r = `+`(`-`(`/`(`*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(`&.`(e[1], e[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `-`(`/`(`*`(x, `*`(`+`(`-`(3), `*`(`^`(x, 3)), `*`(...
r = `+`(`-`(`/`(`*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(`&.`(e[1], e[2])))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `-`(`/`(`*`(x, `*`(`+`(`-`(3), `*`(`^`(x, 3)), `*`(...
(2.2.12)
 

> RicciScalar(s);
 

Warning, There is no actual metric tensor
 

>
 

See Also:  

atlas, atlas[Connection], atlas[Curvature], atlas[Metric].