Py-geometer

Jul 20, 2023

Python geometry package based on projective geometry and numpy

Geometer is a geometry library for Python 3 that uses projective geometry and numpy for fast geometric computation. In projective geometry every point in 2D is represented by a three-dimensional vector and every point in 3D is represented by a four-dimensional vector. This has the following advantages

There are points at infinity that can be treated just like normal points.

  • Projective transformations are described by matrices but they can also represent affine transformations i.e. also translations.
  • Every two lines have a unique point of intersection if they lie in the same plane. Parallel lines have a point of intersection at infinity.
  • Points of intersection, planes or lines through given points can be calculated using simple cross products or tensor diagrams.
  • Special complex points at infinity and cross ratios can be used to calculate angles and to construct perpendicular geometric structures.
  • Most of the computation in the library done via tensor diagrams using numpy.einsum.


Checkout these related ports:
  • Zx - MQT ZX A library for working with ZX-diagrams
  • Zotero - Reference management for bibliographic data and research materials
  • Yoda - Particle physics package with classes for data analysis, histogramming
  • Xtb - Semiempirical Extended Tight-Binding Program Package
  • Xmakemol - Molecule Viewer Program Based on Motif Widget
  • Xdrawchem - Two-dimensional molecule drawing program
  • Xcrysden - Crystalline and molecular structure visualisation program
  • Xcfun - Exchange-correlation functionals with arbitrary-order derivatives
  • Wxmacmolplt - Graphical user interface principally for the GAMESS program
  • Wwplot - Plotting tool for experimental physics classes
  • Wannier90 - Maximally-localized Wannier functions (MLWFs) and Wannier90
  • Votca - CSG and XTP libraries for atomistic simulations
  • Voro++ - Three-dimensional computations of the Voronoi tessellation
  • Vmd - Molecular visualization program
  • Vipster - Crystalline and molecular structure visualisation program