Abstract calculations

This tutorial illustrates how to do "abstract" calculations using Atlas package. To do this we use simple manifolds (such as Euclidean space, curves and 2-dimensional surfaces) just to illustrate the corresponding abilities.

What we do?

  • First of all, some possible calculations with symbolic dimension will be considered.
    • After that we calculate the metric and second fundamental forms on abstract "rotational" surface defined by parametric equations where () and () are some undefined functions on :
    {
    x=()cos()
    y=()cos()
    z=()
    • Lastly the same invariants will be calculated for an abstract surface defined by the equation where z is undefined function on x and y:
    z=z(x,y)

Examples:

Domain[manifold]manifold - identifier - a manifold name or a name of a manifold domain
Functions[f1f1[x1,x2,...,xn],f2f2[y1,y2,...,ym],...,
fkfk[z1,z2,...,zj]]
fk=fk(z1, z2, ..., zj) - equations where fk-function identifier and zj - variables.
Vectors[v1,v2,...,vi,...,vn]vi - vector identivier.
Forms[f1n,f2k,...,fip]fi=p-equations wherefi-form identifier andpis a variable or an integer-the form's degree.
Coframe[idj,{j,1,n}]id-identifier for indexed variable-the coframe 1-forms. n-dimension of working manifold (a variable or integer). idiexpri-equation where idiis indexed variable-coframe 1-form and expriis decomposition of the 1-form on exact 1-forms.
Frame[idj]idj-indexed variable the frame vectors.
Connection[id]id-variable-connection identifier.
div[expr]expr-any vector expression.
Lv1,v2,v3...,vn[expr]expr-any expression (on which Lie derivative is defined). v1, v2, v3..., vn-vector fields.

Necessary functions.

Abstract calculations with symbolic dimension

First of all we load Atlas package:
In[7]:=
Click for copyable input
In[8]:=
Click for copyable input
Out[8]=
Declare some functions:
In[9]:=
Click for copyable input
Out[9]=
Declare some vectors:
In[10]:=
Click for copyable input
Out[10]=
Declare some forms:
In[11]:=
Click for copyable input
Out[11]=
Declare coframe 1-forms:
In[12]:=
Click for copyable input
Out[12]=
Declare frame vectors:
In[13]:=
Click for copyable input
Out[13]=
Declare connection:
In[14]:=
Click for copyable input
Out[14]=
Using d- procedure. For functions:
In[15]:=
Click for copyable input
Out[15]=
Obviously that:
In[16]:=
Click for copyable input
Out[16]=
Using ToBasis- procedure:
In[17]:=
Click for copyable input
Out[17]=
Using div- procedure:
In[18]:=
Click for copyable input
Out[18]=
Using Lie derivative:
In[19]:=
Click for copyable input
Out[19]=
In[20]:=
Click for copyable input
Out[20]=
Another domain:
In[21]:=
Click for copyable input
Out[21]=
Declare constant :
In[22]:=
Click for copyable input
Out[22]=
Declare forms:
In[23]:=
Click for copyable input
Out[23]=
Declare vectors:
In[24]:=
Click for copyable input
Out[24]=
Let us declare another coframe:
In[25]:=
Click for copyable input
Out[25]=
And another frame:
In[26]:=
Click for copyable input
Out[26]=
In[27]:=
Click for copyable input
Out[27]=
In[28]:=
Click for copyable input
Out[28]=
In[29]:=
Click for copyable input
Out[29]=
In[30]:=
Click for copyable input
Out[30]=
In[31]:=
Click for copyable input
Out[31]=

Abstract calculations with numeric dimension

Now we reload the atlas package:
In[32]:=
Click for copyable input

Domain R3

This domain is just 3-dimensional Euclidean space:
In[33]:=
Click for copyable input
Out[33]=
Declare 1-forms for to use them as a coframe:
In[34]:=
Click for copyable input
Out[34]=
Declare vector fields to use them as a frame:
In[35]:=
Click for copyable input
Out[35]=
Declare coframe 1-forms:
Declare frame vectors:
In[37]:=
Click for copyable input
Out[37]=
Declare flat metric:
In[38]:=
Click for copyable input
Out[38]=
Connection calculation:
In[39]:=
Click for copyable input
Out[39]=
Who[l]l -an identifier, list or set of identifies.
Metric[id→expr]id - variable - metric identifier. expr - expression - metric declaration.
Riemann[id]id-variable-corresponding identifier.
Ricci[id]id-variable-corresponding identifier.
RicciScalar[id]id-variable-corresponding identifier.
Projectors[f]f-mapping identifier

Necessary functions.

"Rotational" surface

Now we operate on a surface:
In[40]:=
Click for copyable input
Out[40]=
In[41]:=
Click for copyable input
Out[41]=
Declare 1-forms for coframe:
In[42]:=
Click for copyable input
Out[42]=
Declare vector fields for frame:
In[43]:=
Click for copyable input
Out[43]=
Coframe declaration for the surface:
Frame declaration for the surface:
In[45]:=
Click for copyable input
Out[45]=
Now we declare mapping of the surface into the Euclidean space R3:
Visualize the mapping:
In[47]:=
Click for copyable input
Out[47]=
Let us see the attributes of the mapping:
In[48]:=
Click for copyable input
Out[48]//TableForm=
After that we can calculate metric induced on the surface by the mapping:
In[49]:=
Click for copyable input
Out[49]=
Calculation of the corresponding connection and curvature:
In[50]:=
Click for copyable input
Out[50]=
Let us see the result:
In[51]:=
Click for copyable input
Out[51]//MatrixForm=
Now we can calculate the corresponding curvature:
In[52]:=
Click for copyable input
Out[52]=
The result is:
In[53]:=
Click for copyable input
Out[53]//MatrixForm=
Calculation of riemannian and ricci tensors of the embedded surface:
In[54]:=
Click for copyable input
Out[54]=
In[55]:=
Click for copyable input
Out[55]=
Calculation of ricci scalar of the embedded surface:
In[56]:=
Click for copyable input
Out[56]=
One can see any of the rsults in traditional form:
In[57]:=
Click for copyable input
Out[57]//TraditionalForm=
We can also calculate the invariants (the second fundamental form and mean curvature vector) of the embedding:
In[58]:=
Click for copyable input
Out[58]=
Let us extract the second fundamental form:
In[59]:=
Click for copyable input
Out[59]=
Now we can calculate the corresponding tensor:
In[60]:=
Click for copyable input
Out[60]=
One can also calculate the corresponding projectors:
In[61]:=
Click for copyable input
Out[61]=

An abstract surface

Now current manifold is a surface:
In[62]:=
Click for copyable input
Out[62]=
Declare functions:
In[63]:=
Click for copyable input
Out[63]=
Declare 1-forms for the surface coframe:
In[64]:=
Click for copyable input
Out[64]=
Declare vector fields for the surface frame:
In[65]:=
Click for copyable input
Out[65]=
Coframe declaration for the surface:
Frame declaration for the surface:
In[67]:=
Click for copyable input
Out[67]=
Now we declare embedding of the surface into R3:
Let us see the mapping attributes:
In[69]:=
Click for copyable input
Out[69]//TableForm=
After that we can calculate metric induced on the surface by the embedding:
In[70]:=
Click for copyable input
Out[70]=
Let us calculate the invariants of the embedding:
In[71]:=
Click for copyable input
Out[71]=
One can also calculate the corresponding projectors:
In[72]:=
Click for copyable input
Out[72]=
In[73]:=
Click for copyable input