Matrix algebra
Maybe also some operator algebra
July 9, 2018 — March 11, 2024
Algebra over matrices, which are the things that define the linear operators that we care about when we define operators over vectors.
If we admit infinitesimal matrices, then this gets us matrix calculus, and various nice matrix representations, matrix inverses and such.
This page mostly exists to bookmark tools that I have found useful to do abstract matrix algebra, e.g. without pre-committing to a size or whatever.
This is not wildly esoteric or difficult, but there is a lot of fiddly book-keeping, so a symbolic mathematics package helps. Unfortunately, those packages have wildly esoteric and difficult documentation to understand. This page is mostly to bookmark those packages and relevant manual pages.
I may yet put some other results in though.
1 Ore algebras
Look interesting. TBC
2 Gröbner bases
TBC
3 Tooling
The keyword that we are looking for is non-commutative algebra, since matrix algebras are non-commutative. There are many non-commutative algebras and most of them are more complicated than the matrix ones.
3.1 Mathematica
Lots of handy extensions for non-commutative algebras in general. See NCAlgebra et al. If you have a license, start here.
3.2 SymPy
SymPy has a non-commutative algebra package, see Quantum Mechanics, which provides operators over complex fields. Restricting ourselves to the reals probably gets us what we want.
3.3 Sage
I think that this is probably powerful, but I have gotten rather lost in the documentation.
We can go bareback and simply define Algebras with the commutative=False
option, I think. Then what do we do?
Noncommutative Algebras in Sage introduces several ways of solving problems, and notes that they possibly all depend upon PLURAL.
Specific algebra that might be of interest:
mkauers/ore_algebra supports Ore Algebra operations in Sage. Maybe that does what I want?