universal-physics-tensor 4.0.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/README.md +12 -12
  2. package/dist/atlas/bridge-record.d.ts +26 -0
  3. package/dist/atlas/bridge-record.d.ts.map +1 -0
  4. package/dist/atlas/bridge-record.js +31 -0
  5. package/dist/atlas/bridge-record.js.map +1 -0
  6. package/dist/atlas/catalog-formal-ref.d.ts.map +1 -1
  7. package/dist/atlas/catalog-formal-ref.js +9 -8
  8. package/dist/atlas/catalog-formal-ref.js.map +1 -1
  9. package/dist/atlas/chain-pipeline.d.ts +18 -4
  10. package/dist/atlas/chain-pipeline.d.ts.map +1 -1
  11. package/dist/atlas/chain-pipeline.js +14 -4
  12. package/dist/atlas/chain-pipeline.js.map +1 -1
  13. package/dist/atlas/composition-table.d.ts +6 -7
  14. package/dist/atlas/composition-table.d.ts.map +1 -1
  15. package/dist/atlas/composition-table.js +6 -7
  16. package/dist/atlas/composition-table.js.map +1 -1
  17. package/dist/atlas/diffusion/numerics.d.ts +1 -1
  18. package/dist/atlas/diffusion/numerics.d.ts.map +1 -1
  19. package/dist/atlas/diffusion/numerics.js +5 -12
  20. package/dist/atlas/diffusion/numerics.js.map +1 -1
  21. package/dist/atlas/oscillators/limit-witnesses.d.ts +2 -1
  22. package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -1
  23. package/dist/atlas/oscillators/limit-witnesses.js +29 -44
  24. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
  25. package/dist/atlas/oscillators/pendulum-motion.d.ts +6 -1
  26. package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -1
  27. package/dist/atlas/oscillators/pendulum-motion.js +10 -10
  28. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
  29. package/dist/atlas/path-bound.d.ts +6 -3
  30. package/dist/atlas/path-bound.d.ts.map +1 -1
  31. package/dist/atlas/path-bound.js +6 -2
  32. package/dist/atlas/path-bound.js.map +1 -1
  33. package/dist/atlas/physjs-entries.generated.d.ts +1047 -0
  34. package/dist/atlas/physjs-entries.generated.d.ts.map +1 -0
  35. package/dist/atlas/physjs-entries.generated.js +1154 -0
  36. package/dist/atlas/physjs-entries.generated.js.map +1 -0
  37. package/dist/atlas/physjs-ref.d.ts +44 -11
  38. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  39. package/dist/atlas/physjs-ref.js +76 -751
  40. package/dist/atlas/physjs-ref.js.map +1 -1
  41. package/dist/atlas/regime.d.ts +6 -3
  42. package/dist/atlas/regime.d.ts.map +1 -1
  43. package/dist/atlas/regime.js +6 -3
  44. package/dist/atlas/regime.js.map +1 -1
  45. package/dist/bridges/be100-lyddane-sachs-teller.d.ts +41 -0
  46. package/dist/bridges/be100-lyddane-sachs-teller.d.ts.map +1 -0
  47. package/dist/bridges/be100-lyddane-sachs-teller.js +30 -0
  48. package/dist/bridges/be100-lyddane-sachs-teller.js.map +1 -0
  49. package/dist/bridges/be101-bkt-jump.d.ts +24 -0
  50. package/dist/bridges/be101-bkt-jump.d.ts.map +1 -0
  51. package/dist/bridges/be101-bkt-jump.js +29 -0
  52. package/dist/bridges/be101-bkt-jump.js.map +1 -0
  53. package/dist/bridges/be102-landauer-conductance.d.ts +24 -0
  54. package/dist/bridges/be102-landauer-conductance.d.ts.map +1 -0
  55. package/dist/bridges/be102-landauer-conductance.js +28 -0
  56. package/dist/bridges/be102-landauer-conductance.js.map +1 -0
  57. package/dist/bridges/be55-quantum-hall.d.ts +3 -3
  58. package/dist/bridges/be55-quantum-hall.d.ts.map +1 -1
  59. package/dist/bridges/be55-quantum-hall.js +1 -1
  60. package/dist/bridges/be56-casimir.d.ts +3 -3
  61. package/dist/bridges/be56-casimir.d.ts.map +1 -1
  62. package/dist/bridges/be56-casimir.js +1 -1
  63. package/dist/bridges/be57-unruh.d.ts +3 -3
  64. package/dist/bridges/be57-unruh.d.ts.map +1 -1
  65. package/dist/bridges/be57-unruh.js +1 -1
  66. package/dist/bridges/be58-johnson-nyquist.d.ts +3 -3
  67. package/dist/bridges/be58-johnson-nyquist.d.ts.map +1 -1
  68. package/dist/bridges/be58-johnson-nyquist.js +1 -1
  69. package/dist/bridges/be59-ac-josephson.d.ts +3 -3
  70. package/dist/bridges/be59-ac-josephson.d.ts.map +1 -1
  71. package/dist/bridges/be59-ac-josephson.js +1 -1
  72. package/dist/bridges/be60-fractional-qh.d.ts +3 -3
  73. package/dist/bridges/be60-fractional-qh.d.ts.map +1 -1
  74. package/dist/bridges/be60-fractional-qh.js +1 -1
  75. package/dist/bridges/be61-wiedemann-franz.d.ts +3 -3
  76. package/dist/bridges/be61-wiedemann-franz.d.ts.map +1 -1
  77. package/dist/bridges/be61-wiedemann-franz.js +1 -1
  78. package/dist/bridges/be62-bcs-gap.d.ts +3 -3
  79. package/dist/bridges/be62-bcs-gap.d.ts.map +1 -1
  80. package/dist/bridges/be62-bcs-gap.js +1 -1
  81. package/dist/bridges/be63-chandrasekhar-mass.d.ts +3 -3
  82. package/dist/bridges/be63-chandrasekhar-mass.d.ts.map +1 -1
  83. package/dist/bridges/be63-chandrasekhar-mass.js +1 -1
  84. package/dist/bridges/be64-eddington-luminosity.d.ts +3 -3
  85. package/dist/bridges/be64-eddington-luminosity.d.ts.map +1 -1
  86. package/dist/bridges/be64-eddington-luminosity.js +1 -1
  87. package/dist/bridges/be65-jeans-mass.d.ts +3 -3
  88. package/dist/bridges/be65-jeans-mass.d.ts.map +1 -1
  89. package/dist/bridges/be65-jeans-mass.js +1 -1
  90. package/dist/bridges/be66-radiation-pressure.d.ts +3 -3
  91. package/dist/bridges/be66-radiation-pressure.js +1 -1
  92. package/dist/bridges/be67-alfven-speed.d.ts +5 -18
  93. package/dist/bridges/be67-alfven-speed.d.ts.map +1 -1
  94. package/dist/bridges/be67-alfven-speed.js +3 -2
  95. package/dist/bridges/be67-alfven-speed.js.map +1 -1
  96. package/dist/bridges/be68-tolman-ehrenfest.d.ts +3 -3
  97. package/dist/bridges/be68-tolman-ehrenfest.js +1 -1
  98. package/dist/bridges/be69-fast-magnetosonic.d.ts +3 -3
  99. package/dist/bridges/be69-fast-magnetosonic.js +1 -1
  100. package/dist/bridges/be70-einstein-relation.d.ts +3 -3
  101. package/dist/bridges/be70-einstein-relation.d.ts.map +1 -1
  102. package/dist/bridges/be70-einstein-relation.js +8 -4
  103. package/dist/bridges/be70-einstein-relation.js.map +1 -1
  104. package/dist/bridges/be71-clapeyron.d.ts +3 -3
  105. package/dist/bridges/be71-clapeyron.js +1 -1
  106. package/dist/bridges/be72-gravitational-redshift.d.ts +3 -3
  107. package/dist/bridges/be72-gravitational-redshift.js +1 -1
  108. package/dist/bridges/be73-kelvin-peltier.d.ts +3 -3
  109. package/dist/bridges/be73-kelvin-peltier.js +1 -1
  110. package/dist/bridges/be74-magnetic-pressure.d.ts +3 -3
  111. package/dist/bridges/be74-magnetic-pressure.js +1 -1
  112. package/dist/bridges/be75-london-penetration.d.ts +3 -3
  113. package/dist/bridges/be75-london-penetration.js +1 -1
  114. package/dist/bridges/be76-plasma-beta.d.ts +3 -3
  115. package/dist/bridges/be76-plasma-beta.js +1 -1
  116. package/dist/bridges/be77-hagen-poiseuille.d.ts +3 -3
  117. package/dist/bridges/be77-hagen-poiseuille.js +1 -1
  118. package/dist/bridges/be78-euler-buckling.d.ts +3 -3
  119. package/dist/bridges/be78-euler-buckling.js +1 -1
  120. package/dist/bridges/be79-pull-in.d.ts +3 -3
  121. package/dist/bridges/be79-pull-in.js +1 -1
  122. package/dist/bridges/be80-mott-gurney.d.ts +3 -3
  123. package/dist/bridges/be80-mott-gurney.js +1 -1
  124. package/dist/bridges/be81-child-langmuir.d.ts +3 -3
  125. package/dist/bridges/be81-child-langmuir.js +1 -1
  126. package/dist/bridges/be82-shockley-diode.d.ts +3 -3
  127. package/dist/bridges/be82-shockley-diode.js +1 -1
  128. package/dist/bridges/be83-thomson.d.ts +3 -3
  129. package/dist/bridges/be83-thomson.js +1 -1
  130. package/dist/bridges/be84-four-point.d.ts +3 -3
  131. package/dist/bridges/be84-four-point.js +1 -1
  132. package/dist/bridges/be85-shot-noise.d.ts +3 -3
  133. package/dist/bridges/be85-shot-noise.js +1 -1
  134. package/dist/bridges/be86-reynolds-analogy.d.ts +3 -3
  135. package/dist/bridges/be86-reynolds-analogy.js +1 -1
  136. package/dist/bridges/be87-capacitor-noise.d.ts +3 -3
  137. package/dist/bridges/be87-capacitor-noise.js +1 -1
  138. package/dist/bridges/be88-fermi-sea.d.ts +31 -0
  139. package/dist/bridges/be88-fermi-sea.d.ts.map +1 -0
  140. package/dist/bridges/be88-fermi-sea.js +35 -0
  141. package/dist/bridges/be88-fermi-sea.js.map +1 -0
  142. package/dist/bridges/be89-debye-cutoff.d.ts +39 -0
  143. package/dist/bridges/be89-debye-cutoff.d.ts.map +1 -0
  144. package/dist/bridges/be89-debye-cutoff.js +28 -0
  145. package/dist/bridges/be89-debye-cutoff.js.map +1 -0
  146. package/dist/bridges/be90-debye-heat.d.ts +30 -0
  147. package/dist/bridges/be90-debye-heat.d.ts.map +1 -0
  148. package/dist/bridges/be90-debye-heat.js +35 -0
  149. package/dist/bridges/be90-debye-heat.js.map +1 -0
  150. package/dist/bridges/be91-einstein-solid.d.ts +30 -0
  151. package/dist/bridges/be91-einstein-solid.d.ts.map +1 -0
  152. package/dist/bridges/be91-einstein-solid.js +37 -0
  153. package/dist/bridges/be91-einstein-solid.js.map +1 -0
  154. package/dist/bridges/be92-sommerfeld-heat.d.ts +30 -0
  155. package/dist/bridges/be92-sommerfeld-heat.d.ts.map +1 -0
  156. package/dist/bridges/be92-sommerfeld-heat.js +34 -0
  157. package/dist/bridges/be92-sommerfeld-heat.js.map +1 -0
  158. package/dist/bridges/be93-curie-weiss.d.ts +41 -0
  159. package/dist/bridges/be93-curie-weiss.d.ts.map +1 -0
  160. package/dist/bridges/be93-curie-weiss.js +45 -0
  161. package/dist/bridges/be93-curie-weiss.js.map +1 -0
  162. package/dist/bridges/be94-pauli-paramagnetism.d.ts +30 -0
  163. package/dist/bridges/be94-pauli-paramagnetism.d.ts.map +1 -0
  164. package/dist/bridges/be94-pauli-paramagnetism.js +33 -0
  165. package/dist/bridges/be94-pauli-paramagnetism.js.map +1 -0
  166. package/dist/bridges/be95-ginzburg-landau.d.ts +46 -0
  167. package/dist/bridges/be95-ginzburg-landau.d.ts.map +1 -0
  168. package/dist/bridges/be95-ginzburg-landau.js +32 -0
  169. package/dist/bridges/be95-ginzburg-landau.js.map +1 -0
  170. package/dist/bridges/be96-upper-critical.d.ts +24 -0
  171. package/dist/bridges/be96-upper-critical.d.ts.map +1 -0
  172. package/dist/bridges/be96-upper-critical.js +27 -0
  173. package/dist/bridges/be96-upper-critical.js.map +1 -0
  174. package/dist/bridges/be97-ambegaokar-baratoff.d.ts +24 -0
  175. package/dist/bridges/be97-ambegaokar-baratoff.d.ts.map +1 -0
  176. package/dist/bridges/be97-ambegaokar-baratoff.js +30 -0
  177. package/dist/bridges/be97-ambegaokar-baratoff.js.map +1 -0
  178. package/dist/bridges/be98-bcs-jump.d.ts +40 -0
  179. package/dist/bridges/be98-bcs-jump.d.ts.map +1 -0
  180. package/dist/bridges/be98-bcs-jump.js +29 -0
  181. package/dist/bridges/be98-bcs-jump.js.map +1 -0
  182. package/dist/bridges/be99-mass-action.d.ts +33 -0
  183. package/dist/bridges/be99-mass-action.d.ts.map +1 -0
  184. package/dist/bridges/be99-mass-action.js +37 -0
  185. package/dist/bridges/be99-mass-action.js.map +1 -0
  186. package/dist/bridges/bridge-equations.d.ts +31 -1
  187. package/dist/bridges/bridge-equations.d.ts.map +1 -1
  188. package/dist/bridges/bridge-equations.js +31 -1
  189. package/dist/bridges/bridge-equations.js.map +1 -1
  190. package/dist/bridges/carrier-sign.d.ts +47 -0
  191. package/dist/bridges/carrier-sign.d.ts.map +1 -0
  192. package/dist/bridges/carrier-sign.js +104 -0
  193. package/dist/bridges/carrier-sign.js.map +1 -0
  194. package/dist/bridges/equations/be-19-quantum-bounce.d.ts.map +1 -1
  195. package/dist/bridges/equations/be-19-quantum-bounce.js +1 -5
  196. package/dist/bridges/equations/be-19-quantum-bounce.js.map +1 -1
  197. package/dist/bridges/equations/be-20-vacuum-energy.d.ts +6 -4
  198. package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +1 -1
  199. package/dist/bridges/equations/be-20-vacuum-energy.js +7 -5
  200. package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
  201. package/dist/bridges/equations/be-54-randall-sundrum-brane.d.ts.map +1 -1
  202. package/dist/bridges/equations/be-54-randall-sundrum-brane.js +2 -6
  203. package/dist/bridges/equations/be-54-randall-sundrum-brane.js.map +1 -1
  204. package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
  205. package/dist/bridges/evaluator-inputs.js +14 -8
  206. package/dist/bridges/evaluator-inputs.js.map +1 -1
  207. package/dist/bridges/evaluators.d.ts +2 -5
  208. package/dist/bridges/evaluators.d.ts.map +1 -1
  209. package/dist/bridges/evaluators.js +122 -19
  210. package/dist/bridges/evaluators.js.map +1 -1
  211. package/dist/bridges/gravitational-lensing.d.ts +3 -3
  212. package/dist/bridges/gravitational-lensing.js +1 -1
  213. package/dist/bridges/index.d.ts +48 -11
  214. package/dist/bridges/index.d.ts.map +1 -1
  215. package/dist/bridges/index.js +351 -8
  216. package/dist/bridges/index.js.map +1 -1
  217. package/dist/bridges/perihelion-precession.d.ts +3 -3
  218. package/dist/bridges/perihelion-precession.js +1 -1
  219. package/dist/bridges/plasma-catalog.d.ts +29 -0
  220. package/dist/bridges/plasma-catalog.d.ts.map +1 -0
  221. package/dist/bridges/plasma-catalog.js +427 -0
  222. package/dist/bridges/plasma-catalog.js.map +1 -0
  223. package/dist/bridges/plasma-space.d.ts +310 -0
  224. package/dist/bridges/plasma-space.d.ts.map +1 -0
  225. package/dist/bridges/plasma-space.js +262 -0
  226. package/dist/bridges/plasma-space.js.map +1 -0
  227. package/dist/bridges/registry.d.ts +60 -0
  228. package/dist/bridges/registry.d.ts.map +1 -0
  229. package/dist/bridges/registry.js +87 -0
  230. package/dist/bridges/registry.js.map +1 -0
  231. package/dist/bridges/rhs-registry.d.ts +1 -5
  232. package/dist/bridges/rhs-registry.d.ts.map +1 -1
  233. package/dist/bridges/rhs-registry.js +7 -2
  234. package/dist/bridges/rhs-registry.js.map +1 -1
  235. package/dist/canonical/entries/_l1-build.d.ts +6 -2
  236. package/dist/canonical/entries/_l1-build.d.ts.map +1 -1
  237. package/dist/canonical/entries/_l1-build.js +7 -3
  238. package/dist/canonical/entries/_l1-build.js.map +1 -1
  239. package/dist/canonical/entries/condensed-matter.d.ts +5 -5
  240. package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
  241. package/dist/canonical/entries/condensed-matter.js +6 -2
  242. package/dist/canonical/entries/condensed-matter.js.map +1 -1
  243. package/dist/canonical/entries/electromagnetism.js +2 -2
  244. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  245. package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
  246. package/dist/canonical/entries/fluids-waves.js +4 -2
  247. package/dist/canonical/entries/fluids-waves.js.map +1 -1
  248. package/dist/canonical/normal-form.js +5 -7
  249. package/dist/canonical/normal-form.js.map +1 -1
  250. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  251. package/dist/cli/commands/_discovery-opts.js +23 -12
  252. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  253. package/dist/cli/commands/audit.d.ts.map +1 -1
  254. package/dist/cli/commands/audit.js +18 -4
  255. package/dist/cli/commands/audit.js.map +1 -1
  256. package/dist/cli/commands/derive.d.ts.map +1 -1
  257. package/dist/cli/commands/derive.js +28 -7
  258. package/dist/cli/commands/derive.js.map +1 -1
  259. package/dist/cli/commands/discover.d.ts.map +1 -1
  260. package/dist/cli/commands/discover.js +2 -1
  261. package/dist/cli/commands/discover.js.map +1 -1
  262. package/dist/cli/commands/eval.d.ts.map +1 -1
  263. package/dist/cli/commands/eval.js +7 -15
  264. package/dist/cli/commands/eval.js.map +1 -1
  265. package/dist/cli/commands/explain.d.ts.map +1 -1
  266. package/dist/cli/commands/explain.js +52 -14
  267. package/dist/cli/commands/explain.js.map +1 -1
  268. package/dist/cli/commands/path.d.ts.map +1 -1
  269. package/dist/cli/commands/path.js +8 -2
  270. package/dist/cli/commands/path.js.map +1 -1
  271. package/dist/cli/commands/regime.d.ts.map +1 -1
  272. package/dist/cli/commands/regime.js +15 -8
  273. package/dist/cli/commands/regime.js.map +1 -1
  274. package/dist/cli/commands/search.d.ts.map +1 -1
  275. package/dist/cli/commands/search.js +14 -3
  276. package/dist/cli/commands/search.js.map +1 -1
  277. package/dist/cli/record.d.ts +0 -4
  278. package/dist/cli/record.d.ts.map +1 -1
  279. package/dist/cli/record.js +14 -27
  280. package/dist/cli/record.js.map +1 -1
  281. package/dist/cli/search-index.d.ts +17 -2
  282. package/dist/cli/search-index.d.ts.map +1 -1
  283. package/dist/cli/search-index.js +154 -17
  284. package/dist/cli/search-index.js.map +1 -1
  285. package/dist/cli/statuses.d.ts.map +1 -1
  286. package/dist/cli/statuses.js +7 -0
  287. package/dist/cli/statuses.js.map +1 -1
  288. package/dist/cli-api.d.ts +1 -1
  289. package/dist/cli-api.d.ts.map +1 -1
  290. package/dist/cli-api.js +1 -1
  291. package/dist/cli-api.js.map +1 -1
  292. package/dist/composition/aliases.d.ts +40 -1
  293. package/dist/composition/aliases.d.ts.map +1 -1
  294. package/dist/composition/aliases.js +102 -20
  295. package/dist/composition/aliases.js.map +1 -1
  296. package/dist/composition/bridge-analysis.d.ts +1 -1
  297. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  298. package/dist/composition/bridge-analysis.js +22 -5
  299. package/dist/composition/bridge-analysis.js.map +1 -1
  300. package/dist/composition/canonical-compare.d.ts.map +1 -1
  301. package/dist/composition/canonical-compare.js +2 -13
  302. package/dist/composition/canonical-compare.js.map +1 -1
  303. package/dist/composition/canonical-graph.d.ts +16 -7
  304. package/dist/composition/canonical-graph.d.ts.map +1 -1
  305. package/dist/composition/canonical-graph.js +282 -16
  306. package/dist/composition/canonical-graph.js.map +1 -1
  307. package/dist/composition/canonical-json.d.ts +68 -0
  308. package/dist/composition/canonical-json.d.ts.map +1 -0
  309. package/dist/composition/canonical-json.js +98 -0
  310. package/dist/composition/canonical-json.js.map +1 -0
  311. package/dist/composition/catalog-graph.d.ts +4 -14
  312. package/dist/composition/catalog-graph.d.ts.map +1 -1
  313. package/dist/composition/catalog-graph.js +15 -11
  314. package/dist/composition/catalog-graph.js.map +1 -1
  315. package/dist/composition/edge.d.ts +31 -1
  316. package/dist/composition/edge.d.ts.map +1 -1
  317. package/dist/composition/edge.js +32 -1
  318. package/dist/composition/edge.js.map +1 -1
  319. package/dist/composition/edges/applied-physicist.d.ts.map +1 -1
  320. package/dist/composition/edges/applied-physicist.js +2 -3
  321. package/dist/composition/edges/applied-physicist.js.map +1 -1
  322. package/dist/composition/edges/calibration.d.ts.map +1 -1
  323. package/dist/composition/edges/calibration.js +2 -0
  324. package/dist/composition/edges/calibration.js.map +1 -1
  325. package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
  326. package/dist/composition/edges/catalog-tranche.js +0 -9
  327. package/dist/composition/edges/catalog-tranche.js.map +1 -1
  328. package/dist/composition/edges/condensed-r5.d.ts +105 -0
  329. package/dist/composition/edges/condensed-r5.d.ts.map +1 -0
  330. package/dist/composition/edges/condensed-r5.js +505 -0
  331. package/dist/composition/edges/condensed-r5.js.map +1 -0
  332. package/dist/composition/edges/plasma-space.d.ts +50 -0
  333. package/dist/composition/edges/plasma-space.d.ts.map +1 -0
  334. package/dist/composition/edges/plasma-space.js +481 -0
  335. package/dist/composition/edges/plasma-space.js.map +1 -0
  336. package/dist/composition/evaluate-relation.d.ts +37 -0
  337. package/dist/composition/evaluate-relation.d.ts.map +1 -0
  338. package/dist/composition/evaluate-relation.js +47 -0
  339. package/dist/composition/evaluate-relation.js.map +1 -0
  340. package/dist/composition/explain.d.ts +6 -0
  341. package/dist/composition/explain.d.ts.map +1 -1
  342. package/dist/composition/explain.js +127 -11
  343. package/dist/composition/explain.js.map +1 -1
  344. package/dist/composition/expr-eval.d.ts +7 -6
  345. package/dist/composition/expr-eval.d.ts.map +1 -1
  346. package/dist/composition/expr-eval.js +57 -94
  347. package/dist/composition/expr-eval.js.map +1 -1
  348. package/dist/composition/index.d.ts +10 -1
  349. package/dist/composition/index.d.ts.map +1 -1
  350. package/dist/composition/index.js +8 -1
  351. package/dist/composition/index.js.map +1 -1
  352. package/dist/composition/probe/index.d.ts +2 -2
  353. package/dist/composition/probe/index.d.ts.map +1 -1
  354. package/dist/composition/probe/index.js +2 -2
  355. package/dist/composition/probe/index.js.map +1 -1
  356. package/dist/composition/probe/run-manifest.d.ts +7 -3
  357. package/dist/composition/probe/run-manifest.d.ts.map +1 -1
  358. package/dist/composition/probe/run-manifest.js +7 -9
  359. package/dist/composition/probe/run-manifest.js.map +1 -1
  360. package/dist/composition/probe/search-budget.d.ts +6 -2
  361. package/dist/composition/probe/search-budget.d.ts.map +1 -1
  362. package/dist/composition/probe/search-budget.js +6 -1
  363. package/dist/composition/probe/search-budget.js.map +1 -1
  364. package/dist/composition/probe/serialize.d.ts +4 -23
  365. package/dist/composition/probe/serialize.d.ts.map +1 -1
  366. package/dist/composition/probe/serialize.js +4 -51
  367. package/dist/composition/probe/serialize.js.map +1 -1
  368. package/dist/composition/quantities/_dims.d.ts +6 -2
  369. package/dist/composition/quantities/_dims.d.ts.map +1 -1
  370. package/dist/composition/quantities/_dims.js +6 -2
  371. package/dist/composition/quantities/_dims.js.map +1 -1
  372. package/dist/composition/quantities/condensed-r5.d.ts +110 -0
  373. package/dist/composition/quantities/condensed-r5.d.ts.map +1 -0
  374. package/dist/composition/quantities/condensed-r5.js +359 -0
  375. package/dist/composition/quantities/condensed-r5.js.map +1 -0
  376. package/dist/composition/quantities/plasma-space.d.ts +178 -0
  377. package/dist/composition/quantities/plasma-space.d.ts.map +1 -0
  378. package/dist/composition/quantities/plasma-space.js +185 -0
  379. package/dist/composition/quantities/plasma-space.js.map +1 -0
  380. package/dist/composition/quantities.d.ts +2 -0
  381. package/dist/composition/quantities.d.ts.map +1 -1
  382. package/dist/composition/quantities.js +2 -0
  383. package/dist/composition/quantities.js.map +1 -1
  384. package/dist/composition/retrodiction.d.ts.map +1 -1
  385. package/dist/composition/retrodiction.js +26 -7
  386. package/dist/composition/retrodiction.js.map +1 -1
  387. package/dist/composition/user-equation.d.ts +4 -2
  388. package/dist/composition/user-equation.d.ts.map +1 -1
  389. package/dist/composition/user-equation.js +7 -39
  390. package/dist/composition/user-equation.js.map +1 -1
  391. package/dist/dimensional/algebra.d.ts +7 -5
  392. package/dist/dimensional/algebra.d.ts.map +1 -1
  393. package/dist/dimensional/algebra.js +7 -4
  394. package/dist/dimensional/algebra.js.map +1 -1
  395. package/dist/dimensional/bridge-check.d.ts +2 -1
  396. package/dist/dimensional/bridge-check.d.ts.map +1 -1
  397. package/dist/dimensional/bridge-check.js +42 -6
  398. package/dist/dimensional/bridge-check.js.map +1 -1
  399. package/dist/dimensional/formula-names.d.ts +12 -0
  400. package/dist/dimensional/formula-names.d.ts.map +1 -1
  401. package/dist/dimensional/formula-names.js +12 -1
  402. package/dist/dimensional/formula-names.js.map +1 -1
  403. package/dist/dimensional/friedmann-equation.d.ts.map +1 -1
  404. package/dist/dimensional/friedmann-equation.js +1 -2
  405. package/dist/dimensional/friedmann-equation.js.map +1 -1
  406. package/dist/dimensional/types.d.ts +2 -0
  407. package/dist/dimensional/types.d.ts.map +1 -1
  408. package/dist/dimensional/types.js +2 -0
  409. package/dist/dimensional/types.js.map +1 -1
  410. package/dist/dimensional/units.d.ts.map +1 -1
  411. package/dist/dimensional/units.js +36 -7
  412. package/dist/dimensional/units.js.map +1 -1
  413. package/dist/index.d.ts +19 -7
  414. package/dist/index.d.ts.map +1 -1
  415. package/dist/index.js +17 -19
  416. package/dist/index.js.map +1 -1
  417. package/dist/numerical/binding-value.d.ts +14 -20
  418. package/dist/numerical/binding-value.d.ts.map +1 -1
  419. package/dist/numerical/binding-value.js +56 -15
  420. package/dist/numerical/binding-value.js.map +1 -1
  421. package/dist/numerical/index.d.ts +6 -3
  422. package/dist/numerical/index.d.ts.map +1 -1
  423. package/dist/numerical/index.js +6 -2
  424. package/dist/numerical/index.js.map +1 -1
  425. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  426. package/dist/numerical/spacetime-metrics.js +7 -18
  427. package/dist/numerical/spacetime-metrics.js.map +1 -1
  428. package/dist/numerical/tensor-engine.d.ts +6 -2
  429. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  430. package/dist/numerical/tensor-engine.js +6 -2
  431. package/dist/numerical/tensor-engine.js.map +1 -1
  432. package/package.json +4 -3
package/README.md CHANGED
@@ -99,7 +99,7 @@ records. Every flag of every command is in [`docs/CLI.md`](https://github.com/da
99
99
 
100
100
  | Command | What it does |
101
101
  |---|---|
102
- | `audit` | Derive every bridge equation by dimensions and sort derived, decoy, not a monomial, and open. |
102
+ | `audit` | Derive every bridge equation by dimensions and sort derived, coefficient unset, decoy, not a monomial, and open. |
103
103
  | `derive` (`dim`) | Derive the dimensional form of your own equation and, with --formula, the prefactor. |
104
104
  | `eval` (`calc`) | Evaluate a scalar formula. A bare e is the elementary charge; Euler's number is exp(x). |
105
105
  | `evaluate` | Evaluate a closed-form bridge or an applied case, with units on every input. |
@@ -214,12 +214,12 @@ const quantumLaws = tensor.queryLaws({ scale: 'quantum' });
214
214
  console.log(quantumLaws.map(l => l.name));
215
215
  ```
216
216
 
217
- > **Note:** Each catalogued bridge ships a computable `evaluate*()` function, and
218
- > the `BridgeEquations` facade (v0.14) gathers them under readable method names —
219
- > e.g. `BridgeEquations.decoherenceRate({ gamma0_per_s, lambda, lambda0 })` (BE-11)
220
- > or `BridgeEquations.hawkingTemperature({ M_kg })` (BE-42). The formal spec
221
- > (Parts I–III) defines the underlying physics and AST encodings; the facade is
222
- > the convenience layer over those evaluators.
217
+ > **Note:** `evaluateRelation(id, bindings)` is the public evaluation.
218
+ > A sourced number is `{ kind: 'value', value, dimension }`. An unset
219
+ > coefficient is `{ kind: 'unset', formula }` and is not a number.
220
+ > `evaluateRelation('be-42', { mass: 1.989e30 })` is the Hawking temperature.
221
+ > `evaluateRelation('be-16', { temperature: 300 })` is `k_B T ln 2`.
222
+ > The formal spec (Parts I–III) defines the underlying physics and AST encodings.
223
223
 
224
224
  ## Core Concepts
225
225
 
@@ -284,7 +284,7 @@ literature-anchored result, pre-registered before implementation and
284
284
  pinned to relErr ≤ 10⁻¹² (see [Part IX](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-IX-Composition.md)
285
285
  and `docs/planning/v0.8.0-Design.md`). A computable **membership
286
286
  criterion** (a bridge's endpoint quantities must differ in regime) now
287
- adjudicates the catalog — <!-- readme-status:membership -->69 bridges · 5 not-a-bridge · 3 unadjudicated<!-- /readme-status:membership --> —
287
+ adjudicates the catalog — <!-- readme-status:membership -->107 bridges · 5 not-a-bridge · 3 unadjudicated<!-- /readme-status:membership --> —
288
288
  with rejections recorded in a reviewable negative catalog
289
289
  (`src/bridges/rejected.ts`).
290
290
 
@@ -367,13 +367,13 @@ The current machine-checked state is:
367
367
  <!-- readme-status:table -->
368
368
  | Surface | Current state |
369
369
  |---|---|
370
- | Bridge catalog | **77 entries (BE-11…87)**: 41 established, 33 speculative, 3 highly speculative; the JSON artifact is freshness-tested against the TypeScript registry |
370
+ | Bridge catalog | **115 entries (BE-11…125)**: 79 established, 33 speculative, 3 highly speculative; the JSON artifact is freshness-tested against the TypeScript registry |
371
371
  | Empirical spine | **19 committed confrontations**, exposed through `upt confront` with rigor/caveat metadata |
372
- | Composition layer | **68 bridge edges** plus the canonical L-layer graph; dimensional, symbolic, discovery, consequence, and visualization tooling |
372
+ | Composition layer | **106 bridge edges** plus the canonical L-layer graph; dimensional, symbolic, discovery, consequence, and visualization tooling |
373
373
  | Canonical reference layer | **109 canonical equations** used as the non-speculative answer-key layer for bridge recovery/linkage |
374
- | Architecture | Generated dependency graph reports **0 circular dependencies**. The unused-analysis report lists **1** file and **78** exports with no importer. Both reports are regenerated by `bun run docs:deps`, and the `docs-fresh` job fails when they are stale |
374
+ | Architecture | Generated dependency graph reports **0 circular dependencies**. The unused-analysis report lists **0** files and **74** exports with no importer. Both reports are regenerated by `bun run docs:deps`, and the `docs-fresh` job fails when they are stale |
375
375
  | Quality gates | Build, strict source+test TypeScript checks, full Vitest suite, active-plan audit, package-content smoke test, and nightly long-horizon GL4/Shapiro accuracy tests |
376
- | Formal references | **10** atlas bridges derive `formally-proved` from a reviewed `lean4-physjs` reference. **16** catalog equations carry a counted reference and do not light that tag. **36** state the catalogued equation, so the kind is `bridge` while the covers line still begins with `derivation-step`; the catalog path passes that reference, so catalog evidence and edge evidence include `formally-proved`, except an unadjudicated row, which stays `proposed`. **3** carry a cross-check and **2** carry a property, and `be-28` is a property whose covers line begins with `derivation-step`. Nested statements are not second references. The pin and the split are [`NOTES.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/NOTES.md) |
376
+ | Formal references | **10** atlas bridges derive `formally-proved` from a reviewed `lean4-physjs` reference. **16** catalog equations carry a counted reference and do not light that tag. **74** state the catalogued equation, so the kind is `bridge` while the covers line still begins with `derivation-step`; the catalog path passes that reference, so catalog evidence and edge evidence include `formally-proved`, except an unadjudicated row, which stays `proposed`. **3** carry a cross-check and **2** carry a property, and `be-28` is a property whose covers line begins with `derivation-step`. Nested statements are not second references. The pin and the split are [`NOTES.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/NOTES.md) |
377
377
  <!-- /readme-status:table -->
378
378
 
379
379
  The project is **engineering-complete for its stated goal**: it is a computational
@@ -0,0 +1,26 @@
1
+ /**
2
+ * One catalog bridge, joined to the canonical foreign key and the generated
3
+ * formal reference.
4
+ *
5
+ * The catalog row, the right-hand side, the edges, and the evaluator stay
6
+ * projections of `registerBridge`. This function reads them. It does not
7
+ * store a second copy.
8
+ *
9
+ * @module atlas/bridge-record
10
+ */
11
+ /**
12
+ * The joined catalog record, plus the canonical id that restates it and the
13
+ * generated formal reference.
14
+ *
15
+ * @internal
16
+ */
17
+ export declare function getBridge(bridgeId: number | string): {
18
+ id: number;
19
+ entry: import("../index.js").BridgeEquationEntry;
20
+ rhs: import("../index.js").ExprNode | undefined;
21
+ edges: readonly import("../index.js").BridgeEdge[];
22
+ canonicalId: string | undefined;
23
+ formalRef: import("./types.js").FormalRef | undefined;
24
+ evaluator: import("../bridges/evaluators.js").EvaluatorSpec | undefined;
25
+ };
26
+ //# sourceMappingURL=bridge-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-record.d.ts","sourceRoot":"","sources":["../../src/atlas/bridge-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;;;;;;;;EAWlD"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * One catalog bridge, joined to the canonical foreign key and the generated
3
+ * formal reference.
4
+ *
5
+ * The catalog row, the right-hand side, the edges, and the evaluator stay
6
+ * projections of `registerBridge`. This function reads them. It does not
7
+ * store a second copy.
8
+ *
9
+ * @module atlas/bridge-record
10
+ */
11
+ import { BRIDGE_EVALUATORS } from '../bridges/evaluators.js';
12
+ import { CANONICAL_EQUATIONS } from '../canonical/registry.js';
13
+ import { getBridge as joinBridge } from '../composition/descriptor.js';
14
+ import { catalogFormalRef } from './catalog-formal-ref.js';
15
+ /**
16
+ * The joined catalog record, plus the canonical id that restates it and the
17
+ * generated formal reference.
18
+ *
19
+ * @internal
20
+ */
21
+ export function getBridge(bridgeId) {
22
+ const joined = joinBridge(bridgeId);
23
+ const canonicalId = CANONICAL_EQUATIONS.find((equation) => equation.restatesBridge === String(joined.id))?.id;
24
+ return {
25
+ ...joined,
26
+ canonicalId,
27
+ formalRef: catalogFormalRef(joined.id),
28
+ evaluator: BRIDGE_EVALUATORS.get(joined.id),
29
+ };
30
+ }
31
+ //# sourceMappingURL=bridge-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-record.js","sourceRoot":"","sources":["../../src/atlas/bridge-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,QAAyB;IACjD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAC1C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAC5D,EAAE,EAAE,CAAC;IACN,OAAO;QACL,GAAG,MAAM;QACT,WAAW;QACX,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,SAAS,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-formal-ref.d.ts","sourceRoot":"","sources":["../../src/atlas/catalog-formal-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAkBvD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAElE"}
1
+ {"version":3,"file":"catalog-formal-ref.d.ts","sourceRoot":"","sources":["../../src/atlas/catalog-formal-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAmBvD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAElE"}
@@ -13,17 +13,18 @@
13
13
  *
14
14
  * @module atlas/catalog-formal-ref
15
15
  */
16
+ import { PHYSJS_ENTRIES } from './physjs-entries.generated.js';
16
17
  import { physjsFormalRef } from './physjs-ref.js';
17
18
  /**
18
- * Catalog ids that had a `physjsFormalRef` call on the bridge row.
19
- * File order of those calls. `be-20` is absent: its Friedmann corollary
20
- * stays nested on `be-13`.
19
+ * Catalog ids whose generated manifest key is `be-<id>`.
20
+ * Derived from that table, so a new `be-*` key is not a second hand list.
21
+ * `be-20` is absent: its Friedmann corollary stays nested on `be-13`.
22
+ * The hand list that stopped at 102 is the record from before BE-103–125.
21
23
  */
22
- const CATALOG_FORMAL_REF_IDS = [
23
- 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 24, 27, 28, 29, 30, 32, 33, 34, 35, 37, 38, 40, 42, 43,
24
- 50, 51, 54, 53, 55, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
25
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
26
- ];
24
+ const CATALOG_FORMAL_REF_IDS = PHYSJS_ENTRIES.flatMap((entry) => {
25
+ const match = /^be-(\d+)$/.exec(entry.key);
26
+ return match === null ? [] : [Number(match[1])];
27
+ });
27
28
  const BY_ID = new Map(CATALOG_FORMAL_REF_IDS.map((id) => [id, physjsFormalRef(`be-${id}`)]));
28
29
  /**
29
30
  * The reviewed PhysJS reference for a catalog id, or `undefined` when
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-formal-ref.js","sourceRoot":"","sources":["../../src/atlas/catalog-formal-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;GAIG;AACH,MAAM,sBAAsB,GAAG;IAC7B,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC9F,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC1F,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;CAClC,CAAC;AAEX,MAAM,KAAK,GAAmC,IAAI,GAAG,CACnD,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CACtE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"catalog-formal-ref.js","sourceRoot":"","sources":["../../src/atlas/catalog-formal-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,sBAAsB,GAAsB,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;IACjF,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEH,MAAM,KAAK,GAAmC,IAAI,GAAG,CACnD,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CACtE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC"}
@@ -39,8 +39,21 @@ export interface ChainStubRecord {
39
39
  readonly edgeIds: readonly string[];
40
40
  readonly text: string;
41
41
  }
42
- /** One ordered survivor, or a recorded regime rejection. @internal */
43
- export type ChainPipelineResult = ChainConfirmationRecord | ChainRestatementRecord | ChainStubRecord | ChainRegimeMismatch;
42
+ /**
43
+ * A pair the composition table refused.
44
+ *
45
+ * The message is `UndefinedCompositionError`. A dimension mismatch is not
46
+ * this record.
47
+ *
48
+ * @internal
49
+ */
50
+ export interface ChainCompositionRefusal {
51
+ readonly kind: 'rejected: composition table';
52
+ readonly edgeIds: readonly [string, string];
53
+ readonly message: string;
54
+ }
55
+ /** One ordered survivor, a regime rejection, or a composition-table refusal. @internal */
56
+ export type ChainPipelineResult = ChainConfirmationRecord | ChainRestatementRecord | ChainStubRecord | ChainRegimeMismatch | ChainCompositionRefusal;
44
57
  /**
45
58
  * Dimensioned leaves of the composed formula, excluding the target name.
46
59
  * The names are the MathTS symbol filter. A dimensionless constant is not
@@ -80,8 +93,9 @@ export declare function renderChainRecord(record: ChainRecord, seedTheorems?: re
80
93
  * A manifest key whose derived kind is not `bridge` is not a premise.
81
94
  * A chain the Buckingham filter drops is absent. A confirmation or a
82
95
  * restatement is not sent to the regime gate. Any other mismatch is
83
- * `rejected: regime mismatch` and is not a stub. The catalog array is
84
- * not modified.
96
+ * `rejected: regime mismatch` and is not a stub. A composition-table
97
+ * refusal is `rejected: composition table` and is not a dimension
98
+ * failure. The catalog array is not modified.
85
99
  *
86
100
  * @internal
87
101
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chain-pipeline.d.ts","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAK9F,2FAA2F;AAC3F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,6FAA6F;AAC7F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAC3B,uBAAuB,GACvB,sBAAsB,GACtB,eAAe,GACf,mBAAmB,CAAC;AAYxB;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,EAAE,CASlG;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,GACjB,iBAAiB,GAAG,SAAS,CAI/B;AAyCD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,YAAY,GAAE,SAAS,MAAM,EAAO,GACnC,mBAAmB,CAyBrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,mBAAmB,EAAE,CAwC7F"}
1
+ {"version":3,"file":"chain-pipeline.d.ts","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAK9F,2FAA2F;AAC3F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,6FAA6F;AAC7F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0FAA0F;AAC1F,MAAM,MAAM,mBAAmB,GAC3B,uBAAuB,GACvB,sBAAsB,GACtB,eAAe,GACf,mBAAmB,GACnB,uBAAuB,CAAC;AAY5B;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,EAAE,CASlG;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,GACjB,iBAAiB,GAAG,SAAS,CAI/B;AAyCD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,YAAY,GAAE,SAAS,MAAM,EAAO,GACnC,mBAAmB,CAyBrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,mBAAmB,EAAE,CAiD7F"}
@@ -16,7 +16,7 @@
16
16
  import { DIMENSIONLESS } from '../dimensional/types.js';
17
17
  import { equals } from '../dimensional/algebra.js';
18
18
  import { CONSTANTS } from '../dimensional/symbolic-constants.js';
19
- import { enumerateCompositions } from '../composition/enumerate.js';
19
+ import { enumerateCompositionsWithRefusals } from '../composition/enumerate.js';
20
20
  import { buckinghamFilter } from '../composition/buckingham-filter.js';
21
21
  import { matchChain } from '../composition/chain-match.js';
22
22
  import { compareChainEdgeIds } from '../composition/chain-candidate.js';
@@ -149,14 +149,16 @@ export function renderChainRecord(record, seedTheorems = []) {
149
149
  * A manifest key whose derived kind is not `bridge` is not a premise.
150
150
  * A chain the Buckingham filter drops is absent. A confirmation or a
151
151
  * restatement is not sent to the regime gate. Any other mismatch is
152
- * `rejected: regime mismatch` and is not a stub. The catalog array is
153
- * not modified.
152
+ * `rejected: regime mismatch` and is not a stub. A composition-table
153
+ * refusal is `rejected: composition table` and is not a dimension
154
+ * failure. The catalog array is not modified.
154
155
  *
155
156
  * @internal
156
157
  */
157
158
  export function runChainPipeline(edges) {
158
159
  const seedIds = new Set(bridgeSeedKeys());
159
- const report = enumerateCompositions(edges, { seedIds });
160
+ const found = enumerateCompositionsWithRefusals(edges, { seedIds });
161
+ const report = found.report;
160
162
  const records = [];
161
163
  const rejections = [];
162
164
  for (const target of report.proofTargets) {
@@ -184,9 +186,17 @@ export function runChainPipeline(edges) {
184
186
  records.push(record);
185
187
  }
186
188
  const orderedRejections = [...rejections].sort((a, b) => compareChainEdgeIds(a.edgeIds, b.edgeIds));
189
+ const tableRefusals = found.relationRefusals
190
+ .map((row) => ({
191
+ kind: 'rejected: composition table',
192
+ edgeIds: [row.first.id, row.second.id],
193
+ message: row.message,
194
+ }))
195
+ .sort((a, b) => compareChainEdgeIds(a.edgeIds, b.edgeIds));
187
196
  return [
188
197
  ...orderChainRecords(records).map((record) => renderChainRecord(record, theoremsFor(record.edgeIds))),
189
198
  ...orderedRejections.map((record) => renderChainRecord(record)),
199
+ ...tableRefusals,
190
200
  ];
191
201
  }
192
202
  //# sourceMappingURL=chain-pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chain-pipeline.js","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain-pipeline.js","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,12 @@
4
4
  *
5
5
  * @module atlas/composition-table
6
6
  */
7
- import { composeRelation as composeRelationValue } from '../relations/composition-table.js';
8
- /** The `'no-composite-claim'` value returned when a chain of two relations asserts nothing. @public */
9
- export declare const NO_COMPOSITE_CLAIM: "no-composite-claim";
10
- /** Every cell of the relation composition table, including the silent `'no-composite-claim'` cells. @public */
11
- export declare const COMPOSITION_TABLE: Readonly<Record<import("../relations/types.js").RelationType, Readonly<Record<import("../relations/types.js").RelationType, import("../relations/composition-table.js").CompositionResult>>>>;
12
- /** The relation a chain of two bridges asserts, read from the composition table. @public */
13
- export declare const composeRelation: typeof composeRelationValue;
7
+ /**
8
+ * The composition table, the silent-cell value, and the function that reads a cell.
9
+ *
10
+ * @public
11
+ */
12
+ export { COMPOSITION_TABLE, composeRelation, NO_COMPOSITE_CLAIM, } from '../relations/composition-table.js';
14
13
  /** What `composeRelation` returns when the chain asserts nothing. @public */
15
14
  export type NoCompositeClaim = import('../relations/composition-table.js').NoCompositeClaim;
16
15
  /** The result of composing two relations: a relation type, or no composite claim. @public */
@@ -1 +1 @@
1
- {"version":3,"file":"composition-table.d.ts","sourceRoot":"","sources":["../../src/atlas/composition-table.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,eAAe,IAAI,oBAAoB,EAExC,MAAM,mCAAmC,CAAC;AAE3C,uGAAuG;AACvG,eAAO,MAAM,kBAAkB,sBAAwB,CAAC;AAExD,+GAA+G;AAC/G,eAAO,MAAM,iBAAiB,+LAAwB,CAAC;AAEvD,4FAA4F;AAC5F,eAAO,MAAM,eAAe,6BAAuB,CAAC;AAEpD,6EAA6E;AAC7E,MAAM,MAAM,gBAAgB,GAAG,OAAO,mCAAmC,EAAE,gBAAgB,CAAC;AAE5F,6FAA6F;AAC7F,MAAM,MAAM,iBAAiB,GAAG,OAAO,mCAAmC,EAAE,iBAAiB,CAAC"}
1
+ {"version":3,"file":"composition-table.d.ts","sourceRoot":"","sources":["../../src/atlas/composition-table.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAE3C,6EAA6E;AAC7E,MAAM,MAAM,gBAAgB,GAAG,OAAO,mCAAmC,EAAE,gBAAgB,CAAC;AAE5F,6FAA6F;AAC7F,MAAM,MAAM,iBAAiB,GAAG,OAAO,mCAAmC,EAAE,iBAAiB,CAAC"}
@@ -4,11 +4,10 @@
4
4
  *
5
5
  * @module atlas/composition-table
6
6
  */
7
- import { COMPOSITION_TABLE as compositionTableValue, composeRelation as composeRelationValue, NO_COMPOSITE_CLAIM as noCompositeClaimValue, } from '../relations/composition-table.js';
8
- /** The `'no-composite-claim'` value returned when a chain of two relations asserts nothing. @public */
9
- export const NO_COMPOSITE_CLAIM = noCompositeClaimValue;
10
- /** Every cell of the relation composition table, including the silent `'no-composite-claim'` cells. @public */
11
- export const COMPOSITION_TABLE = compositionTableValue;
12
- /** The relation a chain of two bridges asserts, read from the composition table. @public */
13
- export const composeRelation = composeRelationValue;
7
+ /**
8
+ * The composition table, the silent-cell value, and the function that reads a cell.
9
+ *
10
+ * @public
11
+ */
12
+ export { COMPOSITION_TABLE, composeRelation, NO_COMPOSITE_CLAIM, } from '../relations/composition-table.js';
14
13
  //# sourceMappingURL=composition-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composition-table.js","sourceRoot":"","sources":["../../src/atlas/composition-table.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,IAAI,qBAAqB,EAC1C,eAAe,IAAI,oBAAoB,EACvC,kBAAkB,IAAI,qBAAqB,GAC5C,MAAM,mCAAmC,CAAC;AAE3C,uGAAuG;AACvG,MAAM,CAAC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAExD,+GAA+G;AAC/G,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"composition-table.js","sourceRoot":"","sources":["../../src/atlas/composition-table.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GACnB,MAAM,mCAAmC,CAAC"}
@@ -131,7 +131,7 @@ export interface LangevinFixture {
131
131
  *
132
132
  * The second moments are integrated from the LANGEVIN model's own moment
133
133
  * equations, `d⟨x²⟩/dt = 2⟨xv⟩`, `d⟨xv⟩/dt = ⟨v²⟩ − (γ/m)⟨xv⟩`, with
134
- * `⟨v²⟩ = k_B T/m` held at equipartition, by RK4 on a fine fixed grid. The
134
+ * `⟨v²⟩ = k_B T/m` held at equipartition, by `solveODESystem` with `dt` on a fine fixed grid. The
135
135
  * diffusion coefficient `D = k_B T/γ` (Einstein) enters only the DENOMINATOR:
136
136
  * the ratio tends to 1 in the diffusive regime `t ≫ τ_p`.
137
137
  *
@@ -1 +1 @@
1
- {"version":3,"file":"numerics.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/numerics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numerics.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/numerics.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  *
9
9
  * @module atlas/diffusion/numerics
10
10
  */
11
+ import { solveODESystem } from '@danielsimonjr/mathts-functions';
11
12
  /**
12
13
  * The Gaussian solution of `∂c/∂t = D ∂²c/∂x²` from a point source of unit
13
14
  * mass, evaluated at `x`: `(4πDt)^{-1/2} exp(−x²/(4Dt))`.
@@ -154,7 +155,7 @@ export function wickKernelSquaredNorm(tau, f, kernel, halfWidth = 20, cells = 40
154
155
  *
155
156
  * The second moments are integrated from the LANGEVIN model's own moment
156
157
  * equations, `d⟨x²⟩/dt = 2⟨xv⟩`, `d⟨xv⟩/dt = ⟨v²⟩ − (γ/m)⟨xv⟩`, with
157
- * `⟨v²⟩ = k_B T/m` held at equipartition, by RK4 on a fine fixed grid. The
158
+ * `⟨v²⟩ = k_B T/m` held at equipartition, by `solveODESystem` with `dt` on a fine fixed grid. The
158
159
  * diffusion coefficient `D = k_B T/γ` (Einstein) enters only the DENOMINATOR:
159
160
  * the ratio tends to 1 in the diffusive regime `t ≫ τ_p`.
160
161
  *
@@ -166,17 +167,9 @@ export function langevinMsdRatio(resolution, f) {
166
167
  const v2 = f.kT / f.m;
167
168
  const steps = Math.max(2000, Math.ceil(200 * resolution));
168
169
  const h = tEnd / steps;
169
- let x2 = 0;
170
- let xv = 0;
171
- const rhs = (xvNow) => [2 * xvNow, v2 - xvNow / tauP];
172
- for (let n = 0; n < steps; n++) {
173
- const [a1, b1] = rhs(xv);
174
- const [a2, b2] = rhs(xv + 0.5 * h * b1);
175
- const [a3, b3] = rhs(xv + 0.5 * h * b2);
176
- const [a4, b4] = rhs(xv + h * b3);
177
- x2 += (h / 6) * (a1 + 2 * a2 + 2 * a3 + a4);
178
- xv += (h / 6) * (b1 + 2 * b2 + 2 * b3 + b4);
179
- }
170
+ const sol = solveODESystem((_t, y) => [2 * y[1], v2 - y[1] / tauP], [0, 0], [0, steps * h], { dt: h });
171
+ const end = sol.y[sol.y.length - 1];
172
+ const x2 = end?.[0] ?? Number.NaN;
180
173
  const D = f.kT / f.gamma;
181
174
  return x2 / (2 * D * tEnd);
182
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"numerics.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/numerics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numerics.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/numerics.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@
3
3
  * bridges that had none: W7 (`ab-pendulum-linear`), W8b (`ab-damped-massless`)
4
4
  * and W9 (`ab-chain-wave`).
5
5
  *
6
- * Each one INTEGRATES the premise model's own equation by RK4 and reads the
6
+ * Each one INTEGRATES the premise model's own equation with MathTS
7
+ * `solveODESystem` and `dt`, and reads the
7
8
  * claimed quantity off the motion. None evaluates the closed form its record
8
9
  * states, so a test comparing the measurement with that closed form compares
9
10
  * two methods, not one method with itself.
@@ -1 +1 @@
1
- {"version":3,"file":"limit-witnesses.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/limit-witnesses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,UAAU;aAAK,MAAM,EAAE,GAAG;aAAE,cAAc,EAAE,KAAM;CAAW,CAAC;AAE3E;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,GAAE,MAAkC,GAAG,MAAM,CAKrH;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;aAAK,CAAC,EAAE,IAAI;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;aAAE,EAAE,EAAE,CAAC;aAAE,EAAE,EAAE,CAAC;aAAE,IAAI,EAAE,EAAE;aAAE,YAAY,EAAE,EAAE;CAAW,CAAC;AAEtG;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,MAAM,EACT,OAAO,GAAE;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAgB,GAChK,MAAM,CAyBR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;aAAK,MAAM,EAAE,EAAE;aAAE,KAAK,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;aAAE,gBAAgB,EAAE,IAAI;CAAW,CAAC;AAEhG;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAAe,GAC1H,MAAM,CAoDR"}
1
+ {"version":3,"file":"limit-witnesses.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/limit-witnesses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH;;;;;GAKG;AACH,eAAO,MAAM,UAAU;aAAK,MAAM,EAAE,GAAG;aAAE,cAAc,EAAE,KAAM;CAAW,CAAC;AAE3E;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,GAAE,MAAkC,GAAG,MAAM,CAKrH;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;aAAK,CAAC,EAAE,IAAI;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;aAAE,EAAE,EAAE,CAAC;aAAE,EAAE,EAAE,CAAC;aAAE,IAAI,EAAE,EAAE;aAAE,YAAY,EAAE,EAAE;CAAW,CAAC;AAEtG;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,MAAM,EACT,OAAO,GAAE;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAgB,GAChK,MAAM,CAmBR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;aAAK,MAAM,EAAE,EAAE;aAAE,KAAK,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;aAAE,gBAAgB,EAAE,IAAI;CAAW,CAAC;AAEhG;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAAe,GAC1H,MAAM,CAmDR"}
@@ -3,7 +3,8 @@
3
3
  * bridges that had none: W7 (`ab-pendulum-linear`), W8b (`ab-damped-massless`)
4
4
  * and W9 (`ab-chain-wave`).
5
5
  *
6
- * Each one INTEGRATES the premise model's own equation by RK4 and reads the
6
+ * Each one INTEGRATES the premise model's own equation with MathTS
7
+ * `solveODESystem` and `dt`, and reads the
7
8
  * claimed quantity off the motion. None evaluates the closed form its record
8
9
  * states, so a test comparing the measurement with that closed form compares
9
10
  * two methods, not one method with itself.
@@ -11,6 +12,7 @@
11
12
  * @module atlas/oscillators/limit-witnesses
12
13
  * @internal
13
14
  */
15
+ import { solveODESystem } from '@danielsimonjr/mathts-functions';
14
16
  import { quarterPeriod } from './norm-transport-witness.js';
15
17
  /**
16
18
  * W7: the pendulum θ'' = −ω0² sin θ at ω0 = 1, released from rest; the
@@ -57,24 +59,13 @@ export function measureMasslessOffset(m, fixture = W8B_FIXTURE) {
57
59
  const h = m / stepsPerMass;
58
60
  const layerSteps = Math.ceil((5 * stepsPerMass) / b);
59
61
  const steps = Math.ceil(tEnd / h);
60
- let x = x0;
61
- let v = v0;
62
+ const sol = solveODESystem((_t, y) => [y[1], -(b * y[1] + k * y[0]) / m], [x0, v0], [0, steps * h], { dt: h });
62
63
  let sup = 0;
63
- for (let i = 1; i <= steps; i++) {
64
- // The damped force reads v as well as x, so the first-order system is stepped here.
65
- const f = (xx, vv) => -(b * vv + k * xx) / m;
66
- const k1x = v;
67
- const k1v = f(x, v);
68
- const k2x = v + 0.5 * h * k1v;
69
- const k2v = f(x + 0.5 * h * k1x, v + 0.5 * h * k1v);
70
- const k3x = v + 0.5 * h * k2v;
71
- const k3v = f(x + 0.5 * h * k2x, v + 0.5 * h * k2v);
72
- const k4x = v + h * k3v;
73
- const k4v = f(x + h * k3x, v + h * k3v);
74
- x += (h / 6) * (k1x + 2 * k2x + 2 * k3x + k4x);
75
- v += (h / 6) * (k1v + 2 * k2v + 2 * k3v + k4v);
76
- if (i >= layerSteps)
77
- sup = Math.max(sup, Math.abs(x - x0 * Math.exp((-k / b) * i * h)));
64
+ for (let i = layerSteps; i <= steps; i++) {
65
+ const x = sol.y[i]?.[0];
66
+ if (x === undefined)
67
+ return Number.NaN;
68
+ sup = Math.max(sup, Math.abs(x - x0 * Math.exp((-k / b) * i * h)));
78
69
  }
79
70
  return sup;
80
71
  }
@@ -106,34 +97,29 @@ export function measureChainDispersionError(masses, fixture = W9_FIXTURE) {
106
97
  out[n] = w * (u[(n + 1) % N] - 2 * u[n] + u[(n - 1 + N) % N]);
107
98
  return out;
108
99
  };
109
- const axpy = (y, s, x) => {
110
- const out = new Float64Array(N);
111
- for (let n = 0; n < N; n++)
112
- out[n] = y[n] + s * x[n];
113
- return out;
114
- };
115
100
  const h = 1 / stepsPerUnitTime;
116
- let u = Float64Array.from({ length: N }, (_, n) => Math.cos((2 * Math.PI * n) / N));
117
- let v = new Float64Array(N);
101
+ let state = [
102
+ ...Float64Array.from({ length: N }, (_, n) => Math.cos((2 * Math.PI * n) / N)),
103
+ ...new Array(N).fill(0),
104
+ ];
118
105
  // Twice the lattice quarter period π/(4√(κ/m) sin(π/N)): the crossing is inside.
119
106
  const maxSteps = Math.ceil(((2 * Math.PI) / (4 * Math.sqrt(w) * Math.sin(Math.PI / N))) * stepsPerUnitTime);
120
107
  for (let i = 0; i < maxSteps; i++) {
121
- const k1u = v;
122
- const k1v = accel(u);
123
- const k2u = axpy(v, 0.5 * h, k1v);
124
- const k2v = accel(axpy(u, 0.5 * h, k1u));
125
- const k3u = axpy(v, 0.5 * h, k2v);
126
- const k3v = accel(axpy(u, 0.5 * h, k2u));
127
- const k4u = axpy(v, h, k3v);
128
- const k4v = accel(axpy(u, h, k3u));
129
- const nu = new Float64Array(N);
130
- const nv = new Float64Array(N);
131
- for (let n = 0; n < N; n++) {
132
- nu[n] = u[n] + (h / 6) * (k1u[n] + 2 * k2u[n] + 2 * k3u[n] + k4u[n]);
133
- nv[n] = v[n] + (h / 6) * (k1v[n] + 2 * k2v[n] + 2 * k3v[n] + k4v[n]);
134
- }
135
- if (u[0] > 0 && nu[0] <= 0) {
136
- const [p0, m0, p1, m1] = [u[0], v[0] * h, nu[0], nv[0] * h];
108
+ const sol = solveODESystem((_t, y) => {
109
+ const pos = Float64Array.from(y.slice(0, N));
110
+ const vel = y.slice(N);
111
+ const a = accel(pos);
112
+ return [...vel, ...a];
113
+ }, state, [0, h], { dt: h });
114
+ const next = sol.y[sol.y.length - 1];
115
+ if (next === undefined)
116
+ return Number.NaN;
117
+ const u0 = state[0];
118
+ const nu0 = next[0];
119
+ const v0 = state[N];
120
+ const nv0 = next[N];
121
+ if (u0 > 0 && nu0 <= 0) {
122
+ const [p0, m0, p1, m1] = [u0, v0 * h, nu0, nv0 * h];
137
123
  const p = (s) => (2 * s ** 3 - 3 * s ** 2 + 1) * p0 + (s ** 3 - 2 * s ** 2 + s) * m0 + (-2 * s ** 3 + 3 * s ** 2) * p1 + (s ** 3 - s ** 2) * m1;
138
124
  const dp = (s) => (6 * s ** 2 - 6 * s) * p0 + (3 * s ** 2 - 4 * s + 1) * m0 + (-6 * s ** 2 + 6 * s) * p1 + (3 * s ** 2 - 2 * s) * m1;
139
125
  let s = p0 / (p0 - p1);
@@ -144,8 +130,7 @@ export function measureChainDispersionError(masses, fixture = W9_FIXTURE) {
144
130
  const q = (2 * Math.PI) / (N * a);
145
131
  return 1 - omega / (c * q);
146
132
  }
147
- u = nu;
148
- v = nv;
133
+ state = next.slice();
149
134
  }
150
135
  return Number.NaN;
151
136
  }