Concepts
The concept library captures every concept learned, implemented in every
applicable language, with tests proving equivalence.
Structure
Each concept is a directory under its domain:
concepts/
math/
calculus/
notes.tex # Standalone LaTeX document
notes_body.tex # Body only (for \input into collections)
calculus.rb # Ruby reference implementation
test.rb # Cross-implementation equivalence tests
linear_algebra/
...
circuits/
rc_lowpass/
notes.tex
rc_lowpass.cir # ngspice netlist
rc_lowpass.rb # Ruby implementation
test.rb
control/
pid/
notes.tex
pid.rb # Ruby
pid.c # C
pid.v # Verilog
pid.comp # GLSL compute shader
test.rb
Domains
| Domain | Directory | Primary Tool |
|---|---|---|
| Pure math | math/ |
Maxima (symbolic), Ruby (numerical) |
| Signals & systems | signals/ |
Maxima, Ruby, GLSL |
| Control theory | control/ |
Maxima, Ruby, Verilog |
| Circuit theory | circuits/ |
ngspice, Maxima |
| Digital electronics | digital/ |
Verilog, C |
| Electromagnetics | electromagnetics/ |
Maxima, Elmer |
| Physics | physics/ |
Maxima, Ruby, Elmer |
| Chemistry | chemistry/ |
Maxima, Ruby, Elmer |
| Programming | programming/ |
Ruby, C |
| Embedded systems | embedded/ |
C, Verilog |
| Computer architecture | computer_architecture/ |
Verilog, C |
| Numerical methods | numerical_methods/ |
Ruby, C, GLSL |
| Communications | communications/ |
Maxima, Ruby, GLSL |
Sparse Matrix
Not every concept maps to every language. Implement where it makes sense.
See Concept Library in the long-term plan for details.