Coding 2025-10-16
I'm poking at the "glyph" implementation; my current plan is to represent negation with an overbar, and complex conjugate with a superscript asterisk. For i, where both do the same thing, I think I'll use the overbar.
With that decided, I'm next pondering the "vector and matrix" concept. Basically, I want to represent various kinds of, I believe the term I'm looking for is algebraic integer, using small vectors of integers (and sometimes rationals), which can be scaled up or down by the base by multiplying them by matrices of integers (and sometimes rationals). Furthermore, in the complex case, some calculations will require an inner product of the vector of interest, and a base-dependent vector. All of that's as may be, from a theoretical perspective, but I'm not sure what kind of implementation would be useful. One problem is my urge to make everything general, when none of the bases I'm currently considering would require vectors with more than three elements. One thought I have here is that it's not the specific matrix representations I care about, it's the linear transformations for shrink, grow, shear, etc. These transformations are specific to a particular base (even if the vector is in the same form for different bases, like Gaussian or Eisenstein integers).
As I think about this, I find myself thinking about creating classes, and composition versus inheritance. Perhaps I can sketch out the relationships between the different bases, and figure out what would best represent that. (I think tossing everything together into inheritance would probably work, but I've got a good feeling about defining new class keyword arguments.) But I can't trust myself to get this right unless I actually have some notes, instead of just keeping everything in my head. I think I'll publish this and grab my notebook and try to get stuff together.
But for sure, I need to get ready for bed.
Good night.