We propose to consider ensembles of cycles (quadrics), which are interconnected through conformal-invariant geometric relations (e.g. “to be orthogonal”, “to be tangent”, etc.), as new objects in an extended Möbius–Lie geometry. It was recently demonstrated in several related papers, that such ensembles of cycles naturally parameterise many other conformally-invariant families of objects, e.g. loxodromes or continued fractions.
The paper describes a method, which reduces a collection of conformally invariant geometric relations to a system of linear equations, which may be accompanied by one fixed quadratic relation. To show its usefulness, the method is implemented as a C++ library. It operates with numeric and symbolic data of cycles in spaces of arbitrary dimensionality and metrics with any signatures. Numeric calculations can be done in exact or approximate arithmetic. In the two- and three-dimensional cases illustrations and animations can be produced. An interactive Python wrapper of the library is provided as well.
Lie sphere geometry [59] [32]*Ch. 3 [148] in the simplest planar setup unifies circles, lines and points—all together called cycles in this setup. Symmetries of Lie spheres geometry include (but are not limited to) fractional linear transformations (FLT) of the form:
| : x ↦ |
| , where det |
| ≠ 0. (1) |
Following other sources, e.g. [306]*§ 9.2, we call (1) by FLT and reserve the name “Möbius maps” for the subgroup of FLT which fixes a particular cycle. For example, on the complex plane FLT are generated by elements of SL2(ℂ) and Möbius maps fixing the real line are produced by SL2(ℝ) [198]*Ch. 1.
There is a natural set of FLT-invariant geometric relations between cycles (to be orthogonal, to be tangent, etc.) and the restriction of Lie sphere geometry to invariants of FLT is called Möbius–Lie geometry. Thus, an ensemble of cycles, structured by a set of such relations, will be mapped by FLT to another ensemble with the same structure.
It was shown recently that ensembles of cycles with certain FLT-invariant relations provide helpful parametrisations of new objects, e.g. points of the Poincaré extended space [209], loxodromes [218] or continued fractions [28, 208], see Example 3 below for further details. Thus, we propose to extend Möbius–Lie geometry and consider ensembles of cycles as its new objects, cf. formal Defn. 5. Naturally, “old” objects—cycles—are represented by simplest one-element ensembles without any relation. This paper provides conceptual foundations of such extension and demonstrates its practical implementation as a C++ library figure1. Interestingly, the development of this library shaped the general approach, which leads to specific realisations in [209, 208, 218].
More specifically, the library figure manipulates ensembles of cycles (quadrics) interrelated by certain FLT-invariant geometric conditions. The code is build on top of the previous library cycle [186, 198, 185], which manipulates individual cycles within the GiNaC [21] computer algebra system. Thinking an ensemble as a graph, one can say that the library cycle deals with individual vertices (cycles), while figure considers edges (relations between pairs of cycles) and the whole graph. Intuitively, an interaction with the library figure reminds compass-and-straightedge constructions, where new lines or circles are added to a drawing one-by-one through relations to already presented objects (the line through two points, the intersection point or the circle with given centre and a point). See Example 6 of such interactive construction from the Python wrapper, which provides an analytic proof of a simple geometric statement.
It is important that both libraries are capable to work in spaces of any dimensionality and metrics with an arbitrary signatures: Euclidean, Minkowski and even degenerate. Parameters of objects can be symbolic or numeric, the latter admit calculations with exact or approximate arithmetic. Drawing routines work with any (elliptic, parabolic or hyperbolic) metric in two dimensions and the euclidean metric in three dimensions.
The mathematical formalism employed in the library cycle is based on Clifford algebras, which are intimately connected to fundamental geometrical and physical objects [133, 132]. Thus, it is not surprising that Clifford algebras have been already used in various geometric algorithms for a long time, for example see [134, 334, 86] and further references there. Our package deals with cycles through Fillmore–Springer–Cnops construction (FSCc) which also has a long history, see [300]*§ 1.1 [65]*§ 4.1 [100] [163]*§ 4.2 [191] [198]*§ 4.2 and section 13.2.1 below. Compared to a plain analytical treatment [276]*Ch. 2 [32]*Ch. 3, FSCc is much more efficient and conceptually coherent in dealing with FLT-invariant properties of cycles. Correspondingly, the computer code based on FSCc is easy to write and maintain.
The paper outline is as follows. In Section 13.2 we sketch the mathematical theory (Möbius–Lie geometry) covered by the package of the previous library cycle [186] and the present library figure. We expose the subject with some references to its history since this can facilitate further development.
Sec. 13.3.1 describes the principal mathematical tool used by the library figure. It allows to reduce a collection of various linear and quadratic equations (expressing geometrical relations like orthogonality and tangency) to a set of linear equations and at most one quadratic relation (8). Notably, the quadratic relation is the same in all cases, which greatly simplifies its handling. This approach is the cornerstone of the library effectiveness both in symbolic and numerical computations. In Sec. 13.3.2 we present several examples of ensembles, which were already used in mathematical theories [209, 208, 218], then we describe how ensembles are encoded in the present library figure through the functional programming framework.
Sec. 13.4 outlines several typical usages of the package. An example of a new statement discovered and demonstrated by the package is given in Thm. 7. In Sec. 13.5 we list of some further tasks, which will extend capacities and usability of the package.
All coding-related material is enclosed as appendices in the full documentation on the project page [186]. They contain:
Sec. 13.2, Example 6 below or the above-mentioned first two appendices of the full documentation can serve as an entry point for a reader with respective preferences and background.
We briefly outline mathematical formalism of the extend Möbius–Lie geometry, which is implemented in the present package. We do not aim to present the complete theory here, instead we provide a minimal description with a sufficient amount of references to further sources. The hierarchical structure of the theory naturally splits the package into two components: the routines handling individual cycles (the library cycle briefly reviewed in this section), which were already introduced elsewhere [186], and the new component implemented in this work, which handles families of interrelated cycles (the library figure introduced in the next section).
Möbius–Lie geometry in ℝn starts from an observation that points can be treated as spheres of zero radius and planes are the limiting case of spheres with radii diverging to infinity. Oriented spheres, planes and points are called together cycles. Then, the second crucial step is to treat cycles not as subsets of ℝn but rather as points of some projective space of higher dimensionality, see [33]*Ch. 3 [59] [276] [300].
To distinguish two spaces we will call ℝn as the point space and the higher dimension space, where cycles are represented by points—the cycle space. Next important observation is that geometrical relations between cycles as subsets of the point space can be expressed in term of some indefinite metric on the cycle space. Therefore, if an indefinite metric shall be considered anyway, there is no reason to be limited to spheres in Euclidean space ℝn only. The same approach shall be adopted for quadrics in spaces ℝpqr of an arbitrary signature p+q+r=n, including r nilpotent elements, cf. (2) below.
A useful addition to Möbius–Lie geometry is provided by the Fillmore–Springer–Cnops construction (FSCc) [300]*§ 1.1 [65]*§ 4.1 [289]*§ 18 [100] [163]*§ 4.2 [191] [198]*§ 4.2. It is a correspondence between the cycles (as points of the cycle space) and certain 2× 2-matrices defined in (4) below. The main advantages of FSCc are:
The last observation is that for restricted groups of Möbius transformations the metric of the cycle space may not be completely determined by the metric of the point space, see [185] [191] [198]*§ 4.2 for an example in two-dimensional space.
FSCc is useful in consideration of the Poincaré extension of Möbius maps [209], loxodromes [218] and continued fractions [208]. In theoretical physics FSCc nicely describes conformal compactifications of various space-time models [130] [187] [198]*§ 8.1. Regretfully, FSCc have not yet propagated back to the most fundamental case of complex numbers, cf. [306]*§ 9.2 or somewhat cumbersome techniques used in [32]*Ch. 3. Interestingly, even the founding fathers were not always strict followers of their own techniques, see [101].
We turn now to the explicit definitions.
We describe here the mathematics behind the the first library called cycle, which implements fundamental geometrical relations between quadrics in the space ℝpqr with the dimensionality n=p+q+r and metric x12+…+xp2−xp+12−…−xp+q2. A version simplified for complex numbers only can be found in [209, 218, 208].
The Clifford algebra Cl(p,q,r) is the associative unital algebra over ℝ generated by the elements e1,…,en satisfying the following relation:
ei ej =− ejei , and ei2= | ⎧ ⎪ ⎨ ⎪ ⎩ |
| (2) |
It is common [75, 65, 289, 133, 132] to consider mainly Clifford algebras Cl(n)=Cl(n,0,0) of the Euclidean space or the algebra Cl(p,q)=Cl(p,q,0) of the pseudo-Euclidean (Minkowski) spaces. However, Clifford algebras Cl(p,q,r), r>0 with nilpotent generators ei2=0 correspond to interesting geometry [198, 191, 339, 261] and physics [120, 117, 118, 200, 203, 210] as well. Yet, the geometry with idempotent units in spaces with dimensionality n>2 is still not sufficiently elaborated.
An element of Cl(p,q,r) having the form x=x1e1+…+xnen can be associated with the vector (x1,…,xn)∈ℝpqr. The reversion a↦ a* in Cl(p,q,r) [65]*(1.19(ii)) is defined on vectors by x*=x and extended to other elements by the relation (ab)*=b*a*. Similarly the conjugation is defined on vectors by x=−x and the relation ab=bā. We also use the notation | a |2=aā for any product a of vectors. An important observation is that any non-zero x∈ℝn00 has a multiplicative inverse: x−1=x/| x |2. For a 2× 2-matrix M= (
a | b |
c | d |
) with Clifford entries we define, cf. [65]*(4.7)
M= |
| and M*= |
| . (3) |
Then MM=δ I for the pseudodeterminant δ:=ad*−bc* .
Quadrics in ℝpq—which we continue to call cycles—can be associated to 2× 2 matrices through the FSC construction [100] [65]*(4.12) [198]*§ 4.4:
kxx−lx−xl+m=0 ↔ C= |
| , (4) |
where k, m∈ℝ and l∈ℝpq. For brevity we also encode a cycle by its coefficients (k,l,m). A justification of (4) is provided by the identity:
|
|
| = kxx−lx−xl+m, since x=−x for x∈ℝpq. |
The identification is also FLT-covariant in the sense that the transformation (1) associated with the matrix M= (
a | b |
c | d |
) sends a cycle C to the cycle MCM* [65]*(4.16). We define the FLT-invariant inner product of cycles C1 and C2 by the identity
|
where ℜ denotes the scalar part of a Clifford number. This definition in term of matrices immediately implies that the inner product is FLT-invariant. The explicit expression in terms of components of cycles C1=(k1,l1,m1) and C2=(k2,l2,m2) is also useful sometimes:
|
As usual, the relation ⟨ C1,G 2 ⟩=0 is called the orthogonality of cycles C1 and C2. In most cases it corresponds to orthogonality of quadrics in the point space. More generally, most of FLT-invariant relations between quadrics may be expressed in terms FLT-invariant inner product (5). For the full description of methods on individual cycles, which are implemented in the library cycle, see the respective documentation [186].
⎡ ⎣ | C1,C2 | ⎤ ⎦ | := |
| (7) |
We finish this brief review of the library cycle by pointing to its light version written in Asymptote language [126] and distributed together with the paper [218]. Although the light version mostly inherited API of the library cycle, there are some significant limitations caused by the absence of GiNaC support:
On the other hand, being integrated with Asymptote the light version simplifies production of illustrations, which are its main target.
The library figure has an ability to store and resolve the system of geometric relations between cycles. We explain below some mathematical foundations, which greatly simplify this task.
We need a vocabulary, which translates geometric properties of quadrics on the point space to corresponding relations in the cycle space. The key ingredient is the cycle product (5)–(4), which is linear in each cycles’ parameters. However, certain conditions, e.g. tangency of cycles, involve polynomials of cycle products and thus are non-linear. For a successful algorithmic implementation, the following observation is important: all non-linear conditions below can be linearised if the additional quadratic condition of normalisation type is imposed:
⟨ C,C ⟩=±1. (8) |
This observation in the context of the Apollonius problem was already made in [101]. Conceptually the present work has a lot in common with the above mentioned paper of Fillmore and Springer, however a reader need to be warned that our implementation is totally different (and, interestingly, is more closer to another paper [100] of Fillmore and Springer).
Here is the list of relations between cycles implemented in the current version of the library figure.
⟨ C,S ⟩2 = ⟨ C,C ⟩ ⟨ S ,S ⟩ | ⎛ ⎝ | or | ⎡ ⎣ | C,S | ⎤ ⎦ | =± 1 | ⎞ ⎠ | . (9) |
⟨ C,S ⟩ = ± | √ |
| . (10) |
⟨ C,S ⟩ = θ | √ |
| √ |
| (11) |
If we are looking for a cycle C with a given inversive distance θ to a given cycle S , then the normalisation (8) again turns the defining relation (12) into a linear with respect to parameters of the unknown cycle C.
d= ⟨ C,S ⟩ + | √ |
| √ |
| , (12) |
If we replace C by the cycle C1=1/√⟨ C,C ⟩C satisfying (8), the identity (13) becomes:
d· k= ⟨ C1,S ⟩ + | √ |
| , (13) |
where k=1/√⟨ C,C ⟩ is the coefficient in front of the quadratic term of C1. The last identity is linear in terms of the coefficients of C1.
Summing up: if an unknown cycle is connected to already given cycles by any combination of the above relations, then all conditions can be expressed as a system of linear equations for coefficients of the unknown cycle and at most one quadratic equation (8).
We start from some examples of ensembles of cycles, which conveniently describe FLT-invariant families of objects.
One can easily note that the above parametrisations of some objects by ensembles of cycles are not necessary unique. Naturally, two ensembles parametrising the same object are again connected by FLT-invariant conditions. We presented only one example here, cf. [218].
⎡ ⎣ | C2,C3 | ⎤ ⎦ | = | ⎡ ⎣ | S 2,S 3 | ⎤ ⎦ | . (14) |
| ≡ |
| arccos | ⎡ ⎣ | C1,S 1 | ⎤ ⎦ | (mod 1 ) , (15) |
The respective equivalence relation for parametrisation of Poincaré extension from Ex. 31 is provided in [209]*Prop. 12. These examples suggest that one can expand the subject and applicability of Möbius–Lie geometry through the following formal definition.
Ci and Cj are in the relation f(i,j) for all (i,j)∈ R. |
This definition can be suitably modified for
The above extension was developed along with the realisation the library figure within the functional programming framework—in contrast to procedural approach used in popular software packages like GeoGebra [135], CaRMetal [124], Kig [77], Dr. Geo [96] etc. The later provides a fixed set of geometric construction procedures, e.g. “find the midpoint of an interval”, “drop the perpendicular from a point to a line”, etc. In contrast, all new cycles in class figure are added through a list of defining relations, which links the new cycle to already existing ones2. So other geometric packages are designed in the same paradigm as FORTRAN programming language while class figure is similar to Lisp.
It is well-known that both procedural and functional approaches to programme languages realises Turing computability paradigm. Similarly, the above mentioned interactive geometry packages and the present figure library may be treated as an extension of the classical geometric compass-and-straightedge constructions, where new lines or circles are drawn through already existing elements. If requested, an explicit evaluation of cycles’ parameters from this data may be attempted.
To avoid “chicken or the egg” dilemma all cycles are stored in a hierarchical structure of generations, numbered by integers. The basic principles are:
k=max(k1,k2,…,kn)+1 . (16) |
There are the following alterations of the above rules:
A figure can be in two different modes: freeze or unfreeze, the second is default. In the unfreeze mode an addition of a new cycle by its relation prompts an evaluation of its parameters. If the evaluation was successful then the obtained parameters are stored and will be used in further calculations for all children of the cycle. Since many relations (see the previous Subsection) are connected to quadratic equation (8), the solutions may come in pairs. Furthermore, if the number or nature of conditions is not sufficient to define the cycle uniquely (up to natural quadratic multiplicity), then the cycle will depend on a number of free (symbolic) variable.
There is a macro-like tool, which is called subfigure. Such a subfigure is a figure itself, such that its inner hierarchy of generations and relations is not visible from the current figure. Instead, some cycles (of any generations) of the current figure are used as predefined cycles of generation-0 of subfigure. Then only one dependent cycle of subfigure, which is known as result, is returned back to the current figure. The generation of the result is calculated from generations of input cycles by the same formula (16).
There is a possibility to test certain conditions (“are two cycles orthogonal?”) or measure certain quantities (“what is their intersection angle?”) for already defined cycles. In particular, such methods can be used to prove geometrical statements according to the Cartesian programme, that is replacing the synthetic geometry by purely algebraic manipulations.
Tangent and circle r are orthogonal: True Tangent and circle r are orthogonal: True
An original statement proved by the library figure for the first time will be considered in the next Section.
The developed library figure has several different uses:
Computer experiments are especially valuable for Lie geometry of indefinite or nilpotent metrics since our intuition is not elaborated there in contrast to the Euclidean space [190, 185, 191]. Some advances in the two-dimensional space were achieved recently [261, 198], however further developments in higher dimensions are still awaiting their researchers.
As a non-trivial example of automated proof accomplished by the figure library for the first time, we present a FLT-invariant version of the classical nine-point theorem [276]*§ I.1 [71]*§ 1.8, cf. Fig. 13.4(a):
There are many further interesting properties, e.g. nine-point circle is externally tangent to that triangle three excircles and internally tangent to its incircle as it seen from Fig. 13.4(a).
To adopt the statement for cycles geometry we need to find a FLT-invariant meaning of the midpoint Am of an interval BC, because the equality of distances BAm and AmC is not FLT-invariant. The definition in cycles geometry can be done by either of the following equivalent relations:
Both procedures are meaningful if we replace the point at infinity I by an arbitrary fixed point N of the plane. In the second case all lines will be replaced by cycles passing through N, for example the line through B and C shall be replaced by a cycle through B, C and N. If we similarly replace “lines” by “cycles passing through N” in Thm. 7 it turns into a valid FLT-invariant version, cf. Fig. 13.4(b). Some additional properties, e.g. the tangency of the nine-points circle to the ex-/in-circles, are preserved in the new version as well. Furthermore, we can illustrate the connection between two versions of the theorem by an animation, where the infinity is transformed to a finite point N by a continuous one-parameter group of FLT. Fig. 13.5 in the electronic version of this paper shows such an animation; the printed version of this figure presents two intermediate steps in the transition from Fig. 13.4(a) to 13.4(b). Further examples of animations can be found at [207].
It is natural to test the nine-point theorem in the hyperbolic and the parabolic spaces. Fortunately, it is very easy under the given implementation: we only need to change the defining metric of the point space, cf. [6], this can be done for an already defined figure. The corresponding figures Fig. 13.4(c) and (d) suggest that the hyperbolic version of the theorem is still true in the plain and even FLT-invariant forms. We shall clarify that the hyperbolic version of the Thm. 7 specialises the nine-point conic of a complete quadrilateral [61, 76]: in addition to the existence of this conic, our theorem specifies its type for this particular arrangement as equilateral hyperbola with the vertical axis of symmetry.
The computational power of the package is sufficient not only to hint that the new theorem is true but also to make a complete proof. To this end we define an ensemble of cycles with exactly same interrelations, but populate the generation-0 with points A, B and C with symbolic coordinates, that is, objects of the GiNaC class realsymbol. Thus, the entire figure defined from them will be completely general. Then, we may define the hyperbola passing through three bases of altitudes and check by the symbolic computations that this hyperbola passes another six “midpoints” as well.
In the parabolic space the nine-point Thm. 7 is not preserved in this manner. It is already observed [198, 191, 209, 190, 203, 196, 261, 19], that the degeneracy of parabolic metric in the point space requires certain revision of traditional definitions. The parabolic variation of nine-point theorem may prompt some further considerations as well. An expanded discussion of various aspects of the nine-point construction shall be the subject of a separate paper.
The library is still under active development. Along with continuous bug fixing there is an intention to extend both functionality and usability. Here are several nearest tasks planned so far:
Being an open-source project the library is open for contributions and suggestions of other developers and users.
site search by freefind | advanced |