EleNTorus software computes a parametric representation of the n-dimensional sphere, cylinder, ellipsoid, and torus. It uses a recursive formula over dimensions. Also, EleNTorus computes Jacobian and Hessian matrices, containing tangents and curvatures.
The parametric representation of the unit 1-sphere (circle) is
y0 = cos x0,
y1 = sin x0.
If this circle is rotated about an axis passing through the center, a sphere results. The unit 2-sphere is
y0 = cos x0,
y1 = sin x0 cos x1,
y2 = sin x0 sin x1.

This representation is constructed from the previous by an addition formula and suffix factors. Likewise, if the 2-sphere is rotated in a new dimension, a 3-sphere results. That is, each point on the 2-sphere is carried around in a circle in the new dimension. The 3-sphere is near impossible to visualize. Nonetheless, we know all its properties. The unit 3-sphere is
y0 = cos x0,
y1 = sin x0 cos x1,
y2 = sin x0 sin x1 cos x2,
y3 = sin x0 sin x1 sin x2.
Again, this representation is constructed from the previous by an addition formula and suffix factors. It is clear that the same construction can be applied recursively, giving a n-sphere. EleNTorus software uses this formula recursion to compute a n-sphere. It also computes tangent and curvature at every point as described below.
Besides being an interesting curiosity, what is the importance of the n-sphere? Consider a point in a plane. The circle centered on this point describes the points an equal distance in all directions. Likewise, a 2-sphere describes those points in ordinary 3-space. A n-sphere plays a similar role in (n+1)-space. Also, a n-sphere has constant curvature in all directions at every point.
The 1-sphere (circle) formula can be generalized to the 1-ellipsoid (ellipse) with semiaxis radius ar. It is
y0 = a0 cos x0,
y1 = a1 sin x0.
The 2-ellipsoid is
y0 = a0 cos x0,
y1 = a1 sin x0 cos x1,
y2 = a2 sin x0 sin x1.

The 3-ellipsoid is
y0 = a0 cos x0,
y1 = a1 sin x0 cos x1,
y2 = a2 sin x0 sin x1 cos x2,
y3 = a3 sin x0 sin x1 sin x2.
EleNTorus software uses this formula recursion to compute a n-ellipsoid. It also computes tangent and curvature at every point as described below.
If 1-ellipsoid (ellipse) is rotated about an axis not passing through the center, a torus results. The offsetting distance is the torus radius bi. If the torus radius is greater than the ellipse radius, then the torus has a hole. The 1-torus is the ellipse not centered on the origin
y0 = a0 cos x0,
y1 = a1 sin x0 + b1.
The 2-torus is
y0 = a0 cos x0,
y1 = (a1 sin x0 + b1) cos x1,
y2 = (a2 sin x0 + b1) sin x1 + b2.

The 3-torus is
y0 = a0 cos x0,
y1 = (a1 sin x0 + b1) cos x1,
y2 = ((a2 sin x0 + b1) sin x1 + b2) cos x2,
y3 = ((a3 sin x0 + b1) sin x1 + b2) sin x2 + b3.
EleNTorus software uses this formula recursion to compute a n-torus. The n-torus formula includes other important manifolds as special cases. The n-ellipsoid has bi=0. The unit n-sphere has ar=1.
Like all parametric representations, these formulas imply directional tangents and curvatures at every point. These are derived from first and second partial derivatives yr,i and yr,ij. All these derivatives are arrayed in Jacobian and Hessian matrices. For the unit 3-sphere, the Jacobian matrix is
y0,0 = -sin x0,
y0,1 = 0,
y0,2 = 0,
y1,0 = cos x0 cos x1,
y1,1 = -sin x0 sin x1,
y1,2 = 0,
y2,0 = cos x0 sin x1 cos x2,
y2,1 = sin x0 cos x1 cos x2,
y2,2 = -sin x0 sin x1 sin x2,
y3,0 = cos x0 sin x1 sin x2,
y3,1 = sin x0 cos x1 sin x2,
y3,2 = sin x0 sin x1 cos x2.
The unit 3-sphere Hessian matrix is
y0,00 = -cos x0,
y0,01 = 0,
y0,02 = 0,
y0,10 = y0,01,
y0,11 = 0,
y0,12 = 0,
y0,20 = y0,02,
y0,21 = y0,12,
y0,22 = 0,
y1,00 = -sin x0 cos x1,
y1,01 = -cos x0 sin x1,
y1,02 = 0,
y1,10 = y1,01,
y1,11 = -sin x0 cos x1,
y1,12 = 0,
y1,20 = y1,02,
y1,21 = y1,12,
y1,22 = 0,
y2,00 = -sin x0 sin x1 cos x2,
y2,01 = cos x0 cos x1 cos x2,
y2,02 = -cos x0 sin x1 sin x2,
y2,10 = y2,01,
y2,11 = -sin x0 sin x1 cos x2,
y2,12 = -sin x0 cos x1 sin x2,
y2,20 = y2,02,
y2,21 = y2,12,
y3,22 = -sin x0 sin x1 cos x2,
y3,00 = -sin x0 sin x1 sin x2,
y3,01 = cos x0 cos x1 sin x2,
y3,02 = cos x0 sin x1 cos x2,
y3,10 = y3,01,
y3,11 = -sin x0 sin x1 sin x2,
y3,12 = sin x0 cos x1 cos x2,
y3,20 = y3,02,
y3,21 = y3,12,
y3,22 = -sin x0 sin x1 sin x2.
For the 3-torus, the Jacobian matrix is
y0,0 = -a0 sin x0,
y0,1 = 0,
y0,2 = 0,
y1,0 = a1 cos x0 cos x1,
y1,1 = -(a1 sin x0 + b1) sin x1,
y1,2 = 0,
y2,0 = a2 cos x0 sin x1 cos x2,
y2,1 = (a2 sin x0 + b1) cos x1 cos x2,
y2,2 = -((a2 sin x0 + b1) sin x1 + b2) sin x2,
y3,0 = a3 cos x0 sin x1 sin x2,
y3,1 = (a3 sin x0 + b1) cos x1 sin x2,
y3,2 = ((a3 sin x0 + b1) sin x1 + b2) cos x2.
The 3-torus Hessian matrix is
y0,00 = -a0 cos x0,
y0,01 = 0,
y0,02 = 0,
y0,10 = y0,01,
y0,11 = 0,
y0,12 = 0,
y0,20 = y0,02,
y0,21 = y0,12,
y0,22 = 0,
y1,00 = -a1 sin x0 cos x1,
y1,01 = -a1 cos x0 sin x1,
y1,02 = 0,
y1,10 = y1,01,
y1,11 = -(a1 sin x0 + b1) cos x1,
y1,12 = 0,
y1,20 = y1,02,
y1,21 = y1,12,
y1,22 = 0,
y2,00 = -a2 sin x0 sin x1 cos x2,
y2,01 = a2 cos x0 cos x1 cos x2,
y2,02 = -a2 cos x0 sin x1 sin x2,
y2,10 = y2,01,
y2,11 = -(a2 sin x0 + b1) sin x1 cos x2,
y2,12 = -(a2 sin x0 + b1) cos x1 sin x2,
y2,20 = y2,02,
y2,21 = y2,12,
y2,22 = -((a2 sin x0 + b1) sin x1 + b2) cos x2,
y3,00 = -a3 sin x0 sin x1 sin x2,
y3,01 = a3 cos x0 cos x1 sin x2,
y3,02 = a3 cos x0 sin x1 cos x2,
y3,10 = y3,01,
y3,11 = -(a3 sin x0 + b1) sin x1 sin x2,
y3,12 = (a3 sin x0 + b1) cos x1 cos x2,
y3,20 = y3,02,
y3,21 = y3,12,
y3,22 = -((a3 sin x0 + b1) sin x1 + b2) sin x2.
The Jacobian matrix has (n+1)Xn elements. The Hessian matrix has (n+1)Xn2 elements. That is 1100 elements when n=10. Although some of these are equal due to symmetry, the complexity is daunting. Fortunately, they can be evaluated in a smart way. Formula recursion described above is inherited by partial derivative formulas.
EleNTorus software performs several optimizations:
EleNTorus software is implemented in the manifold.c routine in the Geodes geodesic computing package
stored in the Netlib repository of scientific software.
EleGeodesic software computes geodesics on n-dimensional manifolds, including all EleNTorus manifolds.

EleSalient software computes salient assemblages (recursive bumps) on n-dimensional manifolds, including all EleNTorus manifolds.
