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™

Indexing facilities in the atlas package

Description:

  • Any object in the atlas  package can be indexed. The following rules are used to provide the indexing facilities.
  • Any declaration of an object with symbolic indexes means that the indexes can be of any type. For instance declaration Constants(c[i])  means that c[i] is constant for any i.  
  • Any declaration of an object with numeric indexes means that the indexes can be only the same as has been declared. For instance declaration Forms(xi[3]=1, xi[0]=n)  means that xi[3] is 1-form, xi[0] is n-form and xi[i] is 0-form if i not equal to 3 or 0.  

Examples:
restart:
with(atlas):

The following declaration means that h[i]are constants for any i.
Constants(h[i]);

{I, Catalan, _Z, Pi, -I, h[i]}

type(h[k],const);

true

type(h[3],const);

true

type(h[-1/2],const);

true

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

d(h[j]) = 0

The following declaration means that alpha[-1/2], alpha[0], alpha[1/2]  are constants:
Constants(alpha[0],alpha[1/2],alpha[-1/2]);

{I, Catalan, _Z, Pi, alpha[0], alpha[1/2], alpha[-1/2], -I, h[i]}

type(alpha[0],const);

true

type(alpha[1/2],const);

true

type(alpha[-1/2],const);

true

type(alpha[2],const);

false

type(alpha[k],const);

false

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

d(alpha[j]) = d(alpha[j])

'd(alpha[-1/2])'=d(alpha[-1/2]);

d(alpha[-1/2]) = 0

The following declaration means that f[i] = f[i](y[1],y[2],`` .. ``,y[n])  for any i  where n is the dimension.
Functions(f[i]=f[i](y[k]));

{f[i]}

type(f[k],func);

true

type(f[0],func);

true

type(f[-1],func);

true

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

d(f[j]) = Sum(Diff(f[j],y[l[1]])*d(y[l[1]]),l[1] = 1 .. dim)

The following declaration means that h[i,j] = h[i,j](x,y,z)  for any i, j  .
Functions(h[i,j]=h[i,j](x,y,z));

{f[i], h[i,j]}

type(h[m,k],func);

true

type(h[0,-1],func);

true

type(h[-1,i],func);

true

'd(h[k,0])'=d(h[k,0]);

d(h[k,0]) = Diff(h[k,0],x)*d(x)+Diff(h[k,0],y)*d(y)+Diff(h[k,0],z)*d(z)

The following declaration means that f = f(z[1],z[2],`` .. ``,z[n])  where n is the dimension.
Functions(f=f(z[k]));

{f[i], h[i,j], f}

type(f,func);

true

'd(f)'=d(f);

d(f) = Sum(Diff(f,z[l[1]])*d(z[l[1]]),l[1] = 1 .. dim)

The following declaration means that F = F(z[0],z[3]) .
Functions(F=F(z[0],z[3]));

{f[i], h[i,j], F, f}

type(F,func);

true

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

d(F) = Diff(F,z[0])*d(z[0])+Diff(F,z[3])*d(z[3])

The following definition means that G = G(z[0],x[1],x[2],`` .. ``,x[n])  where n is the dimension.
Functions(G=G(z[0],x[j]));

{f[i], h[i,j], F, G, f}

'd(G)'=d(G);

d(G) = Diff(G,z[0])*d(z[0])+Sum(Diff(G,x[l[1]])*d(x[l[1]]),l[1] = 1 .. dim)

The following definition means that E[k]  are vectors for any k and U[0]  is a vector:
Vectors(E[k],U[0]);

{E[k], U[0]}

type(E[i],vect);

true

type(E[-3],vect);

true

type(U[0],vect);

true

type(U[1],vect);

false

type(U[i],vect);

false

iota[U[0]](d(x));

iota[U[0]](d(x))

iota[U[3]](d(x));


Error, (in atlas/iota2) U[3] is not a vector



The following definition means that e[j]  is 1-form for any j; omega[1]  and omega[2]  are 1-form and p-form respectively and omega[i,j]  are 2-forms for any i, j.
Forms(e[j]=1,omega[1]=1,omega[2]=p,omega[i,j]=2);

{e[j], omega[1], omega[2], omega[i,j]}

kind(e[b]);

[0, 1]

kind(e[6]);

[0, 1]

kind(omega[1]);

[0, 1]

kind(omega[3]);

[0, 0]

kind(omega[1,k]);

[0, 2]

More complex example:
Forms(xi[i,0,k]=3);

{e[j], omega[1], omega[2], omega[i,j], xi[i,0,k]}

kind(xi[a,0,b]);

[0, 3]

kind(xi[1,0,-1/2]);

[0, 3]

kind(xi[i,0,k]);

[0, 3]

kind(xi[i,1,k]);

[0, 0]

kind(xi[i,j,k]);

[0, 0]

See Also:

atlas .