An Extension of Moebius--Lie Geometry with Conformal Ensembles of Cycles and Its Implementation in a GiNaC Library

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 Moebius--Lie geometry. It was recently demonstrated in several related papers, that such ensembles of cycles naturally parameterise many other conformally-invariant 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.


INTRODUCTION
Lie sphere geometry [11], [8,Chapter 3], 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: ( a b c d Following other sources, e.g. [58, § 9.2], we call (1.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 SL 2 (C) and Möbius maps fixing the real line are produced by SL 2 (R) [41,Chapter 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 parametrizations of new objects, e.g. points of the Poincaré extended space [46], loxodromes [48] or continued fractions [7], [45], see Example 3.4 below for further details. Thus, we propose to extend Möbius-Lie geometry and consider ensembles of cycles as its new objects, cf. formal Definition 3.6. Naturally, "old" objects -cycles -are represented by simplest one-element ensembles without any relation. This paper provides Extension of Lie geometry: ensembles and their implementation 47 conceptual foundations of such extension and demonstrates its practical implementation as a C++ library figure 1 . Interestingly, the development of this library shaped the general approach, which leads to specific realizations in [46], [45], [48].
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, [37], [41], [36], which manipulates individual cycles within the GiNaC [5] 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 3.7 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 [30], [29]. Thus, it is not surprising that Clifford algebras have been already used in various geometric algorithms for a long time, for example see [31], [60], [18] and further references there. Our package deals with cycles through Fillmore-Springer-Cnops construction (FSCc) which also has a long history, see [57, § 1.1], [13, § 4.1], [20], [34, § 4.2], [35], [41, § 4.2], and section 2.1 below. Compared to a plain analytical treatment [54,Chapter 2], [8,Chapter 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 2 we sketch the mathematical theory (Möbius-Lie geometry) covered by the package of the previous library cycle [37] and the present library figure. We expose the subject with some references to its history since this can facilitate further development. 48 V. V. Kisil Section 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 (3.1). 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 Section 3.3 we present several examples of ensembles, which were already used in mathematical theories [46], [45], [48], then we describe how ensembles are encoded in the present library figure through the functional programming framework. Section 4 outlines several typical usages of the package. An example of a new statement discovered and demonstrated by the package is given in Theorem 4.1. In Section 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 [37]. They contain: (i) Numerous examples of the library usage starting from the very simple ones. (ii) A systematic list of callable methods. (iii) Actual code of the library. Section 2, Example 3.7 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.

MÖBIUS-LIE GEOMETRY AND THE cycle LIBRARY
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 [37], 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 and FSC construction.
Möbius-Lie geometry in R 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 R n but rather as points of some projective space of higher dimensionality, see [9,Chapter 3], [11], [54], [57].
To distinguish two spaces we will call R 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 R n only. The same approach shall be adopted for quadrics in spaces R pqr of an arbitrary signature p + q + r = n, including r nilpotent elements, cf. (2.1) below.
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 [36], [35], [41, § 4.2], for an example in twodimensional space. FSCc is useful in consideration of the Poincaré extension of Möbius maps [46], loxodromes [48] and continued fractions [45]. In theoretical physics FSCc nicely describes conformal compactifications of various spacetime models [28], [38], [41, § 8.1]. Regretfully, FSCc have not yet propagated back to the most fundamental case of complex numbers, cf. [58, § 9.2] or somewhat cumbersome techniques used in [8,Chapter 3]. Interestingly, even the founding fathers were not always strict followers of their own techniques, see [21].
We turn now to the explicit definitions.
An element of Cℓ(p, q, r,) having the form x = x 1 e 1 + . . . + x n e n can be associated with the vector (x 1 , . . . , x n ) ∈ R pqr . The reversion a → a * in Cℓ(p, q, r,) [13, (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 byx = −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 ∈ R n00 has a multiplicative inverse: with Clifford entries we define, cf. [13, (4.7)], and Then MM = δI for the pseudodeterminant δ := ad * − bc * . Quadrics in R pq -which we continue to call cycles -can be associated to 2 × 2 matrices through the FSC construction [20], [13, (4.12)], [41, § 4.4]: where k, m ∈ R and l ∈ R pq . For brevity we also encode a cycle by its coefficients (k, l, m). A justification of (2.3) is provided by the identity: The identification is also FLT-covariant in the sense that the transforma- sends a cycle C to the cycle M C M * [13, (4.16)]. We define the FLT-invariant inner product of cycles C 1 and C 2 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 FLTinvariant.
The explicit expression in terms of components of cycles C 1 = (k 1 , l 1 , m 1 ) and C 2 = (k 2 , l 2 , m 2 ) is also useful sometimes: As usual, the relation ⟨C 1 , C 2 ⟩ = 0 is called the orthogonality of cycles C 1 and C 2 . 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 (2.4). For the full description of methods on individual cycles, which are implemented in the library cycle, see the respective documentation [37].

Remark 2.3.
Since cycles are elements of the projective space, the following normalised cycle product: is more meaningful than the cycle product (2.4) itself. Note that, is defined only if neither C 1 nor C 2 is a zero-radius cycle (i.e. a point). Also, the normalised cycle product is GL 2 (C)-invariant in comparison to SL 2 (C)-invariance of (2.4).
We finish this brief review of the library cycle by pointing to its light version written in Asymptote language [27] and distributed together with the paper [48]. Although the light version mostly inherited API of the library cycle, there are some significant limitations caused by the absence of GiNaC suppost: On the other hand, being integrated with Asymptote the light version simplifies production of illustrations, which are its main target.

ENSEMBLES OF INTERRELATED CYCLES AND THE figure LIBRARY
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.
3.1. Connecting quadrics and cycles. 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 (2.4)-(2.5), 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: This observation in the context of the Apollonius problem was already made in [21]. 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 [20] of Fillmore and Springer).

Remark 3.2.
Interestingly, the method of order reduction for algebraic equations is conceptually similar to the method of order reduction of differential equations used to build a geometric dynamics of quantum states in [2].
Here is the list of relations between cycles implemented in the current version of the library figure.
(i) A quadric is flat (i.e. is a hyperplane), that is, its equation is linear. Then, either of two equivalent conditions can be used: (a) k component of the cycle vector is zero; (b) the cycle is orthogonal ⟨C 1 , C ∞ ⟩ = 0 to the "zero-radius cycle at infinity" C ∞ = (0, 0, 1).
(ii) A quadric on the plane represents a line in a Lobachevsky-type geometry if it is orthogonal ⟨C 1 , C R ⟩ = 0 to the real line cycle C R . A similar condition is meaningful in higher dimensions as well.
(iii) A quadric C represents a point, that is, it has zero radius at given metric of the point space. Then, the determinant of the corresponding FSC matrix is zero or, equivalently, the cycle is self-orthogonal (isotropic): ⟨C , C ⟩ = 0. Naturally, such a cycle cannot be normalised to the form (3.1).
(iv) Two quadrics are orthogonal in the point space R pq . Then, the matrices representing cycles are orthogonal in the sense of the inner product (2.4).
(v) Two cycles C andC are tangent. Then we have the following quadratic condition: With the assumption, that the cycle C is normalised by the condition (3.1), we may re-state this condition in the relation, which is linear to components of the cycle C : Different signs here represent internal and outer touch.
(vi) Inversive distance θ of two (non-isotropic) cycles is defined by the formula: ⟨ In particular, the above discussed orthogonality corresponds to θ = 0 and the tangency to θ = ±1. For intersecting spheres θ provides the cosine of the intersecting angle. For other metrics, the geometric interpretation of inversive distance shall be modified accordingly. If we are looking for a cycle C with a given inversive distance θ to a given cycleC , then the normalisation (3.1) again turns the defining relation (3.4) into a linear with respect to parameters of the unknown cycle C .
where both cycles C andC are k-normalized, that is the coefficient in front the quadratic term in (2.3) is 1. Geometrically, the generalized Steiner power for spheres provides the square of tangential distance. However, this relation is again non-linear for the cycle C .
is the coefficient in front of the quadratic term of C 1 .
The last identity is linear in terms of the coefficients of C 1 .  (i) The Poincaré extension of Möbius transformations from the real line to the upper half-plane of complex numbers is described by a triple of cycles {C 1 , C 2 , C 3 } such that: (a) C 1 and C 2 are orthogonal to the real line; (c) C 3 is orthogonal to any cycle in the triple including itself. A modification [45] with ensembles of four cycles describes an extension from the real line to the upper half-plane of complex, dual or double numbers. The construction can be generalized to arbitrary dimensions [6].
(iii) A continued fraction is described by an infinite ensemble of cycles (C k ) such that [7]: (a) All C k are touching the real line (i.e. are horocycles); (b) (C 1 ) is a horizontal line passing through (0, 1); (c) C k+1 is tangent to C k for all k > 1. This setup was extended in [45] to several similar ensembles. The key analytic properties of continued fractions -their convergence-can be linked to asymptotic behaviour of such an infinite ensemble [7].
(iv) A remarkable relation exists between discrete integrable systems and Möbius geometry of finite configurations of cycles [10], [49], [50], [51], [56]. It comes from "reciprocal force diagrams" used in 19th-century statics, starting with J.C. Maxwell. It is demonstrated in that the geometric compatibility of reciprocal figures corresponds to the algebraic compatibility of linear systems defining these configurations. On the other hand, the algebraic compatibility of linear systems lies in the basis of integrable systems. Extension of Lie geometry: ensembles and their implementation 55 In particular [49], [50], important integrability conditions encapsulate nothing but a fundamental theorem of ancient Greek geometry.
(v) An important example of an infinite ensemble is provided by the representation of an arbitrary wave as the envelope of a continuous family of spherical waves. A finite subset of spheres can be used as an approximation to the infinite family. Then, discrete snapshots of time evolution of sphere wave packets represent a FLT-covariant ensemble of cycles [4]. Further physical applications of FLT-invariant ensembles may be looked at [33].
One can easily note that the above parametrizations of some objects by ensembles of cycles are not necessary unique. Naturally, two ensembles parametrizing the same object are again connected by FLT-invariant conditions. We presented only one example here, cf. [48].  (iii) The elliptic-hyperbolic identity holds: where j is either 2 or 3. Equivalent triples of cycles parametrizing the same loxodrome are shown on Fig. 3.1 (an animation is available with the electronic version of this paper).
The respective equivalence relation for parametrization of Poincaré extension from Example 3.4(i) is provided in [46,Prop. 12]. These examples suggest that one can expand the subject and applicability of Möbius-Lie geometry through the following formal definition. Definition 3.6. Let X be a set, R ⊂ X × X be an oriented graph on X and f be a function on R with values in FLT-invariant relations from § 3.1.
Then (R, f )-ensemble is a collection of cycles {C j } j∈X such that For a fixed FLT-invariant equivalence relations ∼ on the set E of all (R, f )ensembles, the extended Möbius-Lie geometry studies properties of cosets E/ ∼. This definition can be suitably modified for (i) ensembles with relations of more then two cycles; and/or (ii) ensembles parametrized by continuous sets X, cf. wave envelopes in Example 3.4(v). The above extension was developed along with the realization the library figure within the functional programming framework -in contrast to procedural approach used in popular software packages like GeoGebra [32], CaRMetal [26], Kig [17], Dr. Geo [19] 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 ones 2 . 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 programming languages realizes 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 compassand-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: (i) Any explicitly defined cycle (i.e., a cycle which is not related to any previously known cycle) is placed into generation-0; (ii) Any new cycle defined by relations to previous cycles from generations k 1 , k 2 , …, k n is placed to the generation k calculated as: This rule does not forbid a cycle to have a relation to itself, e.g. isotropy (self-orthogonality) condition ⟨C , C ⟩ = 0, which specifies point-like cycles, cf. relation (iii) in § 3.1. In fact, this is the only allowed type of relations to cycles in the same (not even speaking about younger) generations. There are the following alterations of the above rules: (i) From the beginning, every figure has two pre-defined cycles: the real line (hyperplane) C R , and the zero radius cycle at infinity C ∞ = (0, 0, 1). These cycles are required for relations (i) and (ii) from the previous subsection. As predefined cycles, C R and C ∞ are placed in negativenumbered generations defined by the macros REAL_LINE_GEN and INFINITY_GEN.
(ii) If a point is added to generation-0 of a figure, then it is represented by a zero-radius cycle with its centre at the given point. Particular parameter of such cycle dependent on the used metric, thus this cycle is not considered as explicitly defined. Thereafter, the cycle shall have some parents at a negative-numbered generation defined by the macro GHOST_GEN.
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 (3.1), 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. 58

V. V. Kisil
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 (3.9).
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. Example 3.7. As an elementary demonstration, let us prove that if a cycle r is orthogonal to a circle a at the point C of its contact with a tangent line l, then r is also orthogonal to the line l. To simplify setup we assume that a is the unit circle. Here is the Python code: ). normal ()) The first line creates an empty figure F with the default euclidean metric. The next line explicitly uses parameters (1, 0, 0, −1) of a to add it to F. Lines 3-4 define symbols l and C, which are needed because cycles with these labels are defined in lines 5-6 through some relations to themselves and the cycle a. In both cases we want to have cycles with real coefficients Extension of Lie geometry: ensembles and their implementation 59 only and C is additionally self-orthogonal (i.e. is a zero-radius). Also, l is orthogonal to infinity (i.e. is a line) and C is orthogonal to a and l (i.e. is their common point). The tangency condition for l and self-orthogonality of C are both quadratic relations. The former has two solutions each depending on one real parameter, thus line l has two instances. Correspondingly, the point of contact C and the orthogonal cycle r through C (defined in line 7) each have two instances as well. Finally, lines 8-11 verify that every instance of l is orthogonal to the respective instance of r, this is assisted by the trigonometric substitution cos 2 ( * ) = 1 − sin 2 ( * ) used for parameters of l in line 11. The output predictably is: 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.

MATHEMATICAL USAGE OF THE LIBRARY
The developed library figure has several different uses: • It is easy to produce high-quality illustrations, which are fully-accurate in mathematical sense. The user is not responsible for evaluation of cycles' parameters, all computations are done by the library as soon as the figure is defined in terms of few geometrical relations. This is especially helpful for complicated images which may contain thousands of interrelated cycles. See Escher-like   tested or graphically visualized. It is possible to create animations with gradual change of the parameters, which are especially convenient for illustrations, see Figure 4.4 in the electronic version of this paper and [44]. • Since the library is based on the GiNaC system, which provides a symbolic computation engine, there is a possibility to make fully automatic proofs of various statements in Möbius-Lie geometry. Usage of computersupported proofs in geometry is already an established practice [41], [53] and it is naturally to expect its further rapid growth. • Last but not least, the combination of classical beauty of Lie sphere geometry and modern computer technologies is a useful pedagogical tool to widen interest in mathematics through visual and hands-on experience.
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 [39], [36], [35]. Some advances in the twodimensional space were achieved recently [52], [41], however further developments in higher dimensions are still awaiting their researchers.
As a non-trivial example of automated proof accomplished by the  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 Figure 4.3(a).
To adopt the statement for cycles geometry we need to find a FLTinvariant meaning of the midpoint A m of an interval BC, because the equality of distances BA m and A m C is not FLT-invariant. The definition in cycles geometry can be done by either of the following equivalent relations: • The midpoint A m of an interval BC is defined by the cross-ratio where I is the point at infinity. • We construct the midpoint A m of an interval BC as the intersection of the interval and the line orthogonal to BC and to the cycle, which uses BC as its diameter. The latter condition means that the cycle passes both points B and C and is orthogonal to the line BC. 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 Theorem 4.1 it turns into a valid FLT-invariant version, cf. Figure 4.3(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. 4.4 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. 4.3(a) to 4.3(b). Further examples of animations can be found at [44].
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. [1], this can be done for an already defined figure. The corresponding figures Figure 4.3(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 Theorem 4.1 specializes the nine-point conic of a complete quadrilateral [12], [16]: 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 Theorem 4.1 is not preserved in this manner. It is already observed [41], [35], [46], [39], [43], [40], [52], [3], 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.

TO DO LIST
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: • Expand class subfigure in a way suitable for encoding loxodromes and other objects of an extended Möbius-Lie geometry [48], [46]. • Add non-point transformations, extending the package to Lie sphere geometry.
• Add a method which will apply a FLT to the entire figure.
• Provide an effective parametrization of solutions of a single quadratics condition. • Expand drawing facilities in three dimensions to hyperboloids and paraboloids. • Maintain and improve the Graphical User Interface which makes the library accessible to users without programming skills. ACKNOWLEDGEMENT I am grateful to Prof. Jay P. Fillmore for stimulating discussion, which enriched the library figure.
The University of Leeds provided a generous summer internship to work on Graphical User Interface to the library, which was initiated by Luke Hutton with skills and enthusiasm. Cameron Kumar wrote the initial version of a 3D cycle visualiser as a part of his BSc project at the University of Leeds.