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
Aaron Fenyes
becefe0c47
Try switching to compiled system
2024-02-10 00:59:50 -05:00
Aaron Fenyes
34358a8728
Find witnesses on random rational hyperplanes
...
Choose hyperplanes that go through the trivial solution.
2024-02-09 23:44:10 -05:00
Aaron Fenyes
95c0ff14b2
Show explicitly that all coefficients are 1 in first cut equation
2024-02-09 17:09:43 -05:00
Aaron Fenyes
f97090c997
Try a cut that goes through the trivial solution
...
The previous cut was supposed to do this, but I was missing some parentheses.
2024-02-08 01:58:12 -05:00
Aaron Fenyes
45aaaafc8f
Seek sample solutions by cutting with a hyperplane
...
The example hyperplane yields a single solution, with multiplicity six. You can
find it analytically by hand, and homotopy continuation finds it numerically.
2024-02-08 01:53:55 -05:00
Aaron Fenyes
43cbf8a3a0
Add relations to center and orient the construction
2024-02-05 00:10:13 -05:00
Aaron Fenyes
21f09c4a4d
Switch element abbreviation from "elem" to "elt"
2024-02-04 16:08:13 -05:00
Aaron Fenyes
a3f3f6a31b
Order spheres before points within each coordinate block
...
In the cases I've tried so far, this leads to substantially smaller
Gröbner bases.
2024-02-01 16:13:22 -05:00
Aaron Fenyes
65d23fb667
Use module names as filenames
...
You're right: this naming convention seems to be standard for Julia
modules now.
2024-01-30 02:49:33 -05:00
Aaron Fenyes
4e02ee16fc
Find dimension of solution variety
2024-01-30 02:45:14 -05:00
Aaron Fenyes
6349f298ae
Extend AbstractAlgebra ideals to rational coefficients
...
The extension should also let us work over finite fields of prime order,
although we don't need to do that.
2024-01-29 19:11:21 -05:00
Aaron Fenyes
0731c7aac1
Correct relation equations
2024-01-29 12:41:07 -05:00
Aaron Fenyes
59a527af43
Correct Minkowski product; build chain of three spheres
2024-01-29 12:28:57 -05:00
Aaron Fenyes
c29000d912
Write a simple solver for the hitting set problem
...
I think we need this to find the dimension of the solution variety.
2024-01-28 01:34:13 -05:00
Aaron Fenyes
86dbd9ea45
Order variables by coordinate and then element
...
In other words, order coordinates like
(rₛ₁, rₛ₂, sₛ₁, sₛ₂, xₛ₁, xₛ₂, xₚ₃, yₛ₁, yₛ₂, yₚ₃, zₛ₁, zₛ₂, zₚ₃)
instead of like
(rₛ₁, sₛ₁, xₛ₁, yₛ₁, zₛ₁, rₛ₂, sₛ₂, xₛ₂, yₛ₂, zₛ₂, xₚ₃, yₚ₃, zₚ₃).
In the test cases, this really cuts down the size of the Gröbner basis.
2024-01-27 14:21:03 -05:00
Aaron Fenyes
463a3b21e1
Realize relations as equations
2024-01-27 12:28:29 -05:00
Aaron Fenyes
4d5aa3b327
Realize geometric elements as symbolic vectors
2024-01-26 11:14:32 -05:00
Aaron Fenyes
b864cf7866
Start drafting engine prototype
2024-01-24 11:16:24 -05:00
c48d685ad6
doc: Extend comments on coordinatization; add a theory.md notes file
2023-11-07 17:06:19 -08:00
15159302c3
doc: Add Aaron's observations on inversive coords
2023-11-06 11:47:53 -08:00
daed435826
doc: Add a few implementation goals to README
2023-11-01 13:08:20 -07:00
2cfcfacb5a
doc: Add new notes directory with design notes
2023-11-01 12:58:08 -07:00