(Published in MathSource:Enhancements/Geometry/0210-092. Version 3)

Date: December 9, 2000

Author: Rolf Sulanke


The packages and notebooks collected under the title "Spheres" consist of a system of Mathematica notebooks and accompanying packages yielding tools for working in classical geometric fields: Vector calculus, euclidean and

pseudo-euclidean geometry, Moebius Geometry. We emphasize applications to Moebius geometry.

The stuff composed here in a unified manner originated in a longer period of working with Mathematica. I express my sincere gratitude to Alfred Gray, who introduced me in Mathematica and discussed with me working problems very intensively, and to the Humboldt University for the continuous support. Especially I thank Dr. Spitzer and Mrs. Schnabel from the Computer Center,  and Dr. Hubert Gollek from the Institute of Mathematics of the University for numerous hints and practical help. 

Main Changes

In version 2 the new files pairs.nb, spiralsf.m, liealg.m appear.In eusphere.nb a section about spiral surfaces has been added.

In version 3 the orthogonalization procedures orthonorm in pseuvec.m, eusphere.nb, and pseuklid.nb have been corrected and completed; the module esorthonorm realizing Erhard Schmidt's orthogonalization procedure for positive semidefinite scalar products has been added, which is faster than J. M. Novak's procedure contained in StandardPackages/LinearAgebra/Orthogonalization.m. A new tool renorm has been added by the help of which numerical badly conditioned vector sequences may be treated. The procedure psfilter has been changed in such a manner that  the  reordering of the vector sequence is done in one step; repeated application is not necessary. Most changes are made in the notebook

mcircles.nb and the package mcirc.m. The names of the procedures, and often the procedures themselves, have been unified, some procedures disappeared, and some are new.

The files spheres.txt and init.m have been adapted and completed.

As before, in most of the notebooks I recommend MathGL3d for the

visualization and animation of Graphics3D objects. The author Jens-Peer Kuska

kindly has sent me a new startup file OpenGLViewer.m. With the

permission of Jens-Peer Kuska I included it in the item "Spheres".

General hints

1. Put all the submitted filesinto the same directory, and

you will not suffer from Path problems.

2. All private (not delivered from the Mathematica system) symbols which

I defined in the submitted files start with small characters.

3. For using the concepts defined in the packages euvec.m, pseuvec.m,

mspher.m, mcirc.m, and spiralsf.m it suffices to import the file init.m. Under Linux this 

proceeds automatically if one activates Kernel/Evaluation/Evaluate Initialization 

from the frontend menu. Under Windows first the working Directory[] must be set, as 

described in the Initialization section of the notebooks.

4. Not all concepts and constructs created in the notebooks are collected in

the packages mentioned in 3. The new file liealg.m is needed only in the notebook pairs.nb;

it is not initialized  by init.m. Loading it, some constructs of 

linear Lie algebra, in particular the Killing forms of some Lie algebras, are 

introduced within the Global Context. liealg.m is part of the item Lie 

Algebras, http://www.mathsource.com/cgi-bin/msitem?0210-845 

5. The notebooks and packages in the collection "Spheres" are free software. 

Any user may change and adapt them to his aims. If publishing such adaptions or 

applications, please cite the sources and sign with your name as the author. 

I am grateful for copies of such applications, for your hints,

corrections, comments etc.  Please, e-mail them to


6. Please, excuse posible errors and bad, too simplified use of the

English language in my texts. I never learnt the English systematically.



Notebook: eusphere.nb

Needs: euvec.m, spiralsf.m


This notebook contains  basic definitions of spheres as objects of euclidean and  Riemannian spherical geometry. It needs the packages euvec.m, and spiralsf.m. As an application the construction and plotting of a sphere through four points in the euclidean 3-space is given. Furthermore, it contains a recursive definition of the generalized geographical parameter representations of n-spheres in the (n+1)-dimensional euclidean space. Some concepts needed in Möbius geometry,  the conformal geometry of the n-sphere, are introduced in euclidean terms. These concepts are: Stereographic projection and its inversion, reflections at hyperspheres (also called inversions),  spiral transformations, spiral surfaces, in particular the spiral cylinder, which is of interest in Möbius differential geometry: it is a homogeneous surface with constant negative curvature. Spiral surfaces have been considered already by S. Lie  (1891), and E. Vessiot (1926).

Changes Nov 2000: A version of Erhard Schmidt's orthogonalization: esorthonorm, is introduced in section 4.1. The procedure normalized is renamed  in dotnorme, normed in normalize, and the new concept normed is now an option  for the orthogonalization esorthonorm. The procedures called sphere1, sphere3, spherrefl  are renamed: sphere1 -> subsphere, sphere3 -> subspheremf, spherrefl ->sphericalreflection.  New procedures sphere, sphereplot3D are introduced in euvec.m. 


vector objects, random vectors, rank, orthoframes, unitvectors, norming, cross product (general), outzero, nullvector, standard base, hyperplanes, stereographical projection, inverse stereographical projection,3-sphere, spheres, spheres through four points, inversion at hyperspheres, flat torus, geodesics on the flat torus, Erhard Schmidt's othogonalization, orthogonal complement in the euclidean 4-space. Parameter representation for n-spheres, spiral transformations, spiral surfaces, MathGl3d, ThreeScript.



Notebook: pseuklid.nb

Needs: pseuvec.m, {euvec.m}


This notebook contains the basic definition of vector operations in  n-dimensional pseudo-euclidean spaces, including the euclidean case. The dimension dim and the index ind - the number of diagonal elements equal -1 in an orthogonalized basis- are the characterising constants for the pseudo-euclidean vector spaces, which are vector spaces over the real numbers.  In special relativity theory the "world" =  "space-time" is based on the pseudo-euclidean vector space of dimension dim = 4 and index ind = 1, corresponding to the three-dimensionality of the physical space and the one-dimensionality of time. For the N-dimensional Möbius space we have to set dim = N +2 and ind = 1. In the n-dimensional euclidean case we have, of course, dim = n and ind = 0. In the Lie geometry of spheres one has dim = 6 and ind = 2.

Changes: The most interesting subject treated in this notebook is the orthogonalization of vector sequences in the pseudo-euclidean case, which has been corrected and refined in the last revision. Furthermore, the procedure psfilter has been simplified: now a repeated application of psfilter is not necessary in any cases. 


Dimension dim, index ind, pseudo-euclidean scalar product, generalized cross product, spacelike, timelike, isotropic vectors, norming, orthogonalization, orthopairs.


Notebook: mspheres.nb

Needs: mspher.m {pseuvec.m, euvec.m}


This notebook treats 2-spheres within the 3-sphere, or the euclidean 3-space, as objects of Möbius Geometry. First we introduce some basic objects  of n-dimensional Möbius geometry, which is the conformal geometry of the n-sphere. We emphasize the case n=3, in which Möbius geometry can be visualized in the Euclidean 3-space by stereographical projection from the north pole. For this purpose we construct a version of the stereographical  projection, and its inversion, which relates isotropic vectors of the pseudo-euclidean 5-space and points of the 3-space. The bijectivity between subspheres of the 3-sphere and one-dimensional euclidean subspaces of the  5-dimensional pseudo-euclidean vector space is established. Functions describing this bijective relation are constructed. The only Möbius invariant between hyperspheres: the inversive or Coxeter distance, is introduced. Finally we find and visualize the geodesics of the sphere space. The concepts developed in this notebook are collected in the package mspher.m. This notebook continues the notebook eusphere.nb, which contains the metric geometry of spheres. It uses tools of pseudo-euclidean linear algebra, developed in the notebook pseuklid.nb.


The functions psphere, paramsphere, showsphere are deleted now; plotsphere is obsolete.  They are replaced by similar functions euklidsphere, euklidsphereplot3D. New functions: vradius, vcenter are introduced. 


Generalized angles between spheres. Conformal invariant. Inversive distance. Spheres defined by spacelike vectors. Random spacelike unit vectors. Random spheres. Spacelike vectors corresponding to spheres and planes. Spheres through four points. Stereographical projection of isotropic vectors. Space of all spheres. Geodesics in the sphere space; spacelike, timelike, and isotropic geodesics. 



Notebook: mcircles.nb

Needs mcirc.m {mspher.m, pseuvec.m, euvec.m}


This notebook describes the Möbius invariants for pairs of circles in the 3-sphere, or, by stereographical projection, in the euclidean 3-space. Section 2 contains the needed concepts for the euclidean geometry of circles in the 3-space (or in the 3-sphere). On the level of the euclidean 3-space we give a  parametrization of the 6-dimensional space of circles. We construct two plot  commands which plot the circles corresponding to these parameters. Furthermore, we define functions giving the circle, and the euclidean invariants radius, center and position vector of the circle through three points on the euclidean level. As an application, a plot command for tubes of general space curves is developed. Section 3 gives the basic concepts for circles in the 3-dimensional Möbius space. The circles are represented by 2-dimensional euclidean subspaces of the 5-dimensional pseudo-euclidean vector space of index 1, which are defined by orthonormal pairs of vectors. By stereographical projection of the 3-sphere onto the euclidean 3-space the circles become usual euclidean 3D-graphics (important for considering the mutual position of circles in space). We construct procedures giving an adapted frame of the euclidean 2-space in terms of the euclidean circle invariants, and vice versa giving the circle as function of the euclidean 2-space. In Section 4 we define a complete system of Möbius-geometric invariants for pairs of circles in the 3-sphere, and try to find out their geometric meaning. Section 5 gives the normal forms of the circle pairs in relation to this system of invariants. Geodesics are studied as circle orbits and plotted in section 6. The last section imports ThreeScript and MathGL3d, which can be applied for animations of the created 3D-graphics. Many, but not all constructs developed in this notebook are collected in the package mcirc.m. This notebook is related to the notebooks eusphere.nb, which contains  the metric geometry of spheres, and the notebook mspheres.nb, devoted to the Möbius geometry of spheres. It uses tools of pseudo-euclidean linear algebra, developed in the notebook pseuklid.nb. 


New constructs: adaptsplframe, radius, center, posvec, circleplane, circlespacevectors are introduced.


pseudo-euclidean geometry,  Möbius geometry,  3D-circles, circles defined by subspaces,  radius, center, position vector, orthogonal circles,  isospherical circles, stationary angles,  eigenspheres, invariants of pairs of circles, normal forms of pairs of circles, geodesics in the circle space, MathGL3d.


Notebook: pairs.nb

Needs init.m (and the packages described above, declared in init.m)

For section 6 also the package liealg.m is needed.


This notebook describes the Möbius invariants for pairs of subspheres in

the 3-sphere, or, by stereographical projection, in the euclidean

3-space . The most important cases, pairs of spheres and pairs of circles, are

treated in the notebooks mspheres.nb and mcircles.nb, some procedures of which

are needed in the present notebook. In section 2 pairs consisting of a sphere

and a circle are considered; they are characterized up to Möbius equivalence

by a single invariant invsc. Certain expressions of invsc in terms of

euclidean invariants of the pairs are deduced. Section 3 treats pairs

consisting of a sphere and a point pair; remember that point pairs are

0-spheres. Their mutual position is described again by a single invariant

named invspp. In section 4 pairs of 1-spheres and 0-spheres, i.e. circles and

point pairs, are considered; their mutual position depends on two invariants:

the eigenvalues of a double projection. Finally, section 5 treats

point quadruples as pairs of 0-spheres, and in section 6 the geodesics in the

space of 0-spheres (= point pairs) are considered. The last section imports 

ThreeScript and MathGL3d, which can be applied for animations of the created



pseudo-euclidean geometry, Möbius geometry, rank of a matrix, random matrix, 3D-circles, invariants of pairs of subspheres (arbitrary dimensions), double projection, stationary angles, eigenspheres, point pairs as 0-spheres, associated spheres, point quadruples, throws, geodesics in the space of 0-spheres, Killing form, MathGL3d.