None What_is_cycle_product

Start from the basics: What is a cycle product, anyway?

Vladimir V Kisil

We use name cycles to denote quadrics. On a plane they are circles, parabolas and hyperbolas (together with limiting cases: straight lines and points). See What is a cycle for an introduction.

Here we learn that cycles are better represented by points of a projective space. Furthermore, this space naturally posses a cycle product, which comprehensively reflects geometric properties of quadrics and their ensembles — figures. To avoid technicalities and stay visual we will work in two dimensions.

Note: to execute the notebook you may need to install software.

Table of contents of this notebook

Back to the top-level Table of Contents.

Projective space of cycles

A straightforward parametrisation of a circle equation: \begin{equation} x^2+y^2+2gx+2fy+c=0 \tag{1} \label{eq:circles-Pedoe} \end{equation} by a point $(g,f,c)$ in some subset of the three-dimensional Euclidean space $\mathbb{R}^{3}$ was used in Ref.9, Ch.II. Abstractly we can treat a point $(x_0,y_0)$ of a plane as the zero-radius circle with coefficients $(g,f,c)=)(-x_0,-y_0,x_0^2+y_0^2)$. It is more advantageous to use the equation \begin{equation} k(x^2+y^2) -2lx -2ny +m=0, \tag{2} \label{eq:cycle-generic} \end{equation} which also includes straight lines for $k=0$. This extension come at a price: parameters $(k,l,n,m)$ shall be treated as elements of the three dimensional projective space $P\mathbb{R}^{3}$ rather than the Euclidean space $\mathbb{R}^{4}$ since equations \eqref{eq:cycle-generic} with $(k,l,n,m)$ and $(k_1,l_1,n_1,m_1)= (\lambda k, \lambda l, \lambda n,\lambda m)$ define the same set of points for any $\lambda\neq 0$.

Next observation is that the linear structure of $P\mathbb{R}^{3}$ is relevant for circles geometry. For example, the traditional concept of pencil of circles Ref.2, §2.3 is nothing else but the linear span in $P\mathbb{R}^{3}$ Ref.10*{§I.1.c}. Therefore, it will be convenient to accept all points $(k,l,n,m)\in P\mathbb{R}^{3}$ on equal ground even if they correspond to an empty set of solutions $(x,y)$ in \eqref{eq:cycle-generic}. The latter can be thought as ``circles with imaginary radii''.

Following Ref.11 we call circles (with real and imaginary radii), straight lines and points on a plane by joint name cycles. Correspondingly, the space $P\mathbb{R}^{3}$ representing them—the cycles space.

An algebraic consideration often benefits from an introduction of complex number. For example, we can re-write \eqref{eq:cycle-generic} as: \begin{align} \begin{pmatrix} -1&\bar{z} \end{pmatrix} \begin{pmatrix} \bar{L}&-m\\ k&-{L} \end{pmatrix} \begin{pmatrix} z\\1 \end{pmatrix}&= k z\bar{z}-L\bar{z}-\bar{L}z+m \tag{3} \label{eq:circle-complex-matrix} \\ \nonumber & = k(x^2+y^2) -2lx -2ny +m. \end{align} where $z=x+i y$ and $L=l+i n$.

Let us check this computation using software. First we load the package and initialise some symbols for generic calculations. Thing will go much faster once all these preparation are done (see below).

In [1]:
from cycle import *
# Some symbols
k=realsymbol("k")
l=realsymbol("l")
n=realsymbol("n")
m=realsymbol("m")

x=realsymbol("x")
y=realsymbol("y")
z=x+I*y
L=l+I*n
Latex(f'FSCc expansion: ${evalm(matrix([[-1,conjugate(z)]])*matrix([[conjugate(L),-m],[k, -L]])*matrix([[z],[1]])).op(0).expand()}$')
            Python wrappers for MoibInv Library
     ---------------------------------------------
Please cite this software as
V.V. Kisil, MoebInv: C++ libraries for manipulations in non-Euclidean geometry, SoftwareX, 11(2020),100385. doi:10.1016/j.softx.2019.100385.
     ---------------------------------------------

Out[1]:
FSCc expansion: $m+ k x^{2}-2 y n-2 x l+ k y^{2}$

We call Fillmore--Springer--Cnops construction (or FSCc for short) the association of the matrix $$C= \begin{pmatrix} \bar{L}&-m\\ k&-{L} \end{pmatrix} $$ to a cycle with coefficients $(k,l,n,m)$Ref.3, Ref.1.

A user MoebInv software rarely need FSCc matrix of a cycle, there are higher more convenient level tools instead. Nevertheless, the FSCc matrix can be obtained from a cycle as follows.

In [2]:
mu=idx(symbol("mu"),1) # We will use the paravector formalism which more similar to complex numbers
e=clifford_unit(mu,diag_matrix([-1])) # Metric of the space is Euclidean

Once everything is prepared, we define a cycle and print its FSCc matrix. We define $\LaTeX$ command \clifford $\newcommand{\clifford}[1][]{}$ to make the output smoother.

In [3]:
C=cycle2D(k,[l,n],m,e)
Latex(f'Cycle ${C}$ has FSCc matrix ${C.to_matrix()}$')
Out[3]:
Cycle $(k, {\left(\begin{array}{cc}l&n\end{array}\right)}^{{symbol11} }, m)$ has FSCc matrix $\left(\begin{array}{cc} l \clifford[0]{\mathbf{1}}+ \clifford[0]{e}^{{0} } n&- m \clifford[0]{\mathbf{1}}\\ k \clifford[0]{\mathbf{1}}&- l \clifford[0]{\mathbf{1}}+ \clifford[0]{e}^{{0} } n\end{array}\right)$

Note that the software work in any dimensions, thus it is based on the Clifford algebras. In their terms $e^0$ shall read as the imaginary unit $i$ and $\mathbb{1}$ is just the scalar $1$. There are also some tiny difference in signs with the above definition of FSCc.

A reader may expect a more straightforward realisation of the quadratic form \eqref{eq:cycle-generic}, cf. Ref.10, §I.1: \begin{equation} \begin{pmatrix} \bar{z} & 1 \end{pmatrix} \begin{pmatrix} k&-{L}\\ -\bar{L}&m \end{pmatrix} \begin{pmatrix} z\\1 \end{pmatrix}= k z\bar{z}-L\bar{z}-\bar{L}z+m. \tag{4} \label{eq:circle-complex-Schwerdtfeger} \end{equation} However, FSCc will show its benefits in the next section. Meanwhile, we note that a point $z$ corresponding to the zero radius cycle with the centre $z$ is represented to the matrix \begin{equation} Z= \begin{pmatrix} \bar{z} & -z \bar{z}\\ 1 & -z \end{pmatrix} = \frac{1}{2} \begin{pmatrix} \bar{z} & \bar{z}\\ 1 & 1 \end{pmatrix} \begin{pmatrix} 1 & -z \\ 1 & -z \end{pmatrix}, \tag{5} \label{eq:zero-radius-defn} \end{equation} where $\det Z=0$. More generally, $$\det \begin{pmatrix} \bar{L}&-m\\ k&-{L} \end{pmatrix} = -k^2 r^2 $$ for $k\neq 0$ and the cycle's radius $r$.

Zero-radius cycle can be treated as follows:

In [4]:
u=realsymbol("u")
v=realsymbol("v")
Z = cycle2D([u,v], e)
Latex(f'Cycle ${Z}$ has the determinant ${Z.to_matrix().determinant()}$')
Out[4]:
Cycle $(1, {\left(\begin{array}{cc}u&v\end{array}\right)}^{{symbol19} }, v^{2}+u^{2})$ has the determinant $0$

Fractional linear transformations and the invariant product

In the spirit of Erlangen programme of Felix Klein (greatly influenced by Sophus Lie), a consideration of cycle geometry is based on a group of transformations preserving this family \cites{Kisil06a,Kisil12a}. Let $$M= \begin{pmatrix} \alpha &\beta\\ \gamma & \delta \end{pmatrix}$$ be an invertible $2\times 2$ complex matrix. Then the fractional linear transformation (FLT for short) of the extended complex plane $\dot{\mathbb{C}^{}}= \mathbb{C}^{}\cup \{\infty\}$ is defined by: \begin{equation} \begin{pmatrix} \alpha &\beta\\ \gamma & \delta \end{pmatrix}: z \mapsto \frac{\alpha z +\beta}{\gamma z +\delta} \tag{6} \label{eq:FLT-defn} \end{equation} Note that the point at infinity can be also represented by a zero-radius cycle: \begin{equation} C_\infty = \begin{pmatrix} 0& -1\\0&0 \end{pmatrix} \qquad \text{or}\qquad (k,l,n,m)=(0,0,0,1). \tag{7} \label{eq:infinity-cycle} \end{equation} It will be convenient to introduce the notation $\bar{M}$ for the matrix $$ \begin{pmatrix} \bar{\alpha} &\bar{\beta}\\ \bar{\gamma} & \bar{\delta} \end{pmatrix}$$ with complex conjugated entries of $M$. For a cycle $C$ the matrix $\bar{C}$ corresponds to the reflection of $C$ in the real axis $y=0$. Also due to special structure of FSCc matrix we easily check that \begin{equation} \bar{C}C={C}\bar{C}=-\det(C)I \qquad \text{or} \qquad \bar{C} \sim C^{-1} \text{ projectively if } \det(C)\neq 0. \tag{8} \label{eq:conjugated-inverse} \end{equation}

Lemma. The transformation \eqref{eq:FLT-defn} maps a cycle $$C= \begin{pmatrix} \bar{L}&-m\\ k&-{L} \end{pmatrix} $$ into a cycle $$C_1= \begin{pmatrix} \bar{L}_1&-m_1\\ k_1&-{L}_1 \end{pmatrix} $$ such that $C_1= \bar{M} C M^{-1}$.

For the matrix form \eqref{eq:circle-complex-Schwerdtfeger} the above matrix similarity needs to be replaced by the matrix congruence $C_1= M^* C M$ Ref.10, §II.6.e.

Back to ToC

Invariant cycle product

This difference is significant in view of the following definition.

Definition. For two cycles $C$ and $C_1$ define the *cycles product by: \begin{equation} 〈C, C_1〉=-\mathbf{tr}(C\bar{C}_1), \tag{9} \label{eq:cycles-product-defn} \end{equation} *where $\mathbf{tr}$ denotes the trace of a matrix.

We call two cycles $C$ and $C_1$ *orthogonal if $〈C, C_1〉=0$*.

It is easy to find the explicit expression of the cycle product \eqref{eq:cycles-product-defn}: Let us define the second cycle:

In [5]:
k1=realsymbol("k1", "{k'}")
l1=realsymbol("l1", "{l'}")
n1=realsymbol("n1", "{n'}")
m1=realsymbol("m1", "{m'}")

C1=cycle2D(k1,[l1,n1],m1,e)
Latex(f'Cycle product if two cycles is: ${C.cycle_product(C1)}$')
Out[5]:
Cycle product if two cycles is: $ k {m'}-2 n {n'}+ m {k'}-2 l {l'}$

That is for the complex plane with $\sigma =-1$ we have \begin{equation} 〈C, C_1〉 = km_1+k_1m-2ll_1-2nn_1, \tag{10} \label{eq:cycle-product-explicit} \end{equation} and observe that it is linear in coefficients of the cycle $C$ (and $C_1$ as well). On the other hand, it is the initial definition \eqref{eq:cycles-product-defn}, which allows us to use the invariance of trace under matrix similarity to conclude: Corolloray The cycles product is invariant under the transformation $C\mapsto \bar{M} C M^{-1}$. Therefore FLT \eqref{eq:FLT-defn} preserves orthogonality of cycles.

The cycle product is a rather recent addition to the cycle geometry, see independent works Ref.3 Ref.1. Interestingly, the expression \eqref{eq:cycles-product-defn} essentially repeats the GNS-construction in $C^*$-algebras which is older by a half of century at least.

The cycles product and cycles orthogonality encode a great amount of geometrical characteristics, e.g.:

  • A cycle is a straight line if it is orthogonal $〈C, C_\infty〉=0$ to the zero-radius cycle at infinity $C_\infty$ \eqref{eq:infinity-cycle}.
In [6]:
Zinf=cycle2D(0,[0,0],1,e)
Latex(f'Infinity cycle: ${Zinf}$. Product with it is: ${C.is_orthogonal(Zinf)}$')
Out[6]:
Infinity cycle: $(0, {\left(\begin{array}{cc}0&0\end{array}\right)}^{{symbol72} }, 1)$. Product with it is: $k==0$
  • A cycle $Z$ represents a point if $Z$ is self-orthogonal (isotropic): $〈Z, Z〉=0$. More generally, \eqref{eq:conjugated-inverse} implies: \begin{equation} \label{eq:cycles-self-product-is-det} 〈C, C〉=2\det(C). \end{equation}
In [7]:
Latex(f'Point is self-orthogonal: {bool(Z.is_orthogonal(Z))}. '
      +(f'Self-product is tvice determinant: {(C.cycle_product(C)-2*remove_dirac_ONE(C.to_matrix().determinant())).is_zero()}'))
Out[7]:
Point is self-orthogonal: True. Self-product is tvice determinant: True
  • A cycle $C$ passes a point $Z$ if they are orthogonal $〈C, Z〉=0$.
In [8]:
Latex(f'Equation for othogonality ${C.is_orthogonal(Z)}$ is the same as for passing: ${C.passing([u,v])}$')
Out[8]:
Equation for othogonality $m+ k v^{2}+ k u^{2}-2 l u-2 n v==0$ is the same as for passing: $m+ k v^{2}+ k u^{2}-2 l u-2 n v==0$
  • A cycles represents a line in Lobachevsky geometry if it is orthogonal $〈C, C_{\mathbb{R}}〉=0$ to the real line cycle $$C_{\mathbb{R}^{}}= \begin{pmatrix} i &0\\0& i \end{pmatrix} $$.
In [9]:
CR = cycle2D(0,[0,1],0,e)
Latex(f'Orthogonality to the real line: ${C.is_orthogonal(CR)}$')
Out[9]:
Orthogonality to the real line: $-2 n==0$
  • Two cycles are orthogonal as subsets of a plane (i.e. they have perpendicular tangents at an intersection point) if they are orthogonal in the sense of cycle product Definition.

    Indeed, let us:

    • Build a generic cycle C2 orthogonal to C.
    • Find centres of both cycles and distance $d$ between them.
    • Check the Pythagoras rule $d^2=r^2 + r_2^2$.
In [10]:
C2=C1.subject_to([C1.is_orthogonal(C)])
P=C.center()
P2=C2.center()
f'Both orthogonalities are the same: {((P[0]-P2[0])**2+(P[1]-P2[1])**2-C.radius_sq()-C2.radius_sq()).expand().normal().is_zero()}'
Out[10]:
'Both orthogonalities are the same: True'
  • Two cycles $C$ and $C_1$ are tangent if $$ 〈C, C_1〉^2 = 〈C, C〉 〈C_1, C_1〉 $$

    Indeed, let us:

    • Pick a point $(u,v$ and find the distance to $d$ to the centre of C
    • Define a cycle C3 with centre $(u,v)$ and the radius $r_3=d-r$.
    • Check the formula for C and ``C3`.
In [11]:
d = sqrt((P[0]-u)**2+(P[1]-v)**2)
r3_sq=((d-sqrt(C.radius_sq()))**2).expand()
C3=cycle2D([u,v],e, r3_sq)
f'Tangency condition is correct: {(C.cycle_product(C3)**2- C.cycle_product(C)*C3.cycle_product(C3)).expand().normal().is_zero()}'
Out[11]:
'Tangency condition is correct: True'
  • The inversive distance Ref.2, §5.8 $\theta$ of two (non-isotropic) cycles is defined by the formula: \begin{equation} \label{eq:inversive-distance} \theta = \frac{〈C, C_1〉}{\sqrt{ 〈C, C〉 〈C_1, C_1〉}}. \end{equation} In particular, the above discussed orthogonality corresponds to $\theta=0$ and the tangency to $\theta=\pm1$. For intersecting cycles $\theta$ is the cosine of the intersecting angle. Out of curiosity we may want to find its cumbersome explicit formula
In [12]:
Latex(f'Inversive distance is: $\displaystyle {(C.cycle_product(C1)/sqrt(C.cycle_product(C) * C1.cycle_product(C1))).normal()}$')
Out[12]:
Inversive distance is: $\displaystyle \frac{1}{2} \frac{ k {m'}-2 n {n'}+ m {k'}-2 l {l'}}{\sqrt{- {({l'}^{2}+{n'}^{2}- {m'} {k'})} {( m k-n^{2}-l^{2})}}}$
  • A generalisation of Steiner power $d$ of two cycles is defined as, cf. Ref.3, §1.1: $$ d= 〈C, C_1〉 + \sqrt{〈C, C〉 〈C_1, C_1〉}, $$ where both cycles $C$ and $C_1$ are scaled to have $k=1$ and $k_1=1$. Geometrically, the generalised Steiner power for spheres provides the square of tangential distance.
In [13]:
Cn=cycle2D(1, [l, n], m, e) # k-normalised cycles 
C1n=cycle2D(1, [l1, n1], m1, e)
Latex(f'Steiner powe is: $\displaystyle {(Cn.cycle_product(C1n) +sqrt(Cn.cycle_product(Cn) * C1n.cycle_product(C1n))).normal()}$')
Out[13]:
Steiner powe is: $\displaystyle m+{m'}+2 \sqrt{ {(m-n^{2}-l^{2})} {({m'}-{l'}^{2}-{n'}^{2})}}-2 n {n'}-2 l {l'}$

The cycles product is indefinite, see Ref.4 for an account of the theory with some refreshing differences to the more familiar situation of inner product spaces. One illustration is the presence of self-orthogonal non-zero vectors, see zero-radius cycles above. Another noteworthy observation is that the product \eqref{eq:cycle-product-explicit} has the Lorentzian signature $(1,3)$ and $\mathbb{R}^{4}$ with this product is isomorphic to Minkowski space-time.

Back to ToC

Further Reading

The cycle product is the main source of cycle relations which allow us to build various figures.

Back to ToC

Back to the top-level Table of Contents.

References

  1. J. Cnops, Hurwitz pairs and applications of Möbius transformations. Habilitation Dissertation, Universiteit Gent, 1994.

2. H. S. M. Coxeter and S. L. Greitzer. Geometry revisited. Random House, New York, 1967. Zbl0166.16402.

3. J. P. Fillmore and A. Springer. Möbius groups over general fields using Clifford algebras associated with spheres. Internat. J. Theoret. Phys., 29 (3):225–246, 1990.

4. I. Gohberg, P. Lancaster, and L. Rodman. Indefinite linear algebra and applications. Birkhäuser Verlag, Basel, 2005.

5. V.V. Kisil. Starting with the group SL2(R). Notices Amer. Math. Soc., 54(11):1458–1465, 2007. arXiv:math/0607387, Zbl # 1137.22006.

6. Vladimir V. Kisil. Geometry of Möbius Transformations: Elliptic, Parabolic and Hyperbolic Actions of $SL_2(\mathbb{R})$. Imperial College Press, London, 2012. Includes a live DVD.

7. Vladimir V. Kisil, MoebInv notebooks, 2019.

8. V. V. Kisil. MoebInv: C++ libraries for manipulations in non-Euclidean geometry. SoftwareX, 11:100385, 2020. doi: 10.1016/j.softx.2019.100385.

9. D. Pedoe. Circles: A mathematical view. MAA Spectrum. Mathematical Association of America, Washington, DC, 1995. Revised reprint of the 1979 edition, With a biographical appendix on Karl Feuerbach by Laura Guggenbuhl.

10. H. Schwerdtfeger. Geometry of complex numbers: Circle geometry, Möbius transformation, non-Euclidean geometry. Dover Books on Advanced Mathematics. Dover Publications Inc., New York, 1979. A corrected reprinting of the 1962 edition.

11. I. M. Yaglom. A Simple Non-Euclidean Geometry and Its Physical Basis. Heidelberg Science Library. Springer-Verlag, New York, 1979. Translated from the Russian by Abe Shenitzer, with the editorial assistance of Basil Gordon.

Back to ToC

Back to the top-level Table of Contents.