Aaron Fenyes
828498b3de
Add sphere and plane utilities to engine
2024-07-08 12:56:14 -07:00
Aaron Fenyes
736ac50b07
Test gradient descent for sphere in tetrahedron
2024-07-07 17:58:55 -07:00
Aaron Fenyes
ea354b6c2b
Randomize guess in gradient descent test
...
Randomly perturb the pre-solved part of the guess, and randomly choose
the unsolved part.
2024-07-07 17:56:12 -07:00
Aaron Fenyes
d39244d308
Host Ganja.js locally
2024-07-06 21:35:09 -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
17fefff61e
Name gradient descent test more specifically
2024-07-02 17:16:19 -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
Aaron Fenyes
e7dde5800c
Do gradient descent entirely in BigFloat
...
The previos version accidentally returned steps in Float64.
2024-07-02 12:35:12 -07:00
Aaron Fenyes
242d630cc6
Get Ganja.js to display planes
2024-06-27 21:49:53 -07:00
Aaron Fenyes
8eb1ebb8d2
Merge branch 'ganja' into gram
2024-06-26 15:57:07 -07:00
Aaron Fenyes
05a824834d
Let visibility controls scroll
2024-06-26 15:56:51 -07:00
Aaron Fenyes
a113f33635
Merge branch 'ganja' into gram
...
Get visibility controls.
2024-06-26 15:52:20 -07:00
Aaron Fenyes
5ea32ac53c
Streamline visibility controls
2024-06-26 15:51:57 -07:00
Aaron Fenyes
3eb4fc6c91
Add element visibility controls
2024-06-26 15:24:31 -07:00
Aaron Fenyes
7aaf134a36
Size the viewer window automatically
2024-06-26 13:15:54 -07:00
Aaron Fenyes
c933e07312
Switch to Ganja.js basis ordering
2024-06-26 11:39:34 -07:00
Aaron Fenyes
2b6c4f4720
Avoid naming conflict with identity transformation
2024-06-26 11:28:47 -07:00
Aaron Fenyes
5aadfecf6c
Merge branch 'ganja' into gram
...
Visualize low-rank factorization results.
2024-06-26 11:12:24 -07:00
Aaron Fenyes
4a28a47520
Update namespace of AbstractAlgebra.Rationals
2024-06-26 01:06:27 -07:00
Aaron Fenyes
a3b1f4920c
Build construction viewer module
2024-06-26 00:41:21 -07:00
Aaron Fenyes
665cb30ce0
Correct indentation of CSS
2024-06-25 23:31:00 -07:00
Aaron Fenyes
182b5bb9f6
Generate palette automatically
2024-06-25 17:57:16 -07:00
Aaron Fenyes
b7b5b9386b
Load elements from Julia into Ganja.js
2024-06-25 16:30:19 -07:00
Aaron Fenyes
06a9dda5bb
Play with reflections
...
Try configuration of five tangent spheres.
2024-06-25 13:40:40 -07:00
Aaron Fenyes
69a9baa8ee
Add live updates to Ganja.js visualization
2024-06-25 03:11:50 -07:00
Aaron Fenyes
3b10c95d5f
Clean up examples
...
Declare JavaScript variables. Revise Julia comments to match new code.
2024-06-25 02:58:39 -07:00
Aaron Fenyes
3c34481519
Get familiar with Ganja.js inline syntax
2024-06-25 01:54:01 -07:00
Aaron Fenyes
d1ce91d2aa
Get a Ganja.js visualization running in Blink
2024-06-24 19:37:57 -07:00
Aaron Fenyes
58a5c38e62
Try numerical low-rank factorization
...
The best technique I've found so far is the homemade gradient descent
routine in `descent-test.jl`.
2024-05-30 00:36:03 -07:00
Aaron Fenyes
ef33b8ee10
Correct signature
2024-03-01 13:26:20 -05:00
Aaron Fenyes
717e5a6200
Extend Gram matrix automatically
...
The signature of the Minkowski form on the subspace spanned by the Gram
matrix should tell us what the big Gram matrix has to look like
2024-02-21 03:00:06 -05:00
Aaron Fenyes
16826cf07c
Try out the Gram matrix approach
2024-02-20 22:35:24 -05:00
Aaron Fenyes
3170a933e4
Clean up example of three mutually tangent spheres
2024-02-15 17:16:37 -08:00
Aaron Fenyes
f2000e5731
Test different sign patterns for cosines
...
It seems like there are real solutions if and only if the product of the
cosines is positive.
2024-02-15 16:25:09 -08:00
Aaron Fenyes
ba365174d3
Find real solutions for three mutually tangent spheres
...
I'm not sure why the solver wasn't working before. It might've been just
an unlucky random number draw.
2024-02-15 16:16:06 -08:00
Aaron Fenyes
ae5db0f9ea
Make results reproducible
2024-02-15 16:00:46 -08:00
Aaron Fenyes
8d8bc9162c
Store elements in arrays to keep order stable
...
This seems to restore reproducibility.
2024-02-15 15:42:26 -08:00
Aaron Fenyes
291d5c8ff6
Study mutually tangent spheres with two fixed
2024-02-15 13:28:01 -08:00
Aaron Fenyes
e41bcc7e13
Explore the performance wall
...
Three points on two spheres is too much.
2024-02-13 04:02:14 -05:00
Aaron Fenyes
31d5e7e864
Play with two points on two spheres
...
Guess conditions that make the scaling constraint impossible to satisfy.
2024-02-12 22:48:16 -05:00
Aaron Fenyes
a450f701fb
Try displaying a chain of spheres
...
For three mutually tangent spheres, I couldn't find real solutions.
2024-02-12 21:14:07 -05:00
Aaron Fenyes
6cf07dc6a1
Evaluate and display elements
2024-02-12 20:34:12 -05:00
Aaron Fenyes
1f173708eb
Move random cut routine into engine
2024-02-10 17:39:26 -05:00
Aaron Fenyes
6f18d4efcc
Test lots of uniformly distributed hyperplanes
2024-02-10 15:10:48 -05:00
Aaron Fenyes
621c4c5776
Try uniformly distributed hyperplane orientations
...
Unit normals are uniformly distributed over the sphere.
2024-02-10 15:02:26 -05:00
Aaron Fenyes
b3b7c2026d
Separate the algebraic and numerical parts of the engine
2024-02-10 14:50:50 -05:00
Aaron Fenyes
af1d31f6e6
Test a scale constraint
...
In all but a few cases (for example, a single point on a plane), we
should be able to us the radius-coradius boost symmetry to make the
average co-radius—representing the "overall scale"—roughly one.
2024-02-10 14:21:52 -05:00
Aaron Fenyes
8e33987f59
Systematically try out different cut planes
2024-02-10 13:46:01 -05:00
Aaron Fenyes
06872a04af
Say how many sample solutions we found
2024-02-10 01:06:06 -05:00