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.
[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:
This notebook loads up all the miniprograms written by Alfred Gray to accompany his book on Curves and Surfaces.
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.
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.
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 eudiffgeov4.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 February 13, 2020