Mathematica Notebooks and Comments

In this section I report about my experiences with St. Wolfram's computer-algebraic system Mathematica and present some Notebooks and Packages I developed since the year 1995. In the paper Mathematik und Mathematica (in German) I consider the possibilities of Mathematica as a tool in mathematical research.

In the following I give a more or less detailed description of the Mathematica Notebooks and Packages which may be downloaded from this homepage. Critical hints, questions and corrections I accept gratefully. Please mail them to sulanke@mathematik.hu-berlin.de

For readers who start learning Mathematica or have difficulties in working with my notebooks it may be useful to read first the hints for new users.

List of Mathematica Notebooks and Packages

Vector and Tensor Algebra Version 3, May 26, 2017. Contents. Description. Download.

To work interactively with the notebook one needs the package tensalgv3.m

Elementary Euclidean Geometry. Version January 30 , 2010. Contents. Description. Download.

Euclidean Curve Theory. Third Version, October 7, 2016 . Contents Description. Download.

A revised version is contained in the file EDG.zip.

Euclidean Surface Theory. Second Version, December 31, 2014. Contents. Description. Download.

The 3. version is contained in the file EDG.zip.

Non-Euclidean Geometry. Version May 24, 2005. Download

The downloaded file noeuklid2D.tgz containes the notebook noeuklid2D.nb and the needed packages:

  1. noeuklid2D.nb (253 kb)

  2. euvec.m (14 Kb)

  3. neuvec.m (10 kb)

The notebook noeuklid2D.nb contains analytic models of the hyperbolic plane and the classification of the plane quadrics under the action of the hyperbolic group. The package neuvec.m is an alteration of the package pseuvec.m. Within it and in a section of the notebook I present the pseudo-Euclidean liniear algebra for arbitrary dimension and index of the underlying pseudo-Euclidean vector space.

Symplectic Geometry. Version March 18, 2008. Contents. Description. Download.

The notebook symplectic.nb is closely related to the book [34] "Projective and Cayley-Klein Geometries". It introduces basic notions of symplectic vector algebra in Mathematica terms. The notebook is not evaluated. For evaluating the notebook one needs the package Declare.m, which is also included into the package symplectic.zip containing the notebook and some tools necessary for working interactively with it.

The package symplecticgeo.m collects modules specific for symplectic linear algebra defined in the notebook symplectic.nb.

The package is not needed for evaluating the present notebook; it is not recommended to import it into the notebook, since then context or protection conflicts would arise with the equally named functions or modules created in the notebook. User who want to create their own notebooks or packages varying or continuing the considerations presented here may find it useful to import the package as a starting point.

Riemann Sphere. Version April 30, 2004. Download
Möbius geometry originated as the elementary part of geometric complex function theory. On the other hand, it can be considered as the geometry on the sphere as an elliptical quadric in the 3-dimensional real projective space. In this notebook we shall construct Mathematica functions useful for elementary geometric function theory, and transition functions to the 2-dimensional real Möbius geometry in the projective framework. In particular, the notebook describes the Möbius invariants for pairs consisting of 0-spheres (point pairs) or circles in the Riemannian sphere, or, by stereographic projection, in the Euclidean plane, which we identify with the complex Gaussian plane. Perhaps the main point is the calculation of Wilker`s matrix in section 7, giving a homomorphism of the complex special linear group SL(2,C) to the connected component of unity of the Lorentz group SO(3,1)+.This example demonstrates the very strong capabilities of Mathematica in symbolic calculations. The notebook is not evaluated. For evaluating the notebook one needs most of the packages collected in mathpack.tgz. Download it here and unpack it in the same directory as riemsph.nb.

Elementary Möbius Geometry I,. Points and Spheres. Version Feb 9, 2011. Contents. Description. Download.

Elementary Möbius Geometry II,. Circles. Version March 11, 2011. Contents. Description. Download.

Elementary Möbius Geometry III,. Pairs of Subspheres in S^3. Version January 5, 2012. Contents. Description. .Download

Spheres. .Version Oct 25,2003. Description Download sphs4.tgz. Download sphs4.zip.

The contents of this file is in an updating process now. The first part is ready, see above or Elementary Möbius Geometry. It is a collection of notebooks and packages containing basic functions and modules for working in pseudo-euclidean vector spaces, in the spaces of spheres, circles, and point pairs (= 0-spheres) in Moebius and Euclidean geometries. In the year 2000 the third version of a series of packages and notebooks has been published under the title Spheres in MathSource, where this older version can be downloaded.
Technical hints. The notebooks and packages of this series are created with Mathematica v.4.0 or 4.2. Under SuSE Linux v.9.3 the Mathematica Stylesheets did not work correctly, since the needed fonts have not been found. For some under Mathematica v. 4.2 written notebooks an adapted Stylesheet has been applied. If wanted or necessary download it here and put it into your working directory; choose it with the menu Format/Stylesheets/other.

Warning: The versions 3 sind 4 are not compatible with each other, since some Modules and Functions defined in the Packages have been changed. Avoid to mix the packages and notebooks of different versions.

Loxodromes. Version Oct 26, 2009. Contents. Download.

For working with the notebook some packages and a subnotebook are necessary. They can be downloaded here: moebpack.zip versions! Also do not mix these versions with version 5, which is in preparation now.

Möbius Curves of Constant Curvatures. Version Dec 7, 2010. Contents. Description. Download.

For working with these notebook some packages and a subnotebook are necessary. They can be downloaded here: mdgpack.zip

Curves in the Möbius Plane. Version July 29, 2012. Contents. Download.

Curves in the Möbius Space. Version July 10, 2012. Contents. Download.

For working with these notebook some packages and a subnotebook are necessary. They can be downloaded here: moebpack.zip

Lie Algebras. Version Nov.20, 1999. Contents, Description. Download.

In the year 1999 we submitted the series Lie Algebras to MathSource. It consists of five files, namely

  1. liealg.m (12 Kb)

  2. liealgun.m (4 Kb)

  3. Declare.m (8 Kb)

  4. liealgeb.nb (96 Kb)

  5. liealgeb.txt (3 Kb)

An evaluated copy of the notebook is liealg.pdf (600 KB).

Orthogonalisation. Version Feb 11, 2011. Download.

The notebook is now obsolete. It contains the module esorthonorm realizing Erhard Schmidt's orthogonalization for positive. semi-definite scalar products. Applied to the calculation of the first 25 Legendre polynomials it was10 times faster than the procedure GramSchmidt contained in the Standard Mathematica Package LinearAlgebra/Orthogonalization.m in older Mathematica versions; now, in Mathematica v. 8, the built-in function Orthogonalize is about 40% faster than esorthonorm.The notebook is selfcontained; the procedure esorthonorm is contained in our package euvec.m, too.

Chop. Version Aug 16,2006. Download.

The Mathematica function Chop is often used to correct numerical expressions containing very small terms, which sometimes appear during approximations. In the notebook is shown that Chop in some situations may cause serious mistakes. A similar procedure smoothing is constructed which is weaker and avoids such errors. This notebook discusses the relation between Chop and smoothing in Mathematica v.3 and v.4 (first written 2001).

Set, SetDelayed, Eigensystem. Version April 18, 2010. Download.

The Mathematica functions Set and SetDelayed are permanently used for defining new Mathematica objects. In the notebook we define functions of Eigenvalues and Eigenvectors of a specific matrix containing parameters k,h using Set and SetDelayed. 0ne has to consider the fact that the order in which the eigenvalues of a numerically given matrix appear depend on their values. If one desires that the order of the eigenvalues is fixed by the shape of the matrix depending on parameters k, h,..., one should proceed as follows:

Evaluate Eigenvalues[matrix[k,h,...]] symbolically and define the function eval[k_,h_,...] by Set (=) (and not by SetDelayed (:=)) to get the set of eigenvalues in the specific order not depending on their values. The notebook shows the difference of this definition with the analogous definition using SetDelayed (:=)) by an example. I thank Michael Trott for a deciding hint which cleared the situation.

Simplification. Version Nov 7, 2010. Download.

The notebook shows four FullSimplify procedures concerning hyperbolic functions which do not evaluate correctly. Doing symbolical calculations in differential geometry I had difficulties in simplifying certain large formulas. The reason was that Mathematica could not simplify some hyperbolic trigonometric expressions hidden in these formulas. Hoping that in future versions the simplification procedure can be improved I notice here the problematic expressions. Another notebook nomorememory.nb shows how a comparatively simple simplification process on a computer with a huge RAM of 16 GB finishes with the failure message “No more memory...” .

Operations with Functions. Version Jan 12,2013. Download.

In Mathematics one often needs operations with functions as objects, not only with its evaluations. In this notebook we discuss the problems we met trying to implement such operations into Mathematica. First we tried to find a general solution, but the result was meager. To this aim we had to change the built-in properties of some Mathematica objects. It resulted that doing this is not to recommend in general. The only way out is to program each needed mathematical function individually.



Last revision of this page July 11, 2017