pygae / galgebra

Symbolic Geometric Algebra/Calculus package for SymPy :crystal_ball:

Home Page:https://galgebra.rtfd.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

undualization, grade involution, Clifford conjugation, scalar product, normsquared, & norm

Greg1950 opened this issue · comments

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.

undual, g_invol, ccon, sp, norm2, & norm.zip

Edit by @eric-wieser : the above zip as a gist

Thank you, @Greg1950 , I believe this is covered by your improvements merged by #510 . Feel free to reopen if there are remaining issues.