Aaron Fenyes
25b09ebf92
Sketch backtracking Newton's method
...
This code is a mess, but I'm committing it to record a working state
before I start trying to clean up.
2024-07-15 11:32:04 -07:00
Aaron Fenyes
3910b9f740
Use Newton's method for polishing
2024-07-11 13:43:52 -07:00
Aaron Fenyes
d538cbf716
Correct improvement threshold by using unit step
...
Our formula for the improvement theshold works when the step size is
an absolute distance. However, in commit `4d5ea06`, the step size was
measured relative to the current gradient instead. This commit scales
the base step to unit length, so now the step size really is an absolute
distance.
2024-07-10 23:31:44 -07:00
Aaron Fenyes
4d5ea062a3
Record gradient and last line search in history
2024-07-09 15:00:13 -07:00
Aaron Fenyes
77bc124170
Change loss function to match gradient
2024-07-09 14:00:24 -07:00
Aaron Fenyes
610fc451f0
Track slope in gradient descent history
2024-07-08 14:19:25 -07:00
Aaron Fenyes
828498b3de
Add sphere and plane utilities to engine
2024-07-08 12:56:14 -07:00
Aaron Fenyes
7e94fef19e
Improve random vector generator
2024-07-06 21:32:43 -07:00
Aaron Fenyes
abc53b4705
Sketch random vector generator
...
This needs to be rewritten: it can fail at generating spacelike vectors.
2024-07-02 17:16:31 -07:00
Aaron Fenyes
133519cacb
Encapsulate gradient descent code
...
The completed gram matrix from this commit matches the one from commit
e7dde58
to six decimal places.
2024-07-02 15:02:59 -07:00