clifford.conformalize

clifford.conformalize(layout, added_sig=[1, -1])[source]

Conformalize a Geometric Algebra

Given the Layout for a GA of signature (p,q), this will produce a GA of signature (p+1,q+1), as well as return a new list of blades and some stuff. stuff is a dict containing the null basis blades, and some up/down functions for projecting in/out of the CGA.

Parameters:layout (clifford.Layout) – layout of the GA to conformalize (the base)
Returns:
  • layout_c (clifford.Layout) – layout of the base GA
  • blades_c (dict) – blades for the CGA
  • stuff (dict) –
    dict containing the following:
    • ep - postive basis vector added
    • en - negative basis vector added
    • eo - zero vector of null basis (=.5*(en-ep))
    • einf - infinity vector of null basis (=en+ep)
    • E0 - minkowski bivector (=einf^eo)
    • base - pseudoscalar for base ga, in cga layout
    • up - up-project a vector from GA to CGA
    • down - down-project a vector from CGA to GA
    • homo - homogenize a CGA vector

Examples

>>> from clifford import Cl, conformalize
>>> G2, blades = Cl(2)
>>> G2c, bladesc, stuff = conformalize(G2)
>>> locals().update(bladesc)
>>> locals().update(stuff)