biVector forum

Translating between the "Bivector" and "Lengyel" models of PGA

Loosely, there seem to be at least two different notations & jargons for describing geometric objects and operators in 3D PGA.

What I’m calling the “BiVector” model: the 2019 Siggraph course, alot of the discussion on, and the Klein library.

And the “Lengyel” model, as outlined at

As I understand it, mathematically, the two models are consistent. But there are alot of differences, both in the jargon used and also in the notation; egs Antivectors, e0 vs e4, “bulk norms”, “weight norms”, “ideal norms”, the way that Points and Planes are represented.

I’d like to develop an ability to mentally translate back and forth between the notational conventions, so as to reconcile the material in both places into one coherent system.

Does anyone have a cheat sheet for mapping between the terminology? or some pointers to how to build such a mapping…

You may or may not be looking for the hodge dual.

Assuredly, the Hodge dual lies at the heart of the differences between presentations.

What I find myself wanting is the expansion of the differences out to the various terms and operators that are mentioned, in places like the Siggraph PGA cheat sheet and Lengyel’s wiki.

To give a practical example of the sorts of questions/doubts in my mind: What Lengyel calls the Bulk Norm would be written as X in the Bivector model…? (solve for X ;P)

Meanwhile, the Siggraph materials talk about Ideal Norm, which doesnt get a mention in the Lengyel model. How does that map across?

Im actually tentatively working out the translation myself, which if nothing else is driving me to understand things better. If I reach something Im confident to share, I’ll post it here.