Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -236,3 +236,9 @@ STYLE.md
*.bib.bak*
figures/
references/

# Curated appendix reproduction inputs; other paper PDFs stay ignored.
!/data/appendix/reference_figures/*.pdf

# Saved-array exports are generated, never source inputs.
/out/
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,16 @@ python e1_kuramoto.py --smoke --device cpu --no-mirror

This runs a 20-iteration workflow check on a small grid and network. Results appear under `out_1/`, including `untwist.gif`, `kernel_time.gif`, and `metrics.json`.

## Reproduce the appendix

Regenerate the existing appendix figures and table statistics from the bundled original results, without training or simulation:

```bash
python reproduce_appendix.py --manifest appendix_manifest.json --output out/appendix-regenerated
```

See [appendix reproduction](docs/APPENDIX_REPRODUCTION.md) for the archived runs, verification checks, and noise-data limitation.

## Code

| File | Contents |
Expand Down
61 changes: 61 additions & 0 deletions appendix_manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"schema_version": 1,
"description": "Original runs for the existing Miller\u2013Su numerical appendix. Historical inputs retained unchanged; no retraining.",
"runs": {
"bc": {
"path": "data/appendix/runs/e2_eps1_T10",
"sha256": {
"config.json": "d1ca4cb1465da0066238d5aad0f6a8db19db384930861453fc69b4dac952ed3c",
"metrics.json": "5eb0369d0221b785a7ad2df440651030e663cc0c74b602f1bcb6ebaf403dd4b7",
"trajectories.npz": "994ee45d108fa67ca96859322fe1839ecc326693fffa93d7f02645f071d28f9a"
}
},
"k1": {
"path": "data/appendix/runs/e1_k1_T5",
"sha256": {
"config.json": "18fe4364db0476d7456f309a0f633c0b537431aa0f3f5207c117f8238ce2013f",
"metrics.json": "b42fcc26c74ab045557b2cefb5e9c3aa8b41ba06735208f7dcdd746d04a01bc6",
"trajectories.npz": "f91fa4e9bd80514d2f5f1a4ca2d4b947af0bff483a1600611987b6199d7b04a7"
}
},
"k2": {
"path": "data/appendix/runs/e1_k2_T12",
"sha256": {
"config.json": "8fc0b04e36aca41d50332ed1344f4093650ffd148185a1e612ca73b311759731",
"metrics.json": "5787be6e8cf28f4bc39997318705abf71424fdc92578b0e7a4e07cd3d3e70b44",
"trajectories.npz": "d982c7da096d611948220f7ee22e8caede394f7a63b9b91b3e4a6c47e2602032"
}
},
"k3": {
"path": "data/appendix/runs/e1_k3_T20",
"sha256": {
"config.json": "4a13f2ec59bd6b06e03dc6027b9a9c1d99f1ff8f27d58a100f6d66f85553c0c6",
"metrics.json": "78e161f2bbef70e20100b145eee8fae1e34051542a37ca5057b24d0d883fec63",
"trajectories.npz": "d599a52abc17b22ead159bd527096afedc081b5286ff9e2c661de59be97ed15b"
}
},
"noise": {
"path": "data/appendix/runs/e1_k2_T12_sig03",
"sha256": {
"config.json": "0e3e703619b9876159949ebdf13a389a570400c11d26e580a48e25a9d214e77c",
"metrics.json": "31212452d9d34e9bba01b772aecf8e1e6eef2cc464c0133f1254fa8644fadf2d",
"trajectories.npz": "58c6322f096cbd34c240a25119efb2b0b76368c502801bae986dff625dd0f9b7"
}
}
},
"output_dir": "out/appendix-reference",
"figures": {
"bc_opinion_traj.pdf": "data/appendix/reference_figures/bc_opinion_traj.pdf",
"bc_kernel_strip.pdf": "data/appendix/reference_figures/bc_kernel_strip.pdf",
"kur_rw_panel.pdf": "data/appendix/reference_figures/kur_rw_panel.pdf",
"kur_kernel_strip.pdf": "data/appendix/reference_figures/kur_kernel_strip.pdf",
"kur_noise_panel.pdf": "data/appendix/reference_figures/kur_noise_panel.pdf"
},
"figures_sha256": {
"bc_opinion_traj.pdf": "13fea9efb675fe284756047ecfe6b40d14d0c7bb5efd537ca944c0599253c253",
"bc_kernel_strip.pdf": "ae25938cb270330ab7a12264432c168c66c2d97f9e07ec9c758a6350d7d2e139",
"kur_rw_panel.pdf": "8fbd92e2bed0ac2524c648999752e915a760ad3ab9e86d0ccd624dd6219d47b3",
"kur_kernel_strip.pdf": "75e93c47be3df16626003550ec8eaf8d1957d6f2041d751281edb91c6f9160ae",
"kur_noise_panel.pdf": "54db656b1fd1c2f48fd8367a0b63af6f25a66c276af53b4c13b2ce57d82b86ea"
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added data/appendix/reference_figures/kur_rw_panel.pdf
Binary file not shown.
24 changes: 24 additions & 0 deletions data/appendix/runs/e1_k1_T5/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"k": 1,
"jitter": 0.1,
"ring_range": 0.1,
"N": 64,
"T": 5.0,
"dt": 0.05,
"sigma": 0.0,
"beta": 10.0,
"lambda_terminal": 0.0,
"gamma_target": 100.0,
"x_target": 0.0,
"batch_size": 16,
"num_steps": 2000,
"lr": 0.001,
"grad_clip": 1.0,
"num_fourier_freqs": 8,
"embed_dim": 64,
"hidden_embed": 128,
"hidden_score": 128,
"seed": 0,
"device": "cpu",
"time_chunk": 50
}
48 changes: 48 additions & 0 deletions data/appendix/runs/e1_k1_T5/metrics.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"k": 1,
"costs": {
"meanfield": {
"total": 66.44532775878906,
"state_cost": 16.44532585144043,
"l2_reg_cost": 50.0,
"terminal_var": 3.28906512260437,
"terminal_target": 1.3877787807814457e-15,
"terminal_mean": 3.725290298461914e-09
},
"ring": {
"total": 353.7691955566406,
"state_cost": 16.44532585144043,
"l2_reg_cost": 337.3238830566406,
"terminal_var": 3.28906512260437,
"terminal_target": 1.3877787807814457e-15,
"terminal_mean": 3.725290298461914e-09
},
"trained": {
"total": 57.51552963256836,
"state_cost": 5.354661464691162,
"l2_reg_cost": 52.1602668762207,
"terminal_var": 0.010279948823153973,
"terminal_target": 0.0006043039611540735,
"terminal_mean": -0.0024582594633102417
}
},
"r_initial": 2.6371218098120153e-08,
"r_final": {
"meanfield": 2.6371218098120153e-08,
"ring": 2.6371218098120153e-08,
"trained": 0.9948722720146179
},
"var_final": {
"meanfield": 3.28906512260437,
"ring": 3.28906512260437,
"trained": 0.010279948823153973
},
"terminal_mean_trained": -0.0024582594633102417,
"vxi": {
"trained_max": 3.740018129348755,
"trained_final": 0.06472654640674591,
"ring": 43.59681701660156,
"meanfield": 0.0
},
"value_gap_meanfield_minus_trained": 8.929798126220703
}
Binary file added data/appendix/runs/e1_k1_T5/trajectories.npz
Binary file not shown.
24 changes: 24 additions & 0 deletions data/appendix/runs/e1_k2_T12/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"k": 2,
"jitter": 0.1,
"ring_range": 0.1,
"N": 64,
"T": 12.0,
"dt": 0.05,
"sigma": 0.0,
"beta": 10.0,
"lambda_terminal": 0.0,
"gamma_target": 100.0,
"x_target": 0.0,
"batch_size": 16,
"num_steps": 2000,
"lr": 0.001,
"grad_clip": 1.0,
"num_fourier_freqs": 8,
"embed_dim": 64,
"hidden_embed": 128,
"hidden_score": 128,
"seed": 0,
"device": "cpu",
"time_chunk": 50
}
48 changes: 48 additions & 0 deletions data/appendix/runs/e1_k2_T12/metrics.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"k": 2,
"costs": {
"meanfield": {
"total": 277.8751220703125,
"state_cost": 157.87513732910156,
"l2_reg_cost": 120.0,
"terminal_var": 13.15626049041748,
"terminal_target": 5.551115123125783e-15,
"terminal_mean": 7.450580596923828e-09
},
"ring": {
"total": 967.452392578125,
"state_cost": 157.87513732910156,
"l2_reg_cost": 809.5772705078125,
"terminal_var": 13.15626049041748,
"terminal_target": 5.551115123125783e-15,
"terminal_mean": 7.450580596923828e-09
},
"trained": {
"total": 176.0917205810547,
"state_cost": 32.88923263549805,
"l2_reg_cost": 143.1961212158203,
"terminal_var": 1.5446259567397647e-05,
"terminal_target": 0.006367044057697058,
"terminal_mean": -0.00797937624156475
}
},
"r_initial": 2.8638169169425964e-08,
"r_final": {
"meanfield": 2.8638169169425964e-08,
"ring": 2.8638169169425964e-08,
"trained": 0.999992311000824
},
"var_final": {
"meanfield": 13.15626049041748,
"ring": 13.15626049041748,
"trained": 1.5446259567397647e-05
},
"terminal_mean_trained": -0.00797937624156475,
"vxi": {
"trained_max": 12.010483741760254,
"trained_final": 0.5435858964920044,
"ring": 43.59681701660156,
"meanfield": 0.0
},
"value_gap_meanfield_minus_trained": 101.78340148925781
}
Binary file added data/appendix/runs/e1_k2_T12/trajectories.npz
Binary file not shown.
25 changes: 25 additions & 0 deletions data/appendix/runs/e1_k2_T12_sig03/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"k": 2,
"jitter": 0.1,
"ring_range": 0.1,
"x0_level": 0,
"N": 64,
"T": 12.0,
"dt": 0.05,
"sigma": 0.3,
"beta": 10.0,
"lambda_terminal": 0.0,
"gamma_target": 100.0,
"x_target": 0.0,
"batch_size": 16,
"num_steps": 2000,
"lr": 0.001,
"grad_clip": 1.0,
"num_fourier_freqs": 8,
"embed_dim": 64,
"hidden_embed": 128,
"hidden_score": 128,
"seed": 0,
"device": "cpu",
"time_chunk": 50
}
61 changes: 61 additions & 0 deletions data/appendix/runs/e1_k2_T12_sig03/metrics.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"k": 2,
"costs": {
"meanfield": {
"total": 277.8751220703125,
"state_cost": 157.87513732910156,
"l2_reg_cost": 120.0,
"terminal_var": 13.15626049041748,
"terminal_target": 5.551115123125783e-15,
"terminal_mean": 7.450580596923828e-09
},
"ring": {
"total": 967.452392578125,
"state_cost": 157.87513732910156,
"l2_reg_cost": 809.5772705078125,
"terminal_var": 13.15626049041748,
"terminal_target": 5.551115123125783e-15,
"terminal_mean": 7.450580596923828e-09
},
"trained": {
"total": 190.85398864746094,
"state_cost": 31.176782608032227,
"l2_reg_cost": 159.62045288085938,
"terminal_var": 8.732880814932287e-06,
"terminal_target": 0.05675093084573746,
"terminal_mean": -0.02382245473563671
}
},
"r_initial": 2.8638169169425964e-08,
"r_final": {
"meanfield": 2.8638169169425964e-08,
"ring": 2.8638169169425964e-08,
"trained": 0.9999955892562866
},
"var_final": {
"meanfield": 13.15626049041748,
"ring": 13.15626049041748,
"trained": 8.732880814932287e-06
},
"winding_final": {
"meanfield": 2.0,
"ring": 2.0,
"trained": -7.589098771632052e-08
},
"terminal_mean_trained": -0.02382245473563671,
"vxi": {
"trained_max": 14.46484088897705,
"trained_final": 0.5247852206230164,
"ring": 43.59681701660156,
"meanfield": 0.0
},
"value_gap_meanfield_minus_trained": 87.02113342285156,
"noisy_eval": {
"sigma": 0.3,
"n_replicates": 32,
"r_final_mean": 0.9742251634597778,
"r_final_q10": 0.9684785008430481,
"r_final_q90": 0.9789402484893799,
"winding_final_mean": -8.300576226361045e-09
}
}
Binary file not shown.
25 changes: 25 additions & 0 deletions data/appendix/runs/e1_k3_T20/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"k": 3,
"jitter": 0.1,
"ring_range": 0.1,
"x0_level": 0,
"N": 64,
"T": 20.0,
"dt": 0.05,
"sigma": 0.0,
"beta": 10.0,
"lambda_terminal": 0.0,
"gamma_target": 100.0,
"x_target": 0.0,
"batch_size": 16,
"num_steps": 3000,
"lr": 0.001,
"grad_clip": 1.0,
"num_fourier_freqs": 8,
"embed_dim": 64,
"hidden_embed": 128,
"hidden_score": 128,
"seed": 0,
"device": "cpu",
"time_chunk": 50
}
Loading