universal-physics-tensor 1.0.4 → 2.0.1

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 (269) hide show
  1. package/README.md +11 -13
  2. package/dist/atlas/catalog-formal-ref.js +1 -1
  3. package/dist/atlas/catalog-formal-ref.js.map +1 -1
  4. package/dist/atlas/chain-pipeline.d.ts +37 -0
  5. package/dist/atlas/chain-pipeline.d.ts.map +1 -1
  6. package/dist/atlas/chain-pipeline.js +95 -79
  7. package/dist/atlas/chain-pipeline.js.map +1 -1
  8. package/dist/atlas/derive-evidence.d.ts +6 -4
  9. package/dist/atlas/derive-evidence.d.ts.map +1 -1
  10. package/dist/atlas/derive-evidence.js +12 -4
  11. package/dist/atlas/derive-evidence.js.map +1 -1
  12. package/dist/atlas/physjs-ref.d.ts +2 -2
  13. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  14. package/dist/atlas/physjs-ref.js +33 -3
  15. package/dist/atlas/physjs-ref.js.map +1 -1
  16. package/dist/atlas/proof-target.d.ts +28 -2
  17. package/dist/atlas/proof-target.d.ts.map +1 -1
  18. package/dist/atlas/proof-target.js +25 -16
  19. package/dist/atlas/proof-target.js.map +1 -1
  20. package/dist/bridges/be64-eddington-luminosity.d.ts.map +1 -1
  21. package/dist/bridges/be64-eddington-luminosity.js +1 -3
  22. package/dist/bridges/be64-eddington-luminosity.js.map +1 -1
  23. package/dist/bridges/be66-radiation-pressure.d.ts +30 -0
  24. package/dist/bridges/be66-radiation-pressure.d.ts.map +1 -0
  25. package/dist/bridges/be66-radiation-pressure.js +37 -0
  26. package/dist/bridges/be66-radiation-pressure.js.map +1 -0
  27. package/dist/bridges/be67-alfven-speed.d.ts +54 -0
  28. package/dist/bridges/be67-alfven-speed.d.ts.map +1 -0
  29. package/dist/bridges/be67-alfven-speed.js +49 -0
  30. package/dist/bridges/be67-alfven-speed.js.map +1 -0
  31. package/dist/bridges/be68-tolman-ehrenfest.d.ts +49 -0
  32. package/dist/bridges/be68-tolman-ehrenfest.d.ts.map +1 -0
  33. package/dist/bridges/be68-tolman-ehrenfest.js +46 -0
  34. package/dist/bridges/be68-tolman-ehrenfest.js.map +1 -0
  35. package/dist/bridges/bridge-equations.d.ts +6 -0
  36. package/dist/bridges/bridge-equations.d.ts.map +1 -1
  37. package/dist/bridges/bridge-equations.js +6 -0
  38. package/dist/bridges/bridge-equations.js.map +1 -1
  39. package/dist/bridges/evaluators.d.ts +3 -3
  40. package/dist/bridges/evaluators.d.ts.map +1 -1
  41. package/dist/bridges/evaluators.js +25 -4
  42. package/dist/bridges/evaluators.js.map +1 -1
  43. package/dist/bridges/index.d.ts +10 -4
  44. package/dist/bridges/index.d.ts.map +1 -1
  45. package/dist/bridges/index.js +74 -4
  46. package/dist/bridges/index.js.map +1 -1
  47. package/dist/cli/commands/_atlas-route.d.ts +1 -1
  48. package/dist/cli/commands/atlas.d.ts.map +1 -1
  49. package/dist/cli/commands/atlas.js +6 -2
  50. package/dist/cli/commands/atlas.js.map +1 -1
  51. package/dist/cli/commands/chain.d.ts.map +1 -1
  52. package/dist/cli/commands/chain.js +8 -3
  53. package/dist/cli/commands/chain.js.map +1 -1
  54. package/dist/cli/commands/derive.js +1 -1
  55. package/dist/cli/commands/eval.d.ts.map +1 -1
  56. package/dist/cli/commands/eval.js +31 -15
  57. package/dist/cli/commands/eval.js.map +1 -1
  58. package/dist/cli/commands/evaluate.d.ts +7 -3
  59. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  60. package/dist/cli/commands/evaluate.js +53 -32
  61. package/dist/cli/commands/evaluate.js.map +1 -1
  62. package/dist/cli/commands/explain.d.ts.map +1 -1
  63. package/dist/cli/commands/explain.js +119 -15
  64. package/dist/cli/commands/explain.js.map +1 -1
  65. package/dist/cli/commands/map.d.ts +1 -1
  66. package/dist/cli/commands/map.d.ts.map +1 -1
  67. package/dist/cli/commands/map.js.map +1 -1
  68. package/dist/cli/commands/metric.d.ts.map +1 -1
  69. package/dist/cli/commands/metric.js +10 -11
  70. package/dist/cli/commands/metric.js.map +1 -1
  71. package/dist/cli/commands/path.d.ts +2 -2
  72. package/dist/cli/commands/path.d.ts.map +1 -1
  73. package/dist/cli/commands/path.js +10 -11
  74. package/dist/cli/commands/path.js.map +1 -1
  75. package/dist/cli/commands/recover.d.ts.map +1 -1
  76. package/dist/cli/commands/recover.js +1 -2
  77. package/dist/cli/commands/recover.js.map +1 -1
  78. package/dist/cli/commands/regime.d.ts +2 -2
  79. package/dist/cli/commands/regime.d.ts.map +1 -1
  80. package/dist/cli/commands/regime.js +3 -4
  81. package/dist/cli/commands/regime.js.map +1 -1
  82. package/dist/cli/commands/search.d.ts.map +1 -1
  83. package/dist/cli/commands/search.js +8 -3
  84. package/dist/cli/commands/search.js.map +1 -1
  85. package/dist/cli/commands/symbolic.d.ts.map +1 -1
  86. package/dist/cli/commands/symbolic.js +5 -0
  87. package/dist/cli/commands/symbolic.js.map +1 -1
  88. package/dist/cli/eval-numbers.d.ts +6 -4
  89. package/dist/cli/eval-numbers.d.ts.map +1 -1
  90. package/dist/cli/eval-numbers.js +11 -5
  91. package/dist/cli/eval-numbers.js.map +1 -1
  92. package/dist/cli/map-evidence.d.ts +2 -1
  93. package/dist/cli/map-evidence.d.ts.map +1 -1
  94. package/dist/cli/map-evidence.js +2 -1
  95. package/dist/cli/map-evidence.js.map +1 -1
  96. package/dist/cli/search-index.d.ts +8 -0
  97. package/dist/cli/search-index.d.ts.map +1 -1
  98. package/dist/cli/search-index.js +18 -1
  99. package/dist/cli/search-index.js.map +1 -1
  100. package/dist/cli/version.d.ts +6 -2
  101. package/dist/cli/version.d.ts.map +1 -1
  102. package/dist/cli/version.js +11 -3
  103. package/dist/cli/version.js.map +1 -1
  104. package/dist/cli-api.d.ts +52 -0
  105. package/dist/cli-api.d.ts.map +1 -1
  106. package/dist/cli-api.js +44 -0
  107. package/dist/cli-api.js.map +1 -1
  108. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  109. package/dist/composition/bridge-analysis.js +18 -1
  110. package/dist/composition/bridge-analysis.js.map +1 -1
  111. package/dist/composition/canonical-graph.d.ts +9 -4
  112. package/dist/composition/canonical-graph.d.ts.map +1 -1
  113. package/dist/composition/canonical-graph.js +113 -8
  114. package/dist/composition/canonical-graph.js.map +1 -1
  115. package/dist/composition/catalog-graph.d.ts +5 -4
  116. package/dist/composition/catalog-graph.d.ts.map +1 -1
  117. package/dist/composition/catalog-graph.js +7 -4
  118. package/dist/composition/catalog-graph.js.map +1 -1
  119. package/dist/composition/chain-result.d.ts +55 -0
  120. package/dist/composition/chain-result.d.ts.map +1 -0
  121. package/dist/composition/chain-result.js +57 -0
  122. package/dist/composition/chain-result.js.map +1 -0
  123. package/dist/composition/compose-symbolic.d.ts.map +1 -1
  124. package/dist/composition/compose-symbolic.js +4 -39
  125. package/dist/composition/compose-symbolic.js.map +1 -1
  126. package/dist/composition/compose.d.ts.map +1 -1
  127. package/dist/composition/compose.js +11 -4
  128. package/dist/composition/compose.js.map +1 -1
  129. package/dist/composition/edges/applied-physicist.d.ts +43 -0
  130. package/dist/composition/edges/applied-physicist.d.ts.map +1 -0
  131. package/dist/composition/edges/applied-physicist.js +128 -0
  132. package/dist/composition/edges/applied-physicist.js.map +1 -0
  133. package/dist/composition/enumerate.d.ts +46 -5
  134. package/dist/composition/enumerate.d.ts.map +1 -1
  135. package/dist/composition/enumerate.js +37 -8
  136. package/dist/composition/enumerate.js.map +1 -1
  137. package/dist/composition/expr-simplify.d.ts.map +1 -1
  138. package/dist/composition/expr-simplify.js +3 -11
  139. package/dist/composition/expr-simplify.js.map +1 -1
  140. package/dist/composition/index.d.ts +2 -0
  141. package/dist/composition/index.d.ts.map +1 -1
  142. package/dist/composition/index.js +2 -0
  143. package/dist/composition/index.js.map +1 -1
  144. package/dist/composition/mathts-scalar-symbols.d.ts +48 -0
  145. package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -0
  146. package/dist/composition/mathts-scalar-symbols.js +150 -0
  147. package/dist/composition/mathts-scalar-symbols.js.map +1 -0
  148. package/dist/composition/probe/study.js +1 -1
  149. package/dist/composition/probe/study.js.map +1 -1
  150. package/dist/composition/quantities/applied-physicist.d.ts +34 -0
  151. package/dist/composition/quantities/applied-physicist.d.ts.map +1 -0
  152. package/dist/composition/quantities/applied-physicist.js +82 -0
  153. package/dist/composition/quantities/applied-physicist.js.map +1 -0
  154. package/dist/composition/quantities.d.ts +1 -0
  155. package/dist/composition/quantities.d.ts.map +1 -1
  156. package/dist/composition/quantities.js +1 -0
  157. package/dist/composition/quantities.js.map +1 -1
  158. package/dist/composition/uncertainty.d.ts +2 -2
  159. package/dist/composition/uncertainty.d.ts.map +1 -1
  160. package/dist/composition/uncertainty.js +14 -13
  161. package/dist/composition/uncertainty.js.map +1 -1
  162. package/dist/core/constants.d.ts +16 -0
  163. package/dist/core/constants.d.ts.map +1 -1
  164. package/dist/core/constants.js +16 -0
  165. package/dist/core/constants.js.map +1 -1
  166. package/dist/diff/bridge-gradient.d.ts +5 -8
  167. package/dist/diff/bridge-gradient.d.ts.map +1 -1
  168. package/dist/diff/bridge-gradient.js +5 -8
  169. package/dist/diff/bridge-gradient.js.map +1 -1
  170. package/dist/dimensional/bridge-check.d.ts +1 -1
  171. package/dist/dimensional/bridge-check.d.ts.map +1 -1
  172. package/dist/dimensional/bridge-check.js +5 -2
  173. package/dist/dimensional/bridge-check.js.map +1 -1
  174. package/dist/dimensional/buckingham.d.ts.map +1 -1
  175. package/dist/dimensional/buckingham.js +19 -91
  176. package/dist/dimensional/buckingham.js.map +1 -1
  177. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  178. package/dist/dimensional/dimension-spec.js +1 -0
  179. package/dist/dimensional/dimension-spec.js.map +1 -1
  180. package/dist/dimensional/formula-names.d.ts.map +1 -1
  181. package/dist/dimensional/formula-names.js +9 -1
  182. package/dist/dimensional/formula-names.js.map +1 -1
  183. package/dist/dimensional/units.d.ts +13 -0
  184. package/dist/dimensional/units.d.ts.map +1 -1
  185. package/dist/dimensional/units.js +81 -3
  186. package/dist/dimensional/units.js.map +1 -1
  187. package/dist/index.d.ts +5 -1
  188. package/dist/index.d.ts.map +1 -1
  189. package/dist/index.js +8 -4
  190. package/dist/index.js.map +1 -1
  191. package/dist/numerical/binding-value.d.ts +21 -3
  192. package/dist/numerical/binding-value.d.ts.map +1 -1
  193. package/dist/numerical/binding-value.js +106 -33
  194. package/dist/numerical/binding-value.js.map +1 -1
  195. package/dist/numerical/einstein-equation.js +3 -3
  196. package/dist/numerical/einstein-equation.js.map +1 -1
  197. package/dist/numerical/engine-registry.d.ts +12 -27
  198. package/dist/numerical/engine-registry.d.ts.map +1 -1
  199. package/dist/numerical/engine-registry.js +10 -65
  200. package/dist/numerical/engine-registry.js.map +1 -1
  201. package/dist/numerical/errors.d.ts +1 -2
  202. package/dist/numerical/errors.d.ts.map +1 -1
  203. package/dist/numerical/errors.js +1 -2
  204. package/dist/numerical/errors.js.map +1 -1
  205. package/dist/numerical/formula-contract.d.ts +60 -0
  206. package/dist/numerical/formula-contract.d.ts.map +1 -0
  207. package/dist/numerical/formula-contract.js +107 -0
  208. package/dist/numerical/formula-contract.js.map +1 -0
  209. package/dist/numerical/formula-dimension.d.ts +33 -10
  210. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  211. package/dist/numerical/formula-dimension.js +48 -35
  212. package/dist/numerical/formula-dimension.js.map +1 -1
  213. package/dist/numerical/formula-mathts.d.ts +15 -17
  214. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  215. package/dist/numerical/formula-mathts.js +34 -36
  216. package/dist/numerical/formula-mathts.js.map +1 -1
  217. package/dist/numerical/formula-registry.d.ts +11 -19
  218. package/dist/numerical/formula-registry.d.ts.map +1 -1
  219. package/dist/numerical/formula-registry.js +16 -79
  220. package/dist/numerical/formula-registry.js.map +1 -1
  221. package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
  222. package/dist/numerical/geodesic-integrator.js +19 -31
  223. package/dist/numerical/geodesic-integrator.js.map +1 -1
  224. package/dist/numerical/gl4-integrator.d.ts +12 -51
  225. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  226. package/dist/numerical/gl4-integrator.js +103 -565
  227. package/dist/numerical/gl4-integrator.js.map +1 -1
  228. package/dist/numerical/index.d.ts +0 -2
  229. package/dist/numerical/index.d.ts.map +1 -1
  230. package/dist/numerical/index.js +0 -2
  231. package/dist/numerical/index.js.map +1 -1
  232. package/dist/numerical/kretschmann.d.ts +2 -2
  233. package/dist/numerical/kretschmann.js +2 -2
  234. package/dist/numerical/mathts-engine.d.ts +7 -8
  235. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  236. package/dist/numerical/mathts-engine.js +19 -27
  237. package/dist/numerical/mathts-engine.js.map +1 -1
  238. package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
  239. package/dist/numerical/null-ray-integrator.js +11 -28
  240. package/dist/numerical/null-ray-integrator.js.map +1 -1
  241. package/dist/numerical/quadrature.d.ts +2 -17
  242. package/dist/numerical/quadrature.d.ts.map +1 -1
  243. package/dist/numerical/quadrature.js +9 -20
  244. package/dist/numerical/quadrature.js.map +1 -1
  245. package/dist/numerical/strides.d.ts +1 -2
  246. package/dist/numerical/strides.d.ts.map +1 -1
  247. package/dist/numerical/strides.js +1 -2
  248. package/dist/numerical/strides.js.map +1 -1
  249. package/dist/numerical/tensor-engine.d.ts +2 -3
  250. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  251. package/dist/numerical/tensor-engine.js +1 -2
  252. package/dist/numerical/tensor-engine.js.map +1 -1
  253. package/dist/relations/category.d.ts +8 -2
  254. package/dist/relations/category.d.ts.map +1 -1
  255. package/dist/relations/category.js +10 -2
  256. package/dist/relations/category.js.map +1 -1
  257. package/dist/relations/regime-vocabularies.d.ts +40 -0
  258. package/dist/relations/regime-vocabularies.d.ts.map +1 -0
  259. package/dist/relations/regime-vocabularies.js +19 -0
  260. package/dist/relations/regime-vocabularies.js.map +1 -0
  261. package/package.json +12 -46
  262. package/dist/numerical/float64-engine.d.ts +0 -55
  263. package/dist/numerical/float64-engine.d.ts.map +0 -1
  264. package/dist/numerical/float64-engine.js +0 -675
  265. package/dist/numerical/float64-engine.js.map +0 -1
  266. package/dist/numerical/formula.d.ts +0 -106
  267. package/dist/numerical/formula.d.ts.map +0 -1
  268. package/dist/numerical/formula.js +0 -348
  269. package/dist/numerical/formula.js.map +0 -1
@@ -0,0 +1,82 @@
1
+ import { DIMENSIONLESS, TEMPERATURE, VELOCITY } from '../../dimensional/types.js';
2
+ import { ENERGY_DENSITY, MASS_DENSITY } from './_dims.js';
3
+ /** Intensity [M T⁻³] (W/m²). */
4
+ const INTENSITY = { L: 0, M: 1, T: -3, I: 0, Theta: 0, N: 0, J: 0 };
5
+ /** Magnetic flux density [M T⁻² I⁻¹] (tesla). */
6
+ const MAGNETIC_FLUX_DENSITY = { L: 0, M: 1, T: -2, I: -1, Theta: 0, N: 0, J: 0 };
7
+ const CLASSICAL_EM = { scale: 'classical', force: 'electromagnetic' };
8
+ const CLASSICAL_GRAV = { scale: 'classical', force: 'gravitational' };
9
+ /** Time-averaged Poynting-flux magnitude. Not the canonical `CE-poynting-flux` node. */
10
+ export const poyntingFluxQ = {
11
+ name: 'poynting-flux',
12
+ symbol: 'I',
13
+ dim: INTENSITY,
14
+ attributes: CLASSICAL_EM,
15
+ };
16
+ /** Intensity reflectance of an opaque surface. */
17
+ export const reflectanceQ = {
18
+ name: 'reflectance',
19
+ symbol: 'R',
20
+ dim: DIMENSIONLESS,
21
+ attributes: CLASSICAL_EM,
22
+ };
23
+ /** Angle from the outward normal, radians. */
24
+ export const incidenceAngleQ = {
25
+ name: 'incidence-angle',
26
+ symbol: 'θ',
27
+ dim: DIMENSIONLESS,
28
+ attributes: CLASSICAL_EM,
29
+ };
30
+ /** Normal radiation pressure. Not the hydrostatic `pressure` node. */
31
+ export const radiationPressureQ = {
32
+ name: 'radiation-pressure',
33
+ symbol: 'P_n',
34
+ dim: ENERGY_DENSITY,
35
+ attributes: CLASSICAL_EM,
36
+ };
37
+ /** Magnetic flux density of the background field. */
38
+ export const magneticFluxDensityQ = {
39
+ name: 'magnetic-flux-density',
40
+ symbol: 'B',
41
+ dim: MAGNETIC_FLUX_DENSITY,
42
+ attributes: CLASSICAL_EM,
43
+ };
44
+ /**
45
+ * Total plasma mass density. Not `mass-density` (cosmological, gravitational).
46
+ * Proton-only density is a caller-supplied value of this same quantity.
47
+ */
48
+ export const plasmaMassDensityQ = {
49
+ name: 'plasma-mass-density',
50
+ symbol: 'ρ',
51
+ dim: MASS_DENSITY,
52
+ attributes: CLASSICAL_EM,
53
+ };
54
+ /** Alfvén speed. Not `gravitational-wave-speed`. */
55
+ export const alfvenSpeedQ = {
56
+ name: 'alfven-speed',
57
+ symbol: 'v_A',
58
+ dim: VELOCITY,
59
+ attributes: CLASSICAL_EM,
60
+ };
61
+ /** Proper temperature on a static metric. Not `temperature` and not `hawking-temperature`. */
62
+ export const properTemperatureQ = {
63
+ name: 'proper-temperature',
64
+ symbol: 'T',
65
+ dim: TEMPERATURE,
66
+ attributes: CLASSICAL_GRAV,
67
+ };
68
+ /** Static metric component `g_00`, dimensionless, negative. */
69
+ export const metricG00Q = {
70
+ name: 'metric-g00',
71
+ symbol: 'g_00',
72
+ dim: DIMENSIONLESS,
73
+ attributes: CLASSICAL_GRAV,
74
+ };
75
+ /** Tolman–Ehrenfest invariant `T √(−g_00)`. Dimension temperature. */
76
+ export const tolmanInvariantQ = {
77
+ name: 'tolman-invariant',
78
+ symbol: 'T√(−g_00)',
79
+ dim: TEMPERATURE,
80
+ attributes: CLASSICAL_GRAV,
81
+ };
82
+ //# sourceMappingURL=applied-physicist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applied-physicist.js","sourceRoot":"","sources":["../../../src/composition/quantities/applied-physicist.ts"],"names":[],"mappings":"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"}
@@ -24,4 +24,5 @@ export * from './quantities/gravitation-cosmology.js';
24
24
  export * from './quantities/fields.js';
25
25
  export * from './quantities/condensed-matter.js';
26
26
  export * from './quantities/common.js';
27
+ export * from './quantities/applied-physicist.js';
27
28
  //# sourceMappingURL=quantities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quantities.d.ts","sourceRoot":"","sources":["../../src/composition/quantities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"quantities.d.ts","sourceRoot":"","sources":["../../src/composition/quantities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC"}
@@ -26,4 +26,5 @@ export * from './quantities/gravitation-cosmology.js';
26
26
  export * from './quantities/fields.js';
27
27
  export * from './quantities/condensed-matter.js';
28
28
  export * from './quantities/common.js';
29
+ export * from './quantities/applied-physicist.js';
29
30
  //# sourceMappingURL=quantities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quantities.js","sourceRoot":"","sources":["../../src/composition/quantities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,2EAA2E;AAC3E,4EAA4E;AAC5E,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"quantities.js","sourceRoot":"","sources":["../../src/composition/quantities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,2EAA2E;AAC3E,4EAA4E;AAC5E,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC"}
@@ -7,8 +7,8 @@
7
7
  * σ_out² = Σᵢ (∂f/∂xᵢ · σᵢ)² (independent-input Gaussian,
8
8
  * first order)
9
9
  *
10
- * Partials are central differences with a relative step
11
- * h = 1e-6·max(|xᵢ|, 1e-30). Because composed edges ARE `BridgeEdge`s
10
+ * Partials are MathTS central differences with `relativeStep` `1e-6`
11
+ * (`h = 1e-6·max(|xᵢ|, 1e-30)`). Because composed edges ARE `BridgeEdge`s
12
12
  * (design D-2 closure), chains need no extra machinery — propagate on
13
13
  * the composed edge directly.
14
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"uncertainty.d.ts","sourceRoot":"","sources":["../../src/composition/uncertainty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,gEAAgE;IAChE,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,CAAC,EAAE,kBAAkB,GACxB,iBAAiB,CAgEnB"}
1
+ {"version":3,"file":"uncertainty.d.ts","sourceRoot":"","sources":["../../src/composition/uncertainty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,gEAAgE;IAChE,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,CAAC,EAAE,kBAAkB,GACxB,iBAAiB,CAqEnB"}
@@ -7,8 +7,8 @@
7
7
  * σ_out² = Σᵢ (∂f/∂xᵢ · σᵢ)² (independent-input Gaussian,
8
8
  * first order)
9
9
  *
10
- * Partials are central differences with a relative step
11
- * h = 1e-6·max(|xᵢ|, 1e-30). Because composed edges ARE `BridgeEdge`s
10
+ * Partials are MathTS central differences with `relativeStep` `1e-6`
11
+ * (`h = 1e-6·max(|xᵢ|, 1e-30)`). Because composed edges ARE `BridgeEdge`s
12
12
  * (design D-2 closure), chains need no extra machinery — propagate on
13
13
  * the composed edge directly.
14
14
  *
@@ -19,6 +19,7 @@
19
19
  *
20
20
  * @module composition/uncertainty
21
21
  */
22
+ import { propagateUncertainty as propagateScalarUncertainty } from '@danielsimonjr/mathts-functions';
22
23
  import { evaluateEdge } from './edge.js';
23
24
  /**
24
25
  * Propagate independent 1σ input uncertainties through an edge.
@@ -38,29 +39,29 @@ import { evaluateEdge } from './edge.js';
38
39
  */
39
40
  export function propagateUncertainty(edge, inputs, sigmas, opts) {
40
41
  const value = evaluateEdge(edge, inputs);
41
- const partials = {};
42
- let variance = 0;
42
+ const point = {};
43
+ const usedSigmas = {};
43
44
  for (const source of edge.sources) {
44
45
  const name = source.name;
45
46
  const x = inputs[name];
46
47
  if (!Number.isFinite(x)) {
47
48
  throw new RangeError(`propagateUncertainty: input '${name}' is not a finite number`);
48
49
  }
49
- const h = 1e-6 * Math.max(Math.abs(x), 1e-30);
50
- const plus = edge.evaluate({ ...inputs, [name]: x + h });
51
- const minus = edge.evaluate({ ...inputs, [name]: x - h });
52
- const partial = (plus - minus) / (2 * h);
53
- partials[name] = partial;
54
50
  const sigma = sigmas[name] ?? 0;
55
51
  if (sigma < 0 || !Number.isFinite(sigma)) {
56
52
  throw new RangeError(`propagateUncertainty: sigma for '${name}' must be finite and ≥ 0`);
57
53
  }
58
- if (sigma > 0)
59
- variance += partial * partial * sigma * sigma;
54
+ point[name] = x;
55
+ usedSigmas[name] = sigma;
60
56
  }
57
+ // The stencil is the raw evaluator. `value` above is domain-checked.
58
+ // `bound.delta` is not an input to this call: it stays a separate field.
59
+ const stat = propagateScalarUncertainty((vals) => edge.evaluate(vals), point, usedSigmas, { relativeStep: 1e-6 });
60
+ const partials = stat.partials;
61
+ const sigma = stat.sigma;
61
62
  const bound = opts?.bound;
62
63
  if (bound === undefined) {
63
- return { value, sigma: Math.sqrt(variance), partials };
64
+ return { value, sigma, partials };
64
65
  }
65
66
  if (!Number.isFinite(bound.delta) || bound.delta < 0) {
66
67
  throw new RangeError(`propagateUncertainty: bound.delta must be finite and ≥ 0, got ${bound.delta}`);
@@ -86,7 +87,7 @@ export function propagateUncertainty(edge, inputs, sigmas, opts) {
86
87
  // the k it picked.
87
88
  return {
88
89
  value,
89
- sigma: Math.sqrt(variance),
90
+ sigma,
90
91
  delta: bound.delta,
91
92
  partials,
92
93
  bound,
@@ -1 +1 @@
1
- {"version":3,"file":"uncertainty.js","sourceRoot":"","sources":["../../src/composition/uncertainty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA2DzC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAgB,EAChB,MAA8B,EAC9B,MAA8B,EAC9B,IAAyB;IAEzB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,UAAU,CAClB,gCAAgC,IAAI,0BAA0B,CAC/D,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAEzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,UAAU,CAClB,oCAAoC,IAAI,0BAA0B,CACnE,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,GAAG,CAAC;YAAE,QAAQ,IAAI,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IAC/D,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,UAAU,CAClB,iEAAiE,KAAK,CAAC,KAAK,EAAE,CAC/E,CAAC;IACJ,CAAC;IACD,qEAAqE;IACrE,EAAE;IACF,4FAA4F;IAC5F,gGAAgG;IAChG,yFAAyF;IACzF,0FAA0F;IAC1F,0FAA0F;IAC1F,+FAA+F;IAC/F,iCAAiC;IACjC,EAAE;IACF,iGAAiG;IACjG,wEAAwE;IACxE,EAAE;IACF,iGAAiG;IACjG,iGAAiG;IACjG,iGAAiG;IACjG,gGAAgG;IAChG,kGAAkG;IAClG,mBAAmB;IACnB,OAAO;QACL,KAAK;QACL,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"uncertainty.js","sourceRoot":"","sources":["../../src/composition/uncertainty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,oBAAoB,IAAI,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAErG,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA2DzC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAgB,EAChB,MAA8B,EAC9B,MAA8B,EAC9B,IAAyB;IAEzB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,UAAU,CAClB,gCAAgC,IAAI,0BAA0B,CAC/D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,UAAU,CAClB,oCAAoC,IAAI,0BAA0B,CACnE,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,qEAAqE;IACrE,yEAAyE;IACzE,MAAM,IAAI,GAAG,0BAA0B,CACrC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC7B,KAAK,EACL,UAAU,EACV,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEzB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,UAAU,CAClB,iEAAiE,KAAK,CAAC,KAAK,EAAE,CAC/E,CAAC;IACJ,CAAC;IACD,qEAAqE;IACrE,EAAE;IACF,4FAA4F;IAC5F,gGAAgG;IAChG,yFAAyF;IACzF,0FAA0F;IAC1F,0FAA0F;IAC1F,+FAA+F;IAC/F,iCAAiC;IACjC,EAAE;IACF,iGAAiG;IACjG,wEAAwE;IACxE,EAAE;IACF,iGAAiG;IACjG,iGAAiG;IACjG,iGAAiG;IACjG,gGAAgG;IAChG,kGAAkG;IAClG,mBAAmB;IACnB,OAAO;QACL,KAAK;QACL,KAAK;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -79,6 +79,22 @@ export declare const GM_SUN_SOURCE = "IAU 2015 Resolution B3, nominal solar mass
79
79
  * @public
80
80
  */
81
81
  export declare const M_E_SI = 9.1093837015e-31;
82
+ /**
83
+ * Proton mass (kg). CODATA 2018. Shared by the Eddington evaluator and
84
+ * `upt eval` (`m_p`, `m_proton`). Not the Planck mass `M_P_SI`.
85
+ * @internal
86
+ */
87
+ export declare const M_PROTON_SI = 1.67262192369e-27;
88
+ /**
89
+ * Avogadro constant (mol⁻¹). Exact in the 2019 SI.
90
+ * @internal
91
+ */
92
+ export declare const N_A_SI = 6.02214076e+23;
93
+ /**
94
+ * Faraday constant (C·mol⁻¹), `N_A * e`.
95
+ * @internal
96
+ */
97
+ export declare const FARADAY_SI: number;
82
98
  /**
83
99
  * Wien displacement-law constant b = λ_max·T (m·K). CODATA 2018.
84
100
  *
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sEAAsE;AACtE,eAAO,MAAM,IAAI,YAAY,CAAC;AAE9B,mEAAmE;AACnE,eAAO,MAAM,IAAI,aAAc,CAAC;AAEhC,6DAA6D;AAC7D,eAAO,MAAM,IAAI,iBAAiB,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,OAAO,QAAuB,CAAC;AAE5C,gEAAgE;AAChE,eAAO,MAAM,MAAM,eAAe,CAAC;AAEnC,6DAA6D;AAC7D,eAAO,MAAM,IAAI,kBAAkB,CAAC;AAEpC,8DAA8D;AAC9D,eAAO,MAAM,KAAK,kBAAkB,CAAC;AAErC,6CAA6C;AAC7C,eAAO,MAAM,MAAM,cAAc,CAAC;AAElC,+CAA+C;AAC/C,eAAO,MAAM,MAAM,eAAe,CAAC;AAEnC,6CAA6C;AAC7C,eAAO,MAAM,MAAM,eAAe,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,QAAqB,CAAC;AAExC;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,YAAW,CAAC;AAEjC;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,wBAAe,CAAC;AAEtC,oDAAoD;AACpD,eAAO,MAAM,aAAa,yGAAqF,CAAC;AAEhH;;;;;GAKG;AACH,eAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,SAAS,iBAAiB,CAAC;AAExC;;;;;GAKG;AACH,eAAO,MAAM,MAAM,mBAAoB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sEAAsE;AACtE,eAAO,MAAM,IAAI,YAAY,CAAC;AAE9B,mEAAmE;AACnE,eAAO,MAAM,IAAI,aAAc,CAAC;AAEhC,6DAA6D;AAC7D,eAAO,MAAM,IAAI,iBAAiB,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,OAAO,QAAuB,CAAC;AAE5C,gEAAgE;AAChE,eAAO,MAAM,MAAM,eAAe,CAAC;AAEnC,6DAA6D;AAC7D,eAAO,MAAM,IAAI,kBAAkB,CAAC;AAEpC,8DAA8D;AAC9D,eAAO,MAAM,KAAK,kBAAkB,CAAC;AAErC,6CAA6C;AAC7C,eAAO,MAAM,MAAM,cAAc,CAAC;AAElC,+CAA+C;AAC/C,eAAO,MAAM,MAAM,eAAe,CAAC;AAEnC,6CAA6C;AAC7C,eAAO,MAAM,MAAM,eAAe,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,QAAqB,CAAC;AAExC;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,YAAW,CAAC;AAEjC;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,wBAAe,CAAC;AAEtC,oDAAoD;AACpD,eAAO,MAAM,aAAa,yGAAqF,CAAC;AAEhH;;;;;GAKG;AACH,eAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,MAAM,iBAAgB,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAgB,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,SAAS,iBAAiB,CAAC;AAExC;;;;;GAKG;AACH,eAAO,MAAM,MAAM,mBAAoB,CAAC"}
@@ -79,6 +79,22 @@ export const GM_SUN_SOURCE = 'IAU 2015 Resolution B3, nominal solar mass paramet
79
79
  * @public
80
80
  */
81
81
  export const M_E_SI = 9.1093837015e-31;
82
+ /**
83
+ * Proton mass (kg). CODATA 2018. Shared by the Eddington evaluator and
84
+ * `upt eval` (`m_p`, `m_proton`). Not the Planck mass `M_P_SI`.
85
+ * @internal
86
+ */
87
+ export const M_PROTON_SI = 1.67262192369e-27;
88
+ /**
89
+ * Avogadro constant (mol⁻¹). Exact in the 2019 SI.
90
+ * @internal
91
+ */
92
+ export const N_A_SI = 6.02214076e23;
93
+ /**
94
+ * Faraday constant (C·mol⁻¹), `N_A * e`.
95
+ * @internal
96
+ */
97
+ export const FARADAY_SI = N_A_SI * E_SI;
82
98
  /**
83
99
  * Wien displacement-law constant b = λ_max·T (m·K). CODATA 2018.
84
100
  *
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAE9B,mEAAmE;AACnE,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC;AAEhC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,IAAI,GAAG,cAAc,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AAE5C,gEAAgE;AAChE,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC;AAEpC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAC;AAErC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC;AAElC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAEjC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC;AAEtC,oDAAoD;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,kFAAkF,CAAC;AAEhH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAE9B,mEAAmE;AACnE,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC;AAEhC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,IAAI,GAAG,cAAc,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AAE5C,gEAAgE;AAChE,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC;AAEpC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAC;AAErC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC;AAElC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAEjC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC;AAEtC,oDAAoD;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,kFAAkF,CAAC;AAEhH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,iBAAiB,CAAC"}
@@ -10,11 +10,9 @@
10
10
  *
11
11
  * Per P8 Decision #1, this lives in `src/diff/` (NOT in
12
12
  * `src/bridges/`), keeping bridge evaluators untouched. The AD
13
- * dependency `mathts-autograd` is an optional peer dependency. Note this
14
- * gives `bridgeGradient` TWO failure modes, not graceful success: when
15
- * the peer is ABSENT it throws `EngineCapabilityError`; when the peer is
16
- * PRESENT it still throws (see the AD limitation below) — installing the
17
- * peer does not make AD of the plain-JS bridges work.
13
+ * dependency `mathts-autograd` is a required dependency. Installing it
14
+ * does not make AD of the plain-JS bridges work: the tape still cannot
15
+ * trace `Math.*` (see the AD limitation below).
18
16
  *
19
17
  * IMPORTANT — AD limitation (verified empirically): `bridgeGradient`
20
18
  * does NOT actually differentiate the catalog evaluators. Because P8
@@ -22,9 +20,8 @@
22
20
  * (`Math.*` / raw arithmetic on numbers), neither reverse-mode (tape)
23
21
  * nor forward-mode (dual) AD can trace them — the tape/dual instrument
24
22
  * only sees ops routed through engine-traced tensors. With
25
- * `Float64ReferenceEngine` the AD path throws; with `MathTSEngine` it
26
- * also throws (the autograd `TapedTensor` does not survive
27
- * `engine.toNested`). `bridgeGradient` therefore only works for
23
+ * `MathTSEngine` the autograd `TapedTensor` does not survive
24
+ * `engine.toNested`. `bridgeGradient` therefore only works for
28
25
  * functions written in engine ops — not the plain-JS bridges.
29
26
  *
30
27
  * The SUPPORTED way to differentiate a plain-JS bridge evaluator is
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-gradient.d.ts","sourceRoot":"","sources":["../../src/diff/bridge-gradient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAIhF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc,CAAC,KAAK;IACnC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC;IACzD;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,KAAK,EACxC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAC3B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAmC/B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EACnC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAC3B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,YAAY,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAUD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAC3C,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC,6BAA6B,CA2C/B"}
1
+ {"version":3,"file":"bridge-gradient.d.ts","sourceRoot":"","sources":["../../src/diff/bridge-gradient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAIhF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc,CAAC,KAAK;IACnC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC;IACzD;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,KAAK,EACxC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAC3B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAmC/B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EACnC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAC3B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,YAAY,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAUD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAC3C,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC,6BAA6B,CA2C/B"}
@@ -10,11 +10,9 @@
10
10
  *
11
11
  * Per P8 Decision #1, this lives in `src/diff/` (NOT in
12
12
  * `src/bridges/`), keeping bridge evaluators untouched. The AD
13
- * dependency `mathts-autograd` is an optional peer dependency. Note this
14
- * gives `bridgeGradient` TWO failure modes, not graceful success: when
15
- * the peer is ABSENT it throws `EngineCapabilityError`; when the peer is
16
- * PRESENT it still throws (see the AD limitation below) — installing the
17
- * peer does not make AD of the plain-JS bridges work.
13
+ * dependency `mathts-autograd` is a required dependency. Installing it
14
+ * does not make AD of the plain-JS bridges work: the tape still cannot
15
+ * trace `Math.*` (see the AD limitation below).
18
16
  *
19
17
  * IMPORTANT — AD limitation (verified empirically): `bridgeGradient`
20
18
  * does NOT actually differentiate the catalog evaluators. Because P8
@@ -22,9 +20,8 @@
22
20
  * (`Math.*` / raw arithmetic on numbers), neither reverse-mode (tape)
23
21
  * nor forward-mode (dual) AD can trace them — the tape/dual instrument
24
22
  * only sees ops routed through engine-traced tensors. With
25
- * `Float64ReferenceEngine` the AD path throws; with `MathTSEngine` it
26
- * also throws (the autograd `TapedTensor` does not survive
27
- * `engine.toNested`). `bridgeGradient` therefore only works for
23
+ * `MathTSEngine` the autograd `TapedTensor` does not survive
24
+ * `engine.toNested`. `bridgeGradient` therefore only works for
28
25
  * functions written in engine ops — not the plain-JS bridges.
29
26
  *
30
27
  * The SUPPORTED way to differentiate a plain-JS bridge evaluator is
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-gradient.js","sourceRoot":"","sources":["../../src/diff/bridge-gradient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-gradient.js","sourceRoot":"","sources":["../../src/diff/bridge-gradient.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export declare const EXPECTED_DIMENSION_BY_BRIDGE: ReadonlyMap<number, Dimension
21
21
  /**
22
22
  * Infer the SI dimensional signature of a bridge equation expression.
23
23
  *
24
- * @param bridgeId The id from `BRIDGE_EQUATIONS` (11..65). If present
24
+ * @param bridgeId The id from `BRIDGE_EQUATIONS` (11..68). If present
25
25
  * in `EXPECTED_DIMENSION_BY_BRIDGE` the inferred dim
26
26
  * is cross-checked against the expected; mismatch =>
27
27
  * null. If absent, the inferred dim is returned as-is.
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-check.d.ts","sourceRoot":"","sources":["../../src/dimensional/bridge-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,SAAS,EAYV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAY,MAAM,gBAAgB,CAAC;AA6EpD,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CA4DtE,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GACb,SAAS,GAAG,IAAI,CAQlB"}
1
+ {"version":3,"file":"bridge-check.d.ts","sourceRoot":"","sources":["../../src/dimensional/bridge-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,SAAS,EAaV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAY,MAAM,gBAAgB,CAAC;AA6EpD,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CA+DtE,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GACb,SAAS,GAAG,IAAI,CAQlB"}
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * @module dimensional/bridge-check
17
17
  */
18
- import { DIMENSIONLESS, ENERGY, ENTROPY, FREQUENCY, TIME, MASS, POWER, LENGTH, AREA, FORCE, TEMPERATURE, } from './types.js';
18
+ import { DIMENSIONLESS, ENERGY, ENTROPY, FREQUENCY, TIME, MASS, POWER, LENGTH, AREA, FORCE, TEMPERATURE, VELOCITY, } from './types.js';
19
19
  import { validate } from './validator.js';
20
20
  import { equals, multiply, power } from './algebra.js';
21
21
  /** [T^-2] — bracketed-product literal for BE-19's H² Friedmann RHS. */
@@ -140,11 +140,14 @@ export const EXPECTED_DIMENSION_BY_BRIDGE = new Map([
140
140
  [63, MASS], // BE-63 Chandrasekhar mass M_Ch ≈ 1.44 M_⊙ — astrophysics cluster 2026-07-05.
141
141
  [64, POWER], // BE-64 Eddington luminosity L_Edd = 4πGMm_p c/σ_T — astrophysics cluster 2026-07-05.
142
142
  [65, MASS], // BE-65 Jeans mass M_J — astrophysics cluster 2026-07-05.
143
+ [66, PRESSURE], // BE-66 radiation pressure P_n = (I/c)(1+R) cos²θ.
144
+ [67, VELOCITY], // BE-67 Alfvén speed v_A = B / √(μ0 ρ).
145
+ [68, TEMPERATURE], // BE-68 Tolman–Ehrenfest invariant T √(−g_00).
143
146
  ]);
144
147
  /**
145
148
  * Infer the SI dimensional signature of a bridge equation expression.
146
149
  *
147
- * @param bridgeId The id from `BRIDGE_EQUATIONS` (11..65). If present
150
+ * @param bridgeId The id from `BRIDGE_EQUATIONS` (11..68). If present
148
151
  * in `EXPECTED_DIMENSION_BY_BRIDGE` the inferred dim
149
152
  * is cross-checked against the expected; mismatch =>
150
153
  * null. If absent, the inferred dim is returned as-is.
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-check.js","sourceRoot":"","sources":["../../src/dimensional/bridge-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-check.js","sourceRoot":"","sources":["../../src/dimensional/bridge-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAEL,aAAa,EACb,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,GACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAY,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEvD,uEAAuE;AACvE,MAAM,MAAM,GAAc,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAE5E,8EAA8E;AAC9E,MAAM,mBAAmB,GAAc,QAAQ,CAC7C,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACjB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAClD,CAAC;AAEF,mFAAmF;AACnF,MAAM,WAAW,GAAc;IAC7B,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CAC/C,CAAC;AAEF,gGAAgG;AAChG,MAAM,QAAQ,GAAc,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAE7C,6FAA6F;AAC7F,MAAM,YAAY,GAAc,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAElD,oFAAoF;AACpF,MAAM,sBAAsB,GAAc;IACxC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CAC7C,CAAC;AAEF,2FAA2F;AAC3F,MAAM,YAAY,GAAc;IAC9B,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CAC9C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,oBAAoB,GAAc;IACtC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CAC/C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,oBAAoB,GAAc;IACtC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CAC9C,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,4EAA4E;AAC5E,MAAM,gBAAgB,GAAc,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,iBAAiB;AACzG,MAAM,QAAQ,GAAc,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,eAAe;AAC/F,MAAM,iBAAiB,GAAc,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,cAAc;AACvG,MAAM,aAAa,GAAc,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,uBAAuB;AAC7G,MAAM,CAAC,MAAM,4BAA4B,GAAmC,IAAI,GAAG,CAAoB;IACrG,CAAC,EAAE,EAAE,SAAS,CAAC;IACf,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,oFAAoF;IAClG,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,4EAA4E;IAChG,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,uEAAuE;IACrF,CAAC,EAAE,EAAE,OAAO,CAAC;IACb,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,gPAAgP;IAC5P,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,wSAAwS;IACtT,CAAC,EAAE,EAAE,oBAAoB,CAAC,EAAE,+GAA+G;IAC3I,CAAC,EAAE,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,yFAAyF;IAC7G,CAAC,EAAE,EAAE,sBAAsB,CAAC,EAAE,6EAA6E;IAC3G,CAAC,EAAE,EAAE,aAAa,CAAC;IACnB,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,gGAAgG;IACnH,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,0EAA0E;IAC/F,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,oXAAoX;IACzY,CAAC,EAAE,EAAE,SAAS,CAAC;IACf,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,oGAAoG;IACvH,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,iUAAiU;IAC3X,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,qFAAqF;IACnG,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,0DAA0D;IAC/E,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,yHAAyH;IAC7I,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,+FAA+F;IACpH,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,sEAAsE;IACpF,CAAC,EAAE,EAAE,aAAa,CAAC;IACnB,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,wGAAwG;IAC7H,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,8EAA8E;IACnG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,gSAAgS;IAC5S,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,yDAAyD;IACtE,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,+FAA+F;IACpH,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,wFAAwF;IACxG,CAAC,EAAE,EAAE,IAAI,CAAC;IACV,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,wEAAwE;IAC3F,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,oEAAoE;IACnF,CAAC,EAAE,EAAE,oBAAoB,CAAC,EAAE,0NAA0N;IACtP,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,uFAAuF;IAC5G,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,wFAAwF;IAC7G,CAAC,EAAE,EAAE,mBAAmB,CAAC;IACzB,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,yFAAyF;IAC1G,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,4EAA4E;IACjG,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,uGAAuG;IAC5H,gFAAgF;IAChF,qEAAqE;IACrE,uEAAuE;IACvE,yDAAyD;IACzD,sEAAsE;IACtE,wDAAwD;IACxD,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,wHAAwH;IAC7I,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,6HAA6H;IAC3I,CAAC,EAAE,EAAE,gBAAgB,CAAC,EAAE,iFAAiF;IACzG,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,2EAA2E;IAC3F,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,sEAAsE;IACzF,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,8EAA8E;IACvG,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,sEAAsE;IACvF,CAAC,EAAE,EAAE,gBAAgB,CAAC,EAAE,2EAA2E;IACnG,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,mFAAmF;IACxG,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,4EAA4E;IAC1F,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,8EAA8E;IAC1F,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,sFAAsF;IACnG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,0DAA0D;IACtE,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,mDAAmD;IACnE,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,wCAAwC;IACxD,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,+CAA+C;CACnE,CAAC,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,IAAc;IAEd,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,iBAAiB,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,QAAQ,GAAG,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC,iBAAiB,CAAC;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buckingham.d.ts","sourceRoot":"","sources":["../../src/dimensional/buckingham.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C;kEACkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB;AAED;;6BAE6B;AAC7B,MAAM,WAAW,OAAO;IACtB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,yDAAyD;AACzD,MAAM,MAAM,iBAAiB,GACzB,2BAA2B,GAC3B,kBAAkB,GAClB,qBAAqB,CAAC;AAE1B,8CAA8C;AAC9C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,yDAAyD;IACzD,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,mCAAmC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;CACrC;AAED,yDAAyD;AACzD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;oDACgD;IAChD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,oEAAoE;IACpE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC;IAC1C,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;cACc;AACd,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAqKD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,mBAAmB,EAAE,GACxC,gBAAgB,CA0ClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,SAAS,mBAAmB,EAAE,GACxC,8BAA8B,CA+DhC"}
1
+ {"version":3,"file":"buckingham.d.ts","sourceRoot":"","sources":["../../src/dimensional/buckingham.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C;kEACkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB;AAED;;6BAE6B;AAC7B,MAAM,WAAW,OAAO;IACtB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,yDAAyD;AACzD,MAAM,MAAM,iBAAiB,GACzB,2BAA2B,GAC3B,kBAAkB,GAClB,qBAAqB,CAAC;AAE1B,8CAA8C;AAC9C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,yDAAyD;IACzD,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,mCAAmC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;CACrC;AAED,yDAAyD;AACzD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;oDACgD;IAChD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,oEAAoE;IACpE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC;IAC1C,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;cACc;AACd,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAsGD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,mBAAmB,EAAE,GACxC,gBAAgB,CAsClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,SAAS,mBAAmB,EAAE,GACxC,8BAA8B,CA+DhC"}
@@ -24,6 +24,8 @@
24
24
  *
25
25
  * @module dimensional/buckingham
26
26
  */
27
+ import { Fraction } from '@danielsimonjr/mathts-core';
28
+ import { rationalNullspace } from '@danielsimonjr/mathts-functions';
27
29
  const BASES = ['L', 'M', 'T', 'I', 'Theta', 'N', 'J'];
28
30
  /** Rationalization failed: a dimension exponent is not a small rational.
29
31
  * @public */
@@ -65,94 +67,24 @@ function toFrac(x) {
65
67
  }
66
68
  throw new RationalizationError(`dimension exponent ${x} is not a rational with denominator ≤ ${MAX_DEN}`);
67
69
  }
68
- const fAdd = (a, b) => frac(a.n * b.d + b.n * a.d, a.d * b.d);
69
- const fSub = (a, b) => frac(a.n * b.d - b.n * a.d, a.d * b.d);
70
- const fMul = (a, b) => frac(a.n * b.n, a.d * b.d);
71
- const fDiv = (a, b) => {
72
- if (b.n === 0)
73
- throw new RationalizationError('division by zero fraction');
74
- return frac(a.n * b.d, a.d * b.n);
75
- };
76
70
  const fZero = (a) => a.n === 0;
77
- function lcm(a, b) {
78
- return Math.abs(a * b) / gcd(a, b);
79
- }
80
- // ---------------------------------------------------------------------------
81
- // Linear algebra: RREF + null-space basis over exact fractions.
82
- // ---------------------------------------------------------------------------
83
- /** Reduce `M` (rows × cols of Frac) to RREF in place; return pivot columns. */
84
- function rref(M, rows, cols) {
85
- const pivotCols = [];
86
- let r = 0;
87
- for (let c = 0; c < cols && r < rows; c++) {
88
- let p = -1;
89
- for (let i = r; i < rows; i++) {
90
- if (!fZero(M[i][c])) {
91
- p = i;
92
- break;
93
- }
94
- }
95
- if (p === -1)
96
- continue;
97
- [M[r], M[p]] = [M[p], M[r]];
98
- const pivot = M[r][c];
99
- for (let j = 0; j < cols; j++)
100
- M[r][j] = fDiv(M[r][j], pivot);
101
- for (let i = 0; i < rows; i++) {
102
- if (i === r || fZero(M[i][c]))
103
- continue;
104
- const factor = M[i][c];
105
- for (let j = 0; j < cols; j++) {
106
- M[i][j] = fSub(M[i][j], fMul(factor, M[r][j]));
107
- }
108
- }
109
- pivotCols.push(c);
110
- r++;
111
- }
112
- return pivotCols;
113
- }
114
- /** Integerize a fraction vector: scale by the LCM of denominators, then
115
- * normalize the sign so the first nonzero entry is positive. */
116
- function integerize(vec) {
117
- let L = 1;
118
- for (const f of vec)
119
- if (!fZero(f))
120
- L = lcm(L, f.d);
121
- // exact integer: L is a multiple of every denominator.
122
- const out = vec.map((f) => f.n * (L / f.d));
123
- const g = out.reduce((acc, x) => (x ? gcd(acc, x) : acc), 0) || 1;
124
- for (let i = 0; i < out.length; i++)
125
- out[i] = out[i] / g;
126
- const firstNonZero = out.find((x) => x !== 0) ?? 0;
127
- if (firstNonZero < 0)
128
- for (let i = 0; i < out.length; i++)
129
- out[i] = -out[i];
130
- return out;
131
- }
132
- /** Null-space basis of the dimension matrix as integer exponent vectors,
133
- * one per free column (variable). */
134
- function nullSpace(matrix, rows, cols) {
135
- const M = matrix.map((row) => row.slice());
136
- const pivotCols = rref(M, rows, cols);
137
- const pivotSet = new Set(pivotCols);
138
- const freeCols = [];
139
- for (let c = 0; c < cols; c++)
140
- if (!pivotSet.has(c))
141
- freeCols.push(c);
142
- const basis = [];
143
- for (const f of freeCols) {
144
- const vec = new Array(cols);
145
- for (let j = 0; j < cols; j++)
146
- vec[j] = { n: 0, d: 1 };
147
- vec[f] = { n: 1, d: 1 };
148
- for (let i = 0; i < pivotCols.length; i++) {
149
- vec[pivotCols[i]] = fSub({ n: 0, d: 1 }, M[i][f]); // -M[pivotRow_i][f]
71
+ /**
72
+ * Exact null space of the dimension matrix. Exponents pass through as
73
+ * {@link Fraction} values after {@link toFrac}, so an irrational is still
74
+ * {@link RationalizationError} and is not accepted by a continued fraction.
75
+ * A matrix with no rows is `0×n`: `{ columns: n }` is the standard basis.
76
+ * MathTS integerizes each vector (content 1, first nonzero entry positive).
77
+ */
78
+ function nullSpace(matrix, cols) {
79
+ const entries = matrix.map((row) => row.map((f) => new Fraction(f.n, f.d)));
80
+ const solved = rationalNullspace(entries, { columns: cols });
81
+ const basis = solved.basis.map((vec) => vec.map((entry) => {
82
+ if (entry.denominator !== 1n) {
83
+ throw new RationalizationError(`null-space entry ${entry.toString()} is not an integer`);
150
84
  }
151
- basis.push(integerize(vec));
152
- }
153
- // rank = number of pivot columns — derived from the SAME RREF, so the caller
154
- // need not run a second reduction just to learn the rank.
155
- return { basis, rank: pivotCols.length };
85
+ return Number(entry.numerator);
86
+ }));
87
+ return { basis, rank: solved.rank };
156
88
  }
157
89
  function buildMatrix(variables) {
158
90
  const spannedBases = [];
@@ -193,11 +125,7 @@ export function buckinghamPi(variables) {
193
125
  }
194
126
  const n = variables.length;
195
127
  const { matrix, spannedBases } = buildMatrix(variables);
196
- const rows = matrix.length;
197
- // One RREF: the null-space reduction also yields the rank (pivot count),
198
- // so the whole dimensional layer (audit / priority / derive) halves its
199
- // linear-algebra cost per call.
200
- const { basis, rank } = nullSpace(matrix, rows, n);
128
+ const { basis, rank } = nullSpace(matrix, n);
201
129
  const piGroups = basis.map((vec) => {
202
130
  const exponents = {};
203
131
  for (let j = 0; j < n; j++)