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™

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

{h, f}

Declare some vectors:
Vectors(E[k],X,Y,Z);

{E[k], X, Y, Z}

Declare some forms:
Forms(e[j]=1,xi=1,theta=p);

{theta, e[j], xi}

Declare coframe 1-forms:
Coframe(e[k],k=1..n);

{e[k]}[k = 1 .. n]

Declare frame vectors:
Frame(E[j]);

{E[j]}[j = 1 .. n]

Declare connection:
Connection(omega);

omega[i,j]

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)

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

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

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)

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)

Using Lie derivative:
'L[E[i]](e[k])'=L[E[i]](e[k]);

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

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

Declare constant lambda :
Constants(lambda);

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

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]

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

{E[k]}[k = 1 .. N]

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

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

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

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

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

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

{F, h, f}

'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]^2,i = 1 .. N)),l[1] = 1 .. N)

See Also:

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