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, the 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, the 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 is not equal to 3 or 0.
Examples:
The following declaration means that
are constants for any
.
![{`+`(`-`(I)), I, Pi, _Z, Catalan, h[i]}](Maple/atlas/help/images/indexing_3.gif) | (2.1) |
 | (2.2) |
 | (2.3) |
 | (2.4) |
![d(h[j]) = 0](Maple/atlas/help/images/indexing_7.gif) | (2.5) |
The following declaration means that
are constants:
| > | Constants(alpha[0],alpha[1/2],alpha[-1/2]); |
![{`+`(`-`(I)), I, Pi, _Z, Catalan, h[i], alpha[0], alpha[-`/`(1, 2)], alpha[`/`(1, 2)]}](Maple/atlas/help/images/indexing_9.gif) | (2.6) |
 | (2.7) |
| > | type(alpha[1/2],const); |
 | (2.8) |
| > | type(alpha[-1/2],const); |
 | (2.9) |
 | (2.10) |
 | (2.11) |
| > | 'd(alpha[j])'=d(alpha[j]); |
![d(alpha[j]) = d(alpha[j])](Maple/atlas/help/images/indexing_15.gif) | (2.12) |
| > | 'd(alpha[-1/2])'=d(alpha[-1/2]); |
![d(alpha[-`/`(1, 2)]) = 0](Maple/atlas/help/images/indexing_16.gif) | (2.13) |
The following declaration means that
for any
where n is the dimension.
| > | Functions(f[i]=f[i](y[k])); |
![{f[i]}](Maple/atlas/help/images/indexing_19.gif) | (2.14) |
 | (2.15) |
 | (2.16) |
 | (2.17) |
![d(f[j]) = Sum(`*`(Diff(f[j], y[l[1]]), `*`(d(y[l[1]]))), l[1] = 1 .. dim)](Maple/atlas/help/images/indexing_23.gif) | (2.18) |
The following declaration means that
for any
.
| > | Functions(h[i,j]=h[i,j](x,y,z)); |
![{f[i], h[i, j]}](Maple/atlas/help/images/indexing_26.gif) | (2.19) |
 | (2.20) |
 | (2.21) |
 | (2.22) |
![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))))](Maple/atlas/help/images/indexing_30.gif) | (2.23) |
The following declaration means that
where n is the dimension.
![{f, f[i], h[i, j]}](Maple/atlas/help/images/indexing_32.gif) | (2.24) |
 | (2.25) |
![d(f) = Sum(`*`(Diff(f, z[l[1]]), `*`(d(z[l[1]]))), l[1] = 1 .. dim)](Maple/atlas/help/images/indexing_34.gif) | (2.26) |
The following declaration means that
.
| > | Functions(F=F(z[0],z[3])); |
![{F, f, f[i], h[i, j]}](Maple/atlas/help/images/indexing_36.gif) | (2.27) |
 | (2.28) |
![d(F) = `+`(`*`(Diff(F, z[0]), `*`(d(z[0]))), `*`(Diff(F, z[3]), `*`(d(z[3]))))](Maple/atlas/help/images/indexing_38.gif) | (2.29) |
The following definition means that
where n is the dimension.
| > | Functions(G=G(z[0],x[j])); |
![{F, G, f, f[i], h[i, j]}](Maple/atlas/help/images/indexing_40.gif) | (2.30) |
![d(G) = `+`(`*`(Diff(G, z[0]), `*`(d(z[0]))), Sum(`*`(Diff(G, x[l[1]]), `*`(d(x[l[1]]))), l[1] = 1 .. dim))](Maple/atlas/help/images/indexing_41.gif) | (2.31) |
The following definition means that
are vectors for any k and
is a vector:
![{E[k], U[0]}](Maple/atlas/help/images/indexing_44.gif) | (2.32) |
 | (2.33) |
 | (2.34) |
 | (2.35) |
 | (2.36) |
 | (2.37) |
![iota[U[0]](d(x))](Maple/atlas/help/images/indexing_50.gif) | (2.38) |
| Error, (in atlas/iota2) U[3] is not a vector | |
The following definition means that
is 1-form for any j;
and
are 1-form and p-form respectively and
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]}](Maple/atlas/help/images/indexing_55.gif) | (2.39) |
![[0, 1]](Maple/atlas/help/images/indexing_56.gif) | (2.40) |
![[0, 1]](Maple/atlas/help/images/indexing_57.gif) | (2.41) |
![[0, 1]](Maple/atlas/help/images/indexing_58.gif) | (2.42) |
![[0, 0]](Maple/atlas/help/images/indexing_59.gif) | (2.43) |
![[0, 2]](Maple/atlas/help/images/indexing_60.gif) | (2.44) |
More complex example:
![{e[j], xi[i, 0, k], omega[1], omega[2], omega[i, j]}](Maple/atlas/help/images/indexing_61.gif) | (2.45) |
![[0, 3]](Maple/atlas/help/images/indexing_62.gif) | (2.46) |
![[0, 3]](Maple/atlas/help/images/indexing_63.gif) | (2.47) |
![[0, 3]](Maple/atlas/help/images/indexing_64.gif) | (2.48) |
![[0, 0]](Maple/atlas/help/images/indexing_65.gif) | (2.49) |
![[0, 0]](Maple/atlas/help/images/indexing_66.gif) | (2.50) |
See Also:
atlas.