Attached is a zip file titled undual, g_invol, ccon, sp, norm2, & norm.zip. In it are seven files. Of particular note are
code for undual, g_invol, ccon, sp, norm2, & norm.ipynb
This Jupyter notebook describes changes I am suggesting to the mv.py module of GAlgebra. Specifically I am suggesting that four new operations be implemented as Mv class methods. Those operations are undualization, grade involution, Clifford conjugation, and scalar product. All four are described in Geometric Algebra for Computer Science. I am also suggesting that two existing operations, those of normsquared and norm, be recoded with the goals of widening their domain of applicability and significantly increasing the correctness of the expressions returned by norm. This notebook is descriptive only. It contains no executable In[ ] cells.
tests of undual, g_invol, ccon, sp, norm2, & norm.ipynb
This second Jupyter notebook runs tests of the proposed code. It relies on use of a modified mv.py module and of the gprinter.py module authored by Alan Bromborsky. The modifications to mv.py consist of the code suggested in the first notebook.
mv.py
This is a modification of the like-named module currently available on GitHub's GAlgebra website. This modified mv.py is the one I used in the second Jupyter notebook. My modifications of the module are delimited by comments "### GSG code starts ###" and "### GSG code ends ###".
gprinter.py
This GAlgebra module is also needed for the second Jupyter notebook.
Two of the remaining three files are PDFs of the Jupyter notebooks, included so that anyone interested can look at my results with a PDF reader, without needing to fire up Jupyter Notebook or JupyterLab. The third is a PDF which essentially repeats the information in this posting.
I suggest running the second notebook using mv.py (as it currently exists on the website) and comparing the output of the tests therein with that shown in the PDF of the second notebook.
Attached is a zip file titled undual, g_invol, ccon, sp, norm2, & norm.zip. In it are seven files. Of particular note are
This Jupyter notebook describes changes I am suggesting to the mv.py module of GAlgebra. Specifically I am suggesting that four new operations be implemented as
Mv
class methods. Those operations are undualization, grade involution, Clifford conjugation, and scalar product. All four are described in Geometric Algebra for Computer Science. I am also suggesting that two existing operations, those of normsquared and norm, be recoded with the goals of widening their domain of applicability and significantly increasing the correctness of the expressions returned by norm. This notebook is descriptive only. It contains no executable In[ ] cells.Two of the remaining three files are PDFs of the Jupyter notebooks, included so that anyone interested can look at my results with a PDF reader, without needing to fire up Jupyter Notebook or JupyterLab. The third is a PDF which essentially repeats the information in this posting.
I suggest running the second notebook using mv.py (as it currently exists on the website) and comparing the output of the tests therein with that shown in the PDF of the second notebook.
undual, g_invol, ccon, sp, norm2, & norm.zip
Edit by @eric-wieser : the above zip as a gist