atlas 2 for Maple

Atlas Documentation

Declaration operators

Calculation operators

Standard DG operators

Utility operators

General Tutorials

Atlas Wizard Tutorials

Licenses & Pricing

Dimension in the atlas package  

Description: 

  • In the atlas package the working dimension can be integer or symbolic. The corresponding variable is automatically assigned by atlas[Coframe] procedure.
 

  • If the dimension is not an integer then all calculations are performed in terms of Sum operator (see examples below).
 

Examples: 

> restart:
with(atlas):
 

Declare some functions:  

> Functions(f=f(y[k]),h=h(x[j]));
 

{f, h}(2.1)
 

Declare some vectors:  

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

{X, Y, Z, E[k]}(2.2)
 

Declare some forms: 

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

{xi, theta, e[j]}(2.3)
 

Declare coframe 1-forms: 

> Coframe(e[k],k=1..n);
 

{e[k]}[k = 1 .. n](2.4)
 

Declare frame vectors: 

> Frame(E[j]);
 

{E[j]}[j = 1 .. n](2.5)
 

Declare connection: 

> Connection(omega);
 

omega[i, j](2.6)
 

Using d-procedure: 

For functions:
'd(f*h)'=d(f*h); 

d(`*`(f, `*`(h))) = `+`(`*`(Sum(`*`(Diff(f, y[l[2]]), `*`(d(y[l[2]]))), l[2] = 1 .. n), `*`(h)), `*`(f, `*`(Sum(`*`(Diff(h, x[l[2]]), `*`(d(x[l[2]]))), l[2] = 1 .. n))))(2.7)
 

Obviously that:
'd(h*xi)'=d(h*xi); 

d(`*`(h, `*`(xi))) = `+`(`-`(Sum(`*`(Diff(h, x[l[2]]), `*`(`&^`(xi, d(x[l[2]])))), l[2] = 1 .. n)), `*`(h, `*`(d(xi))))(2.8)
 

Using ToBasis procedure: 

> X&.xi=ToBasis(X&.xi);
 

`&.`(X, xi) = Sum(`*`(iota[E[l[2]]](xi), `*`(Sum(`*`(iota[X](e[l[1]]), `*`(`&.`(E[l[1]], e[l[2]]))), l[1] = 1 .. n))), l[2] = 1 .. n)(2.9)
 

Using div-procedure: 

> div(X)=div(ToBasis(X));
 

div(X) = `+`(Sum(`*`(iota[X](e[l[1]]), `*`(Sum(iota[E[l[2]]](omega[l[2], l[1]]), l[2] = 1 .. n))), l[1] = 1 .. n), Sum(iota[E[l[1]]](d(iota[X](e[l[1]]))), l[1] = 1 .. n))(2.10)
 

Using Lie derivative: 

> 'L[E[i]](e[k])'=L[E[i]](e[k]);
 

L[E[i]](e[k]) = iota[E[i]](d(e[k]))(2.11)
 

> 'L[E[i]](E[j])'=L[E[i]](E[j]);
 

L[E[i]](E[j]) = Sum(`*`(`+`(iota[E[i]](omega[l[1], j]), `-`(iota[E[j]](omega[l[1], i]))), `*`(E[l[1]])), l[1] = 1 .. n)(2.12)
 

>
 

Declare constant lambda:
Constants(lambda); 

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

Let us declare another coframe 1-forms:
Coframe(e[j]=d(x[j])/(1+lambda*Sum(x[i]^2,i=1..N)),j=1..N);
 

Warning, You have to restart the Coframe procedure and then Frame procedure!
 

> Coframe(e[j]=d(x[j])/(1+lambda*Sum(x[i]^2,i=1..N)),j=1..N);
 

{e[j] = `/`(`*`(d(x[j])), `*`(`+`(1, `*`(lambda, `*`(Sum(`*`(`^`(x[i], 2)), i = 1 .. N))))))}[j = 1 .. N](2.14)
 

And another frame vectors:
Frame(E[k]); 

{E[k]}[k = 1 .. N](2.15)
 

> 'd(e[k])'=normal(d(e[k]));
 

d(e[k]) = `+`(`-`(`*`(2, `*`(lambda, `*`(Sum(`*`(x[i], `*`(`&^`(e[i], e[k]))), i = 1 .. N))))))(2.16)
 

> 'd(x[j])'=d(x[j]);
 

d(x[j]) = `+`(e[j], `*`(e[j], `*`(lambda, `*`(Sum(`*`(`^`(x[i], 2)), i = 1 .. N)))))(2.17)
 

> 'd(h)'=d(h);
 

d(h) = Sum(`*`(Diff(h, x[l[1]]), `*`(`+`(e[l[1]], `*`(e[l[1]], `*`(lambda, `*`(Sum(`*`(`^`(x[i], 2)), i = 1 .. N))))))), l[1] = 1 .. N)(2.18)
 

> Functions(F=F(f,h));
 

{F, f, h}(2.19)
 

> 'd(F)'=d(F);
 

d(F) = `+`(`*`(Diff(F, f), `*`(Sum(`*`(Diff(f, y[l[1]]), `*`(d(y[l[1]]))), l[1] = 1 .. N))), `*`(Diff(F, h), `*`(Sum(`*`(Diff(h, x[l[1]]), `*`(`+`(e[l[1]], `*`(e[l[1]], `*`(lambda, `*`(Sum(`*`(`^`(x[i...
d(F) = `+`(`*`(Diff(F, f), `*`(Sum(`*`(Diff(f, y[l[1]]), `*`(d(y[l[1]]))), l[1] = 1 .. N))), `*`(Diff(F, h), `*`(Sum(`*`(Diff(h, x[l[1]]), `*`(`+`(e[l[1]], `*`(e[l[1]], `*`(lambda, `*`(Sum(`*`(`^`(x[i...
(2.20)
 

>
 

See Also:  

atlas, atlas[Coframe], atlas[Frame], atlas[Connection].