My code in some of my projects is ad-hoc due the time restraints of having homework and lectures, but I do not waste the opportunity to add a new concept I wanted to try in basic Python or C++/Rust. I will try better implementations for HPC when the time permits.
For example these 2024 repos of linear programming simply have Simplex methods, but not the more interesting interior-point methods:
These are simply because I was taking Operations Research and doing these calculations by hand and I wanted a way to check on my work. I have plans to refactor these into a single Rust library project with an idiomatic way to select the method to use, like traits. I was using a crate for arrays back then, I wonder if it's up to date today, if I should write my own matrix math library, or use a different crate.
Since I got an interest for optimization methods in general now, I might write a few more general convex programming methods, though I might be more inclined to use a different language.
In 2020 I wrote a Fortran program to numerically test some (proven) hypothesis of Hermite polynomials regarding the Hermite differential equation
(
I like having the formal definitions burned into my mind, they give you a "target" to identify when a complex problem arises. If not for the theorems and applications, the language (and thus thinking) you get from it alone is worth it. For example I have these notes that are simply the basics of the respective theory:
The advanced parts I'd be interesting in going through only as much as another topic also uses them, as they are not as ubiquitous as the basic theory. I might write such notes in the future.
My way of going through books nowadays is more "exploratory" than sitting strictly through the classical "definition-theorem-proof" loop. While I used to sit with a notebook to truly learn the language in the past. Nowadays I grab theoretical books on applications like optimization and skim to see the major concepts. Now I only sit with a notebook when the language is ubiquitous in current papers I'm more interested in getting a basic grasp.
