.TH HYPERBOLIC 1 "12 January 1993" hyperbolic "Mathematica package"
.SH NAME
Projective, PoincareBall, Minkowski, UpperHalfSpace, Hemisphere,
ModelQ, UnitCircle, Vector, Convert, Distance, VectorLength, Angle,
Drag, Frame, CompleteFrame, Isometry, Peel, ResolveHyperbolic
.SH SYNOPSIS
.nf
<model]. For example:
.nf
In[2]:= Convert[UpperHalfSpace[{.5,.5}], Minkowski]
Out[2]= Minkowski[{1., -0.5, 1.5}]
.fi
.TP 4
Vector[x,y]
denotes the Euclidean vector y based at x.
.TP 4
Distance[model1[x],model2[y]],
gives the hyperbolic distance between model1[x] and model2[y].
.TP 4
VectorLength[model[Vector[x,y]]]
gives the hyperbolic length of the given tangent vector.
.TP 4
Angle[model1[Vector[x1,y1]],model2[Vector[x2,y2]]]
gives the angle between two tangent vectors at the same point.
Model1[x1] and model2[x2] must represent the same point and
y1 and y2 must be nonzero.
.TP 4
Drag[model[Vector[x,y]]]
gives the vector obtained by parallel transport of Vector[x,y] along
the geodesic it determines, by a distance equal to the length of y.
Drag[model[Vector[x, y]],d] drags Vector[x,y] a distance d.
.PP
WARNING: the syntax for the next three commands is likely to change
.TP 4
Minkowski[Frame[x]],
where x is an (n+1) by (n+1) matrix, representing an orthonormal basis
for (n+1)-dimensional Minkowski space. The last element should have
length -1, the others length 1, and all inner products should be 0. In
hyperbolic space this corresponds to giving a point and an orthonormal
basis for the tangent space at that point.
.TP 4
CompleteFrame[model[Vector[x,y]],sign_:1]
yields a frame having x and y (more precisely their counterparts in Minkowski
space) in the last and last-but-one positions. The optional argument
sign gives the sign of the frame's determinant.
.TP 4
Isometry[frame1,frame2],
where frame1 and frame2 are of the form Minkowski[Frame[x]], gives the
unique isometry that takes frame1 to frame2. Isometry[,] . model[x],
where x is a point or a vector, gives the image of x under the
isometry. Isometries can be composed using the . operator, and
inverted using Inverse[].
.TP 4
Peel[x]
removes the head of the expression x, which should have only one
element. This should be used with caution as it removes essential
information about the meaning of x.
.TP 4
ResolveHyperbolic
contains a set of replacement rules for turning Point, Line, Polygon
and Text expressions containing hyperbolic coordinates into
standard Mathematica graphics primitives. Coordinates may be in the
Projective, PoincareBall or the UpperHalfSpace model and in either two or three
dimensions with the following exceptions: Lines in the
UpperHalfSpace model and Polygons (in any model) are only supported
in dimension two. In practice, as the following paragraph describes,
it should never be necessary to make direct use of ResolveHyperbolic.
.PP
Mathematica's built-in Display function is overloaded to apply
the current default Convert function followed by ResolveHyperbolic
whenever it encounters points in hyperbolic space. Display is
called automatically whenever Graphics or Graphics3D objects are shown.
For example, to draw a line in the poincare ball model:
.nf
In[4]:= SetOptions[Convert, Model -> PoincareBall]
Out[4]= {Model -> PoincareBall}
In[5]:= Show[Graphics[Line[{Projective[{1,0}], Projective[{0,.5}]}]]]
Out[5]= -Graphics-
.fi
.SH SEE ALSO
Manual entry "hypintro" for an introduction to the facilities
of the package.