Coding 2025-10-17
Let's see what I'm thinking... The bases I'm considering have two basic options for digit sets. Almost everything works with the "standard" option of starting with 0, and next most common is the "standard" balanced option, which just requires an odd number of digits. I also came up with two balanced sets of digits for complex numbers, and these sets of digits significantly constrain the bases that they can be used for.
Something to look into: some complex bases don't work; why? Is it having a positive real part? Does doing a "standard" balanced base fix the issue for complex bases that normally wouldn't work?
In any case, I'm getting some ideas for how to represent linear transformations more compactly. Basically...
- For a one-element vector, there's nothing that needs to be done.
- For vectors representing complex integers, it suffices to simply represent the complex factors as a fixed vector, and similarly-ish for the shear transformation. (Actually, because the real numbers have to be unchanged, the shear transformation is technically just a scaling factor for the non-real coordinate.)
- For vectors representing powers of (ideally) a Pisot number, all we actually need to know is the coefficients of the minimal polynomial.
Given these representations, we can then derive the digits required for a base:
- The funky balanced complex bases should just be a bunch of hardcoded choices.
- Generic complex bases have a digit cardinality equal to the square of the magnitude.
- Real integer bases have a digit cardinality equal to the absolute value of the base.
- Working things out for the algebraic numbers seems potentially trickier. The questions I need to ponder are, at what degree does it become infeasible to calculate the ceiling of the largest root, and is comparing a sum of powers of that root against that root morally the same as finding that root, or can the relevant symbolic manipulation be pushed to quintics or beyond?
I assume the answers to those questions are actually either obvious, or have straightforward writeups if I knew what to look for.
I mean, I can of course hardcode this for some things, and it doesn't look horribly infeasible to automate some of the calculations for quadratics, but I want an actual sense here of "what will work" vs "what will horribly suck" vs "haha, no".
Anyway, I think I'm going to need to prototype this some before I can articulate what I need to know, well enough to understand the answers. Maybe I'll have time for that in the next few days, maybe not. Either way, better sleep.
Good night.