Plane curves

This notebook illustrates how to use the Atlas package to solve problems in elementary differential geometry.

What we do?

  • As an example we calculate the curvatures and moving frame of the following plane curves: astroid, cardioid and abstract plane curve.
  • We assume that astroid is given as a parametric curve in the Cartesian coordinate system and the cardioid is given as a parametric curve in the polar coordinate system.
  • For abstract plane curve we will do the calculations in both systems.

Solution:

Coframe[id1expr1,id2expr2,...idnexprn]id - identifier for indexed variable - the coframe 1-forms, n - dimension of working manifold (a variable or integer), idi
expri - rules where idi is indexed variable - coframe 1-form and expri is decomposition of the 1-form on exact 1-forms.
Connection[id] id - variable - connection identifier.
Mapping[f,m,n,y1f1(x1,x2...xm),y2f2(x1,x2...xm),...,
ynfn(x1,x2...xm)]
f - variable - the mapping identifier i.e. f : m n, m - variable - first domain identifier, n - variable - second domain identifier.
Invariants[f]f - mapping identifier.

Necessary functions.

Load atlas package:
In[7]:=
Click for copyable input
Just for right simplification:
In[8]:=
Click for copyable input

Description of the total space R2:

First of all we have to describe the space we are working in. The space is 2-dimensional Euclidean (flat) space i.e. a plane. To define the space we declare domain, forms, vectors, coframe, frame, flat metric and calculate the connection (it is equal to zero of cause).
Define Euclidean space as a manifold:
In[9]:=
Click for copyable input
Out[9]=
Declare 1-forms for the space coframe:
In[10]:=
Click for copyable input
Out[10]=
Declare vectors for the space frame:
In[11]:=
Click for copyable input
Out[11]=
Declare coframe on the space:
In[12]:=
Click for copyable input
Out[12]=
Declare frame on the space:
In[13]:=
Click for copyable input
Out[13]=
Declare flat metric on the space:
In[14]:=
Click for copyable input
Out[14]=
Calculate connection of the metric:
In[15]:=
Click for copyable input
Out[15]=

Astroid

Define the curve as a manifold:
In[16]:=
Click for copyable input
Out[16]=
Declare constant a:
In[17]:=
Click for copyable input
Out[17]=
Declare 1-form for curve's coframe:
In[18]:=
Click for copyable input
Out[18]=
Declare vectors for curve's frame:
In[19]:=
Click for copyable input
Out[19]=
Declare coframe on the curve:
In[20]:=
Click for copyable input
Out[20]=
Declare frame of the curve:
In[21]:=
Click for copyable input
Out[21]=
Declare mapping of the curve into R2:
In[22]:=
Click for copyable input
Out[22]=
Visualize the mapping:
In[23]:=
Click for copyable input
Out[23]=
Calculate metric on the curve using Pullback operator:
In[24]:=
Click for copyable input
Out[24]=
It is obvious that the metric gives the squared differential of the curve's arc:
Calculate invariants of the mapping:
In[25]:=
Click for copyable input
Out[25]=
Extract tangent normalized vector field:
In[26]:=
Click for copyable input
Out[26]=
Extract normal normalized vector field:
In[27]:=
Click for copyable input
Out[27]=
Extract curvature of the curve:
In[28]:=
Click for copyable input
Out[28]=
Let us check the "orthonormality" of the moving frame vectors T and K. To do this we use metric tensor field gR:
In[29]:=
Click for copyable input
Out[29]=
In[30]:=
Click for copyable input
Out[30]=
In[31]:=
Click for copyable input
Out[31]=
In[32]:=
Click for copyable input

Abstract curve (Cartesian)

Define the curve as a manifold:
In[33]:=
Click for copyable input
Out[33]=
Define two functions on the curve:
In[34]:=
Click for copyable input
Out[34]=
Declare 1-form for curve's coframe:
In[35]:=
Click for copyable input
Out[35]=
Declare vectors for curve's frame:
In[36]:=
Click for copyable input
Out[36]=
Declare coframe on the curve:
In[37]:=
Click for copyable input
Out[37]=
Declare frame of the curve:
In[38]:=
Click for copyable input
Out[38]=
Declare mapping of the curve into R2:
In[39]:=
Click for copyable input
Out[39]=
Now we can calculate metric induced on the curve by the mapping:
In[40]:=
Click for copyable input
Out[40]=
Calculate invariants of the mapping:
In[41]:=
Click for copyable input
Out[41]=

Change coordinates on R2

To continue with cardioid and abstract polar curves example, we have to change the coordinate system on the manifold R2 from Cartesian to polar. We can do it easily just by defining another Euclidean domain.
Define the Euclidean space as a manifold:
In[42]:=
Click for copyable input
Out[42]=
Declare 1-forms for the space coframe:
In[43]:=
Click for copyable input
Out[43]=
Declare vectors for the space frame:
In[44]:=
Click for copyable input
Out[44]=
Declare coframe on the space:
In[45]:=
Click for copyable input
Out[45]=
Declare frame on the space:
In[46]:=
Click for copyable input
Out[46]=
Declare mapping of 2 into R2 :
In[47]:=
Click for copyable input
Out[47]=
Visualize the mapping:
In[48]:=
Click for copyable input
Out[48]=
In[49]:=
Click for copyable input
Out[49]//TableForm=
Now we can calculate metric induced by the mapping:
In[50]:=
Click for copyable input
Out[50]=
Calculation of the corresponding connection:
In[51]:=
Click for copyable input
Out[51]=
Let us see the result:
In[52]:=
Click for copyable input
Out[52]//MatrixForm=

Cardioid

Define the curve as a manifold:
In[53]:=
Click for copyable input
Out[53]=
Declare 1-form for curve's coframe:
In[54]:=
Click for copyable input
Out[54]=
Declare vectors for curve's frame:
In[55]:=
Click for copyable input
Out[55]=
Declare coframe on the curve:
In[56]:=
Click for copyable input
Out[56]=
Declare frame of the curve:
In[57]:=
Click for copyable input
Out[57]=
Declare mapping of the curve into 2:
In[58]:=
Click for copyable input
Out[58]=
Visualize the mapping:
In[59]:=
Click for copyable input
Out[59]=
In[60]:=
Click for copyable input
Out[60]//TableForm=
Calculate metric on the curve using Pullback- operator:
In[61]:=
Click for copyable input
Out[61]=
Calculate invariants of the mapping:
In[62]:=
Click for copyable input
Out[62]=

Abstract curve (polar)

Let a parametric curve be given by equation r=() in polar coordinates. Define the curve as a manifold:
In[63]:=
Click for copyable input
Out[63]=
Declare function =(t):
In[64]:=
Click for copyable input
Out[64]=
Declare 1-form for curve's coframe:
In[65]:=
Click for copyable input
Out[65]=
Declare vectors for curve's frame:
In[66]:=
Click for copyable input
Out[66]=
Declare coframe on the curve:
In[67]:=
Click for copyable input
Out[67]=
Declare frame of the curve:
In[68]:=
Click for copyable input
Out[68]=
Declare mapping of the curve into 2:
In[69]:=
Click for copyable input
Out[69]=
Calculate metric on the curve using Pullback- operator:
In[70]:=
Click for copyable input
Out[70]=
Calculate invariants of the mapping:
In[71]:=
Click for copyable input
Out[71]=