Abstract calculations with symbolic dimension
 | (2.1.1) |
Declare some functions:
| > | Functions(f=f(y[k]),h=h(x[j])); |
 | (2.1.2) |
Declare some vectors:
![{X, Y, Z, E[k]}](Maple/atlas/examples/images/abstract_8.gif) | (2.1.3) |
Declare some forms:
| > | Forms(e[j]=1,xi=1,theta=p); |
![{xi, theta, e[j]}](Maple/atlas/examples/images/abstract_9.gif) | (2.1.4) |
Declare coframe 1-forms:
![{e[k]}[k = 1 .. n]](Maple/atlas/examples/images/abstract_10.gif) | (2.1.5) |
Declare frame vectors:
![{E[j]}[j = 1 .. n]](Maple/atlas/examples/images/abstract_11.gif) | (2.1.6) |
Declare connection:
![omega[i, j]](Maple/atlas/examples/images/abstract_12.gif) | (2.1.7) |
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))))](Maple/atlas/examples/images/abstract_13.gif) | (2.1.8) |
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))))](Maple/atlas/examples/images/abstract_14.gif) | (2.1.9) |
Using ToBasis procedure:
![`&.`(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)](Maple/atlas/examples/images/abstract_15.gif) | (2.1.10) |
Using div-procedure:
| > | div(X)=div(ToBasis(X)); |
, `*`(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))](Maple/atlas/examples/images/abstract_16.gif) | (2.1.11) |
Using Lie derivative:
| > | 'L[E[i]](e[k])'=L[E[i]](e[k]); |
![L[E[i]](e[k]) = iota[E[i]](d(e[k]))](Maple/atlas/examples/images/abstract_17.gif) | (2.1.12) |
| > | '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)](Maple/atlas/examples/images/abstract_18.gif) | (2.1.13) |
Another domain:
Domain(N);
 | (2.1.14) |
Declare constant
:
Constants(lambda);
 | (2.1.15) |
Declare forms:
Forms(zeta[i]=1);
![{xi, theta, e[j], zeta[i]}](Maple/atlas/examples/images/abstract_22.gif) | (2.1.16) |
Let us declare another coframe:
Coframe(zeta[j]=d(x[j])/(1+lambda*Sum(x[i]^2,i=1..n)),j=1..n);
![{zeta[j] = `/`(`*`(d(x[j])), `*`(`+`(1, `*`(lambda, `*`(Sum(`*`(`^`(x[i], 2)), i = 1 .. n))))))}[j = 1 .. n]](Maple/atlas/examples/images/abstract_23.gif) | (2.1.17) |
And another frame:
Frame(E[k]);
![{E[k]}[k = 1 .. n]](Maple/atlas/examples/images/abstract_24.gif) | (2.1.18) |
| > | 'd(zeta[k])'=simplify(d(zeta[k])); |
![d(zeta[k]) = `+`(`-`(`*`(2, `*`(lambda, `*`(Sum(`*`(x[i], `*`(`&^`(zeta[i], zeta[k]))), i = 1 .. n))))))](Maple/atlas/examples/images/abstract_25.gif) | (2.1.19) |
![d(x[j]) = `+`(zeta[j], `*`(zeta[j], `*`(lambda, `*`(Sum(`*`(`^`(x[i], 2)), i = 1 .. n)))))](Maple/atlas/examples/images/abstract_26.gif) | (2.1.20) |
![d(h) = Sum(`*`(Diff(h, x[l[1]]), `*`(`+`(zeta[l[1]], `*`(zeta[l[1]], `*`(lambda, `*`(Sum(`*`(`^`(x[i], 2)), i = 1 .. n))))))), l[1] = 1 .. n)](Maple/atlas/examples/images/abstract_27.gif) | (2.1.21) |
 | (2.1.22) |
![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]]), `*`(`+`(zeta[l[1]], `*`(zeta[l[1]], `*`(lambda, `*`(Sum(`*`(`...](Maple/atlas/examples/images/abstract_29.gif)
![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]]), `*`(`+`(zeta[l[1]], `*`(zeta[l[1]], `*`(lambda, `*`(Sum(`*`(`...](Maple/atlas/examples/images/abstract_30.gif) | (2.1.23) |
Abstract calculations with numeric dimension
Now we reload the atlas package:
with(atlas):
We redefine `atlas/simp` procedure just for right simplification (this is not necessary but it leads to more compact results):
`atlas/simp`:=proc(a) simplify(a) end:
Domain
This domain is just 3-dimensional Euclidean space:
Domain(R^3);
 | (2.2.1.1) |
Declare 1-forms for to use them as a coframe:
Forms(e[j]=1);
![{e[j]}](Maple/atlas/examples/images/abstract_33.gif) | (2.2.1.2) |
Declare vector fields to use them as a frame:
Vectors(E[i]);
![{E[i]}](Maple/atlas/examples/images/abstract_34.gif) | (2.2.1.3) |
Declare coframe 1-forms:
Coframe(e[1]=d(x),e[2]=d(y),e[3]=d(z));
![[e[1] = d(x), e[2] = d(y), e[3] = d(z)]](Maple/atlas/examples/images/abstract_35.gif) | (2.2.1.4) |
Declare frame vectors:
Frame(E[j]);
![[E[1] = Diff(``, x), E[2] = Diff(``, y), E[3] = Diff(``, z)]](Maple/atlas/examples/images/abstract_36.gif) | (2.2.1.5) |
Declare flat metric:
:Metric(g=d(x)&.d(x)+d(y)&.d(y)+d(z)&.d(z));
![g = `+`(`&.`(e[1], e[1]), `&.`(e[2], e[2]), `&.`(e[3], e[3]))](Maple/atlas/examples/images/abstract_37.gif) | (2.2.1.6) |
Connection calculation:
Connection(Gamma);
![Gamma[i, j]](Maple/atlas/examples/images/abstract_38.gif) | (2.2.1.7) |
"Rotational" surface
Now we operate on a surface.
Domain(S[1]);
![S[1]](Maple/atlas/examples/images/abstract_39.gif) | (2.2.2.1) |
| > | Functions(rho=rho(zeta),eta=eta(zeta)); |
 | (2.2.2.2) |
Declare 1-forms for coframe:
Forms(u[k]=1);
![{e[j], u[k]}](Maple/atlas/examples/images/abstract_41.gif) | (2.2.2.3) |
Declare vector fields for frame:
Vectors(U[j]);
![{U[j]}](Maple/atlas/examples/images/abstract_42.gif) | (2.2.2.4) |
Coframe declaration for the surface:
Coframe(u[1]=d(zeta),u[2]=d(phi));
![[u[1] = d(zeta), u[2] = d(phi)]](Maple/atlas/examples/images/abstract_43.gif) | (2.2.2.5) |
Frame declaration for the surface:
Frame(U[k]);
![[U[1] = Diff(``, zeta), U[2] = Diff(``, phi)]](Maple/atlas/examples/images/abstract_44.gif) | (2.2.2.6) |
Now we declare mapping of the surface into the Euclidean space
:
Mapping(pi,S[1],R^3,
x=rho*cos(phi),
y=rho*sin(phi),
z=eta);
 |
![`.`(S[1], `--->`, `*`(`^`(R, 3)))](Maple/atlas/examples/images/abstract_47.gif) | (2.2.2.7) |
Let us see the attributes of the mapping
Who(pi);
After that we can calculate metric induced on the surface by the mapping:
Metric(G = g &/ pi);
![G = `+`(`*`(`+`(`*`(`^`(Diff(rho, zeta), 2)), `*`(`^`(Diff(eta, zeta), 2))), `*`(`&.`(u[1], u[1]))), `*`(`^`(rho, 2), `*`(`&.`(u[2], u[2]))))](Maple/atlas/examples/images/abstract_56.gif) | (2.2.2.9) |
Calculation of the corresponding connection and curvature:
![omega[i, j]](Maple/atlas/examples/images/abstract_57.gif) | (2.2.2.10) |
Let us see the result:
eval(omega);
Now we can calculate the corresponding curvature:
Curvature(Omega);
![Omega[i, j]](Maple/atlas/examples/images/abstract_61.gif) | (2.2.2.12) |
The result is:
eval(Omega);
Calculation of riemannian and ricci tensors of the embedded surface:
![Riem = `+`(`-`(`/`(`*`(rho, `*`(Diff(eta, zeta), `*`(`+`(`*`(Diff(rho, zeta, zeta), `*`(Diff(eta, zeta))), `-`(`*`(Diff(rho, zeta), `*`(Diff(eta, zeta, zeta))))), `*`(`&.`(`&^`(u[1], u[2]), `&^`(u[1],...](Maple/atlas/examples/images/abstract_67.gif)
![Riem = `+`(`-`(`/`(`*`(rho, `*`(Diff(eta, zeta), `*`(`+`(`*`(Diff(rho, zeta, zeta), `*`(Diff(eta, zeta))), `-`(`*`(Diff(rho, zeta), `*`(Diff(eta, zeta, zeta))))), `*`(`&.`(`&^`(u[1], u[2]), `&^`(u[1],...](Maple/atlas/examples/images/abstract_68.gif) | (2.2.2.14) |
Calculation of ricci scalar of the embedded surface:
RicciScalar(s);
 | (2.2.2.16) |
We can also calculate the invariants (the second fundamental form and mean curvature vector) of the embedding:
Let us extract the second fundamental form:
| > | B:=eval(Inv[secondForm]); |
Now we can calculate the corresponding tensor:
| > | 'B'=add(add(`&.`(e[i],e[j],eval(B)[i,j]) ,i=1..2),j=1..2); |
One can also calculate the corresponding projectors:
An abstract surface
Now current manifold is a surface.
Domain(S[2]);
![S[2]](Maple/atlas/examples/images/abstract_125.gif) | (2.2.3.1) |
Declare functions:
Functions(f=f(alpha,beta));
 | (2.2.3.2) |
Declare 1-forms for the surface coframe:
Forms(xi[k]=1);
![{e[j], u[k], xi[k]}](Maple/atlas/examples/images/abstract_127.gif) | (2.2.3.3) |
Declare vector fields for the surface frame:
Vectors(Xi[j]);
![{Xi[j]}](Maple/atlas/examples/images/abstract_128.gif) | (2.2.3.4) |
Coframe declaration for the surface:
Coframe(xi[1]=d(alpha),xi[2]=d(beta));
![[xi[1] = d(alpha), xi[2] = d(beta)]](Maple/atlas/examples/images/abstract_129.gif) | (2.2.3.5) |
Frame declaration for the surface:
Frame(Xi[k]);
![[Xi[1] = Diff(``, alpha), Xi[2] = Diff(``, beta)]](Maple/atlas/examples/images/abstract_130.gif) | (2.2.3.6) |
Now we declare embedding of the surface into
:
Mapping(psi,S[2],R^3,
x=alpha,
y=beta,
z=f);
 |
![`.`(S[2], `--->`, `*`(`^`(R, 3)))](Maple/atlas/examples/images/abstract_133.gif) | (2.2.3.7) |
Let us see the mapping attributes:
Who(psi);
After that we can calculate metric induced on the surface by the embedding:
Metric(gK = g &/ psi);
Let us calculate the invariants of the embedding:
One can also calculate the corresponding projectors: