The goal in Derivations is to develop a rigorous acccount of undergraduate math concepts, following four fundamental principles:
I have found derivations for a good deal of calculus, analysis, and linear algebra results that follow these principles, but I haven't found a good work flow that allows me to work with mathematical notation and hypertext easily. So far I have
I'd like some wiki software that can let me do some of these things properly, but even then it will still be a massive time-sink, all for math 'education' articles that most people don't understand anyway.
Something that would go much further to 'emphasize computation' in this project would be plotting environments and algebraic systems that can demonstrate some of the intermediates in interactive ways, like plotting the errors and rates of convergence of different analytic solutions to calculus problems, or a sequence of plots of the LHS and RHS of each line in the process of solving an algebraic equation.
An early influence on my computable calculus work, but which I originally only did for game development purposes, was a custom bigint implementation of some transcendental functions. First I made the bigints, and big complex numbers, used that to implement an arbitrarily accurate (turn angle) arctan implementation, which I could then invert to get tan, or apply to small values to find a hand-rolled, arbitrarily accurate algorithm for calculating digits of pi. I was able to extend this approach to arcsin, sin, cos, log, and exponentials, all in binary and/or turn-angle units, and calculate euler's number, square roots, etc.
The real goal of these slow but accurate calculations though, was to provide a function that I could sample, to implement the Remez algorithm, and roll my own polynomial approximations of those functions. I didn't manage it in the C, but starting over in Rust did the trick, and I got my own polynomial approximations of a number of functions, which are now just waiting for a use case. The source code for both the C implementations and the Rust implementations can be at github.com/spiveeworks/fix-math.
In between the C and Rust implementations of these things, I wanted to make a plotting environment that would let me implement some of these things in a way that might be more literate, and easier to visualise, at the same time. I didn't get very far, but some projects can be found in different branches of this repository. Notably
The plotting is all done using the X11/wingdi setup I used in Settlement. I keep trying to move to other languages and graphical environments to do calculations or plotting in, but I keep coming back to C... Apart from the Remez Algorithm part, which instantly clicked in Rust. I guess I better just finish making Phosphate then.
In reality I shouldn't make any new plotting environments anymore, and should just work out whatever Marc Ten Bosch uses on his wonderful site.