In this Section we describe and offer some Mathematica notebooks and packages devoted to themes of differential geometry. We start with a report of

Alfred Gray`s Differential Geometry of Curves and Surfaces

Alfred Gray (October 22, 1939 – October 27, 1998)

In
the ninetieth, till to his sudden and unexpected death in Bilbao
1998, Alfred Gray developed intensively applications of *Mathematica*
to Euclidean differential geometry of curves and surfaces. As a
result of his work he published in 1994 his trend-setting book [G1]
opening completely new approaches to differential geometry in
teaching and research. Already in the eightieth and later Alfred Gray
visited our Institute of Mathematics at Humboldt University several
times. He gave reports about his work and introduced us already into
the first versions of *Mathematica.* He cooperated with Hubert
Gollek who translated his book into German, see [G2]. Now the third
edition [G3] of the book appeared accompanied by a series of
*Mathematica* notebooks which correspond to the sections of the
book. They can be seen and downloaded from the website [G4].

In
connection with his book Alfred Gray wrote about 20 *Mathematica*
Packages
and some notebooks which he left us generously for use in teaching
and research (May 1998). This *Mathematica*
Code
is almost identical with the packages contained in the zip-file
Gray.zip
downloaded from Wolfram Library Archive [G5]. I have taken the
packages [G5] as the starting point for adapting Gray`s code to the
actual *Mathematica*
version
9.0.1. The result of this adaption is the notebook CandS-1.nb, which
is based on the following four packages loaded by the initialization
of the notebook:

*CSPROGS.m
(miniprograms for manipulating curves and surfaces)*

*CURVES.m
(definitions of parametrizations and implicit equations of curves)*

*SURFS.m
(definitions of parametrizations and implicit equations of surfaces)*

*PLTPROGS.m
(useful plotting programs commands that supplement those of
Mathematica)*

I
changed mainly the packages CSPROGS.m and PLTPROGS.m adapting them to
*Mathematica*
v.
9.01. Many of the miniprograms of these packages are tested in the
notebook. The packages CURVES.m and SURFACES.m are catalogs of
parameter presentations of plane and space curves, resp. surfaces in
the Euclidean 3-space. I used some of them, but I didn't feel the
necessity to test them all; I didn't change any. Also I didn't change
the other packages of the file Gray.zip. Here you can see the
contents
of the notebook CandS-1.nb and some hints for its use.

I
joined the adapted and the unchanged files of Gray.zip with the
notebook CandS-1.nb into the new zip-file gray1.zip which can be
downloaded here.
Working with this stuff can help students to understand Euclidean
differential geometry and to acquire experience in applying
*Mathematica*.
I will be grateful for comments, criticism, and corrections.

References

[G1] Alfred Gray. Modern Differential Geometry of Curves and Surfaces. CRC Press. 1994

[G4] Alfred Gray, Elsa Abbena, Simon Salamon. CRC Press, 2006.

[G5] Gray.zip. http://library.wolfram.com/infocenter/Books/3759/

Here is a video devoted to the memoryAlfred Gray.

A presentation of Alfred Gray`s programs organized in four Mathematica notebooks can be found on the website of Mohammad Ghomi:

GraysProgs.nb

This
notebook loads up all the miniprograms written by Alfred Gray to
accompany his book on Curves and Surfaces.

PlanarCurves.nb

Parametrizations
for many curves; programs for computing curvature, length, and
winding number; plotting programs for coloring a curve according to
its curvature, and programs for plotting curves determined by a given
curvature function; several animation programs including cycloid,
tractrix and trochoids.

SpaceCurves.nb

Parametrizations
for various curves; programs for computing curvature, torsion and
length; programs for coloring a curve by its curvature or torsion;
programs for plotting the tangential, normal, and binormal, spherical
images.

Surfaces.nb

Parametrizations
for many surfaces; programs for computing Gauss and mean curvature;
programs for coloring a surface by its Gauss or mean curvature.

To work with this notebooks and the partly integrated packages the user has to adapt the code to the actual Mathematica version.

A
completely different method of programming and applying *Mathematica*
to
differential geometry is available from DigiArea, see the commercial
software package atlas.

In this Section we describe and offer some matter about elementary Euclidean differential geometry. Traditionally, textbooks about differential geometry start with a chapter devoted to Euclidean curve theory. I follow this tradition and add then, as usual, a section about Euclidean surface theory. To both subjects I wrote Mathematica notebooks which may serve as interactive textbooks introducing in this field. In the notebooks and packages one finds many concepts of W. Blaschke's and H. Reichardt's “Einführung in die Differentialgeometrie” transformed into Mathematica code. The contacts with Alfred Gray and his work about “Modern Differential Geometry”, which I describe in a section of this overview, gave me useful help and orientation. The writing and programming style in my notebooks and packages is so “mathematical” as possible, avoiding artificial or complicated constructs as they are used sometimes by experts of information theory, which, I confess; might be more efficient in some cases. In mathematics, particular in differential geometry, often results are proved by symbolic calculations. In the notebooks I tested mostly successfully the capabilities of Mathematica in doing such proofs. Such programs sometimes lead to large and complicated expressions the simplification of which needs much time and large computer memory. Thus the success depends also on the available hardware.

Reading and evaluating the notebooks may not supersede the study of traditional textbooks of the field. Computer programs are not able to replace thinking. They are strong in performing algorithms very fast and effective, but they do only what they are programmed to do. In particular, all computer systems are finite, they have finite memory and can do only finite calculation steps in finite time. For differential geometry that means, that the results described in my Mathematica notebooks are local; the more interesting and important global achievements in this field are treated and should be learned elsewhere. On the other hand, one can define general, unspecified objects, e.g. curves or surfaces, fixing their structure or there properties, and using this one can get general results. This I do in my notebooks as far as possible. Specifying these objects, what means inserting concrete curves or surfaces in the obtained formulas, then yields the geometric invariants like curvatures, fundamental forms etc. of the specified objects. Look into the notebooks and find your own way through this field!

The notebooks and the packages are contained in the zip-file EDG.zip, which can be downloaded here. The first, now obsolete version can be downloaded here.

The notebook "Euclidean Curve Theory" contains tools to calculate arc length, Frenet formulas and curvatures for curves in the n-dimensional Euclidean space. As an application I consider osculating circles and spheres for curves in the three-dimensional Euclidean space. I use the identification of the curves of constant curvatures with the orbits of 1-parameter motion groups to describe all curves of this class in dimension four. The curves of maximal rank of this class are the isogonal trajectories of the families of generating circles of flat tori which themselves are homogeneous surfaces in three-dimensional spheres. Using stereographic projection one obtains conformal images of these curves on tori in the three-dimensional space. In the last subsections I try to obtain plane curves as solutions of the differential equation defined by a given curvature function. Clearly, in dimensions greater than four the expressions for the curvatures become more difficult, and the evaluation of the formulas needs long evaluation time. The theoretical background of n-dimensional Euclidean curve theory is given in the article

**The Fundamental Theorem for**
**Curves
in the n-Dimensional Euclidean Space****.**

The existence- and uniqueness theorem for a curve whose curvatures are given as functions of its arc length is the key tool for the curve theory in elementary Euclidean differential geometry. Unfortunately, I don't know a textbook that contains the necessary conceptual framework and a precise complete proof. For understanding the programs I developed with Wolfram's Mathematica such a theoretical background is useful, if not necessary. This is the reason for writing this paper, which may be read independently of the mentioned Mathematica tools.

In the notebook "Surfaces in the Euclidean 3-Space" I present the basic concepts of elementary differential geometry in an interactive form. As done in the above mentioned “Einführung” of W. Blaschke and H. Reichardt I apply E. Cartan's method of moving frames. Although some tensors are used in an elementary way a knowledge of tensor calculus isn't required for understanding the notebook. Surfaces in three dimensions are the main subject, but some concepts can be applied to submanifolds in higher dimensions too, or may be generalized easily to such applications. Ruled surfaces and surfaces of revolution are treated very detailed. In particular, all surfaces of revolution with constant Gauss curvature are determined. In the last Section I treated the absolute differential for immersions into the Euclidean space and for pseudo-Riemannian manifolds. Christoffel symbols and curvature tensors are calculated. As applications geodesics and the geodesic curvature are considered.

The
two notebooks *Euclidean Curve Theory and Surfaces in the Euclidean
3-Space *may serve as an interactive

**Introduction
to Euclidean Differential Geometry**

I strove to write the notebooks in a style suitable for students possessing basic knowledge of calculus and linear algebra. They shall not replace a lecture or the study of one of the traditional textbooks, they will help to understand differential geometry using the capabilities of the program Mathematica in calculating examples, creating graphic presentations, and proving statements by symbolic calculations. The way in which the notebooks and packages are written together with the numerous informative help tools of Stephen Wolfram's program Mathematica will make it easy also for beginners to use them and to learn programming in the Wolfram Language. The accompanying Mathematica packages contain many functions and modules enhancing the Wolfram Language and adapt them to the applications in differential geometry.

Free download the cited Mathematica notebooks and the needed packages: DOWNLOAD

The
notebook “*Pseudo-Riemannian
Geometry* *and
Tensor Analysis*” may
serve as the third part of an interactive *Introduction
to Differential Geometry* continuing
the *Introduction
to Euclidean Differential Geometry* described
above. This
third
part of the Introduction is packed into the file RGv3.zip which may
be downloaded here.
The notebooks and packages of RGv3.zip are tested with Mathematica v.
11.2. It may hapen that they are not compatible with earlier versions
of Mathematica. In this case try RG.zip.

RGv3.zip contains five Mathematica notebooks:

RGv3.nb, “Pseudo-Riemannian Geometry and Tensor Analysis” with

subnotebooks index.nb and testD.nb,

vectensalgv3.nb “Vector and Tensor Algebra”,

fieldproblem.nb, (a technical comment),

six Mathematica packages:

euvecv2.m, neuvecv2.m,tensalgv3.m,eudiffgeov4.m, CURVES.m, SURFS.m,

and the file ReadmeFirstv3.pdf containing hints for the installation.

Click RGv3.nb to see a description and the contents of the notebook: Manifolds with linear connections and pseudo-Riemannian spaces treated with tensor methods. The essential point here is that a new Mathematica object tensor is introduced reflecting exactly the mathematical tensor concept as it is used in differential geometry. This and the basic concepts of tensor algebra are developed in the notebook vectensalgv3.nb (click!). Tensor analysis is treated in a traditional way as a part of differential geometry. Motivated are the considerations with hints to the Euclidean surface theory; in Section 4 of this notebook the Rienammian (or “inner”) geometry of a surface is treated. Important results are proved or at least confirmed and illustrated by examples. The considerations are local, conceptual and algorithmic properties are emphasized. The notebook RGv3.nb may be used as the starting point for further excursions in this interesting field.

The
Section **Differential
Geometry of the Möbius Space**
is now placed into the Chapter Möbius
Geometry.

Last changed July 5, 2018