universal-physics-tensor 0.5.0 → 0.7.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 (401) hide show
  1. package/README.md +66 -105
  2. package/dist/bridges/catalog-adapter.d.ts +116 -0
  3. package/dist/bridges/catalog-adapter.d.ts.map +1 -0
  4. package/dist/bridges/catalog-adapter.js +302 -0
  5. package/dist/bridges/catalog-adapter.js.map +1 -0
  6. package/dist/bridges/equations/_be-helpers.d.ts +145 -0
  7. package/dist/bridges/equations/_be-helpers.d.ts.map +1 -0
  8. package/dist/bridges/equations/_be-helpers.js +179 -0
  9. package/dist/bridges/equations/_be-helpers.js.map +1 -0
  10. package/dist/bridges/equations/be-11-decoherence-master.d.ts +1 -2
  11. package/dist/bridges/equations/be-11-decoherence-master.d.ts.map +1 -1
  12. package/dist/bridges/equations/be-11-decoherence-master.js +9 -20
  13. package/dist/bridges/equations/be-11-decoherence-master.js.map +1 -1
  14. package/dist/bridges/equations/be-12-coherence-length.d.ts +7 -1
  15. package/dist/bridges/equations/be-12-coherence-length.d.ts.map +1 -1
  16. package/dist/bridges/equations/be-12-coherence-length.js +8 -16
  17. package/dist/bridges/equations/be-12-coherence-length.js.map +1 -1
  18. package/dist/bridges/equations/be-13-einstein-trace.d.ts +51 -3
  19. package/dist/bridges/equations/be-13-einstein-trace.d.ts.map +1 -1
  20. package/dist/bridges/equations/be-13-einstein-trace.js +74 -17
  21. package/dist/bridges/equations/be-13-einstein-trace.js.map +1 -1
  22. package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts +10 -4
  23. package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts.map +1 -1
  24. package/dist/bridges/equations/be-14-ryu-takayanagi.js +6 -17
  25. package/dist/bridges/equations/be-14-ryu-takayanagi.js.map +1 -1
  26. package/dist/bridges/equations/be-15-emergence.d.ts +7 -1
  27. package/dist/bridges/equations/be-15-emergence.d.ts.map +1 -1
  28. package/dist/bridges/equations/be-15-emergence.js +12 -22
  29. package/dist/bridges/equations/be-15-emergence.js.map +1 -1
  30. package/dist/bridges/equations/be-16-landauer.d.ts +7 -1
  31. package/dist/bridges/equations/be-16-landauer.d.ts.map +1 -1
  32. package/dist/bridges/equations/be-16-landauer.js +5 -13
  33. package/dist/bridges/equations/be-16-landauer.js.map +1 -1
  34. package/dist/bridges/equations/be-17-einstein-cartan.d.ts +26 -13
  35. package/dist/bridges/equations/be-17-einstein-cartan.d.ts.map +1 -1
  36. package/dist/bridges/equations/be-17-einstein-cartan.js +28 -31
  37. package/dist/bridges/equations/be-17-einstein-cartan.js.map +1 -1
  38. package/dist/bridges/equations/be-18-higgs-mass.d.ts +7 -1
  39. package/dist/bridges/equations/be-18-higgs-mass.d.ts.map +1 -1
  40. package/dist/bridges/equations/be-18-higgs-mass.js +5 -16
  41. package/dist/bridges/equations/be-18-higgs-mass.js.map +1 -1
  42. package/dist/bridges/equations/be-19-quantum-bounce.d.ts +38 -3
  43. package/dist/bridges/equations/be-19-quantum-bounce.d.ts.map +1 -1
  44. package/dist/bridges/equations/be-19-quantum-bounce.js +69 -20
  45. package/dist/bridges/equations/be-19-quantum-bounce.js.map +1 -1
  46. package/dist/bridges/equations/be-20-vacuum-energy.d.ts +20 -1
  47. package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +1 -1
  48. package/dist/bridges/equations/be-20-vacuum-energy.js +36 -15
  49. package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
  50. package/dist/bridges/equations/be-21-kss-bound.d.ts +2 -0
  51. package/dist/bridges/equations/be-21-kss-bound.d.ts.map +1 -1
  52. package/dist/bridges/equations/be-21-kss-bound.js +4 -10
  53. package/dist/bridges/equations/be-21-kss-bound.js.map +1 -1
  54. package/dist/bridges/equations/be-22-topological-entanglement.d.ts +6 -9
  55. package/dist/bridges/equations/be-22-topological-entanglement.d.ts.map +1 -1
  56. package/dist/bridges/equations/be-22-topological-entanglement.js +9 -21
  57. package/dist/bridges/equations/be-22-topological-entanglement.js.map +1 -1
  58. package/dist/bridges/equations/be-23-syk-planckian.d.ts +7 -1
  59. package/dist/bridges/equations/be-23-syk-planckian.d.ts.map +1 -1
  60. package/dist/bridges/equations/be-23-syk-planckian.js +11 -25
  61. package/dist/bridges/equations/be-23-syk-planckian.js.map +1 -1
  62. package/dist/bridges/equations/be-24-foerster-fret.d.ts +7 -1
  63. package/dist/bridges/equations/be-24-foerster-fret.d.ts.map +1 -1
  64. package/dist/bridges/equations/be-24-foerster-fret.js +8 -16
  65. package/dist/bridges/equations/be-24-foerster-fret.js.map +1 -1
  66. package/dist/bridges/equations/be-25-iit-phi.d.ts +7 -1
  67. package/dist/bridges/equations/be-25-iit-phi.d.ts.map +1 -1
  68. package/dist/bridges/equations/be-25-iit-phi.js +12 -16
  69. package/dist/bridges/equations/be-25-iit-phi.js.map +1 -1
  70. package/dist/bridges/equations/be-25-orch-or.d.ts +6 -3
  71. package/dist/bridges/equations/be-25-orch-or.d.ts.map +1 -1
  72. package/dist/bridges/equations/be-25-orch-or.js +8 -17
  73. package/dist/bridges/equations/be-25-orch-or.js.map +1 -1
  74. package/dist/bridges/equations/be-26-dna-tunneling.d.ts +6 -3
  75. package/dist/bridges/equations/be-26-dna-tunneling.d.ts.map +1 -1
  76. package/dist/bridges/equations/be-26-dna-tunneling.js +11 -26
  77. package/dist/bridges/equations/be-26-dna-tunneling.js.map +1 -1
  78. package/dist/bridges/equations/be-27-effective-temperature.d.ts +7 -1
  79. package/dist/bridges/equations/be-27-effective-temperature.d.ts.map +1 -1
  80. package/dist/bridges/equations/be-27-effective-temperature.js +8 -16
  81. package/dist/bridges/equations/be-27-effective-temperature.js.map +1 -1
  82. package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts +7 -1
  83. package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts.map +1 -1
  84. package/dist/bridges/equations/be-28-onsager-entropy-production.js +9 -13
  85. package/dist/bridges/equations/be-28-onsager-entropy-production.js.map +1 -1
  86. package/dist/bridges/equations/be-29-jarzynski.d.ts +7 -1
  87. package/dist/bridges/equations/be-29-jarzynski.d.ts.map +1 -1
  88. package/dist/bridges/equations/be-29-jarzynski.js +8 -13
  89. package/dist/bridges/equations/be-29-jarzynski.js.map +1 -1
  90. package/dist/bridges/equations/be-30-flm-first-law.d.ts +11 -2
  91. package/dist/bridges/equations/be-30-flm-first-law.d.ts.map +1 -1
  92. package/dist/bridges/equations/be-30-flm-first-law.js +10 -21
  93. package/dist/bridges/equations/be-30-flm-first-law.js.map +1 -1
  94. package/dist/bridges/equations/be-31-causal-set-bd.d.ts +7 -1
  95. package/dist/bridges/equations/be-31-causal-set-bd.d.ts.map +1 -1
  96. package/dist/bridges/equations/be-31-causal-set-bd.js +11 -25
  97. package/dist/bridges/equations/be-31-causal-set-bd.js.map +1 -1
  98. package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts +6 -9
  99. package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts.map +1 -1
  100. package/dist/bridges/equations/be-32-quantum-reference-frame.js +8 -18
  101. package/dist/bridges/equations/be-32-quantum-reference-frame.js.map +1 -1
  102. package/dist/bridges/equations/be-33-hertz-millis.d.ts +53 -28
  103. package/dist/bridges/equations/be-33-hertz-millis.d.ts.map +1 -1
  104. package/dist/bridges/equations/be-33-hertz-millis.js +55 -51
  105. package/dist/bridges/equations/be-33-hertz-millis.js.map +1 -1
  106. package/dist/bridges/equations/be-34-kibble-zurek.d.ts +6 -3
  107. package/dist/bridges/equations/be-34-kibble-zurek.d.ts.map +1 -1
  108. package/dist/bridges/equations/be-34-kibble-zurek.js +15 -26
  109. package/dist/bridges/equations/be-34-kibble-zurek.js.map +1 -1
  110. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +6 -9
  111. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +1 -1
  112. package/dist/bridges/equations/be-35-conformal-bootstrap.js +9 -21
  113. package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +1 -1
  114. package/dist/bridges/equations/be-36-gw-speed-bound.d.ts +7 -1
  115. package/dist/bridges/equations/be-36-gw-speed-bound.d.ts.map +1 -1
  116. package/dist/bridges/equations/be-36-gw-speed-bound.js +5 -13
  117. package/dist/bridges/equations/be-36-gw-speed-bound.js.map +1 -1
  118. package/dist/bridges/equations/be-37-shapiro-delay.d.ts +4 -2
  119. package/dist/bridges/equations/be-37-shapiro-delay.d.ts.map +1 -1
  120. package/dist/bridges/equations/be-37-shapiro-delay.js +22 -37
  121. package/dist/bridges/equations/be-37-shapiro-delay.js.map +1 -1
  122. package/dist/bridges/equations/be-38-mond.d.ts +7 -1
  123. package/dist/bridges/equations/be-38-mond.d.ts.map +1 -1
  124. package/dist/bridges/equations/be-38-mond.js +9 -19
  125. package/dist/bridges/equations/be-38-mond.js.map +1 -1
  126. package/dist/bridges/equations/be-39-asymptotic-safety.d.ts +66 -2
  127. package/dist/bridges/equations/be-39-asymptotic-safety.d.ts.map +1 -1
  128. package/dist/bridges/equations/be-39-asymptotic-safety.js +128 -20
  129. package/dist/bridges/equations/be-39-asymptotic-safety.js.map +1 -1
  130. package/dist/bridges/equations/be-40-composite-higgs.d.ts +7 -1
  131. package/dist/bridges/equations/be-40-composite-higgs.d.ts.map +1 -1
  132. package/dist/bridges/equations/be-40-composite-higgs.js +10 -22
  133. package/dist/bridges/equations/be-40-composite-higgs.js.map +1 -1
  134. package/dist/bridges/equations/be-41-swampland.d.ts +6 -3
  135. package/dist/bridges/equations/be-41-swampland.d.ts.map +1 -1
  136. package/dist/bridges/equations/be-41-swampland.js +11 -23
  137. package/dist/bridges/equations/be-41-swampland.js.map +1 -1
  138. package/dist/bridges/equations/be-42-hawking-temperature.d.ts +2 -0
  139. package/dist/bridges/equations/be-42-hawking-temperature.d.ts.map +1 -1
  140. package/dist/bridges/equations/be-42-hawking-temperature.js +5 -13
  141. package/dist/bridges/equations/be-42-hawking-temperature.js.map +1 -1
  142. package/dist/bridges/equations/be-43-er-epr.d.ts +7 -1
  143. package/dist/bridges/equations/be-43-er-epr.d.ts.map +1 -1
  144. package/dist/bridges/equations/be-43-er-epr.js +5 -13
  145. package/dist/bridges/equations/be-43-er-epr.js.map +1 -1
  146. package/dist/bridges/equations/be-44-soft-hair.d.ts +7 -1
  147. package/dist/bridges/equations/be-44-soft-hair.d.ts.map +1 -1
  148. package/dist/bridges/equations/be-44-soft-hair.js +5 -13
  149. package/dist/bridges/equations/be-44-soft-hair.js.map +1 -1
  150. package/dist/bridges/equations/be-45-tcc.d.ts +7 -1
  151. package/dist/bridges/equations/be-45-tcc.d.ts.map +1 -1
  152. package/dist/bridges/equations/be-45-tcc.js +10 -22
  153. package/dist/bridges/equations/be-45-tcc.js.map +1 -1
  154. package/dist/bridges/equations/be-46-multiverse-measure.d.ts +7 -1
  155. package/dist/bridges/equations/be-46-multiverse-measure.d.ts.map +1 -1
  156. package/dist/bridges/equations/be-46-multiverse-measure.js +9 -19
  157. package/dist/bridges/equations/be-46-multiverse-measure.js.map +1 -1
  158. package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts +7 -1
  159. package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts.map +1 -1
  160. package/dist/bridges/equations/be-47-bbn-dark-sector.js +14 -16
  161. package/dist/bridges/equations/be-47-bbn-dark-sector.js.map +1 -1
  162. package/dist/bridges/equations/be-48-grw-localization.d.ts +7 -1
  163. package/dist/bridges/equations/be-48-grw-localization.d.ts.map +1 -1
  164. package/dist/bridges/equations/be-48-grw-localization.js +15 -20
  165. package/dist/bridges/equations/be-48-grw-localization.js.map +1 -1
  166. package/dist/bridges/equations/be-49-quantum-darwinism.d.ts +7 -1
  167. package/dist/bridges/equations/be-49-quantum-darwinism.d.ts.map +1 -1
  168. package/dist/bridges/equations/be-49-quantum-darwinism.js +10 -22
  169. package/dist/bridges/equations/be-49-quantum-darwinism.js.map +1 -1
  170. package/dist/bridges/equations/be-50-wheeler-feynman.d.ts +42 -12
  171. package/dist/bridges/equations/be-50-wheeler-feynman.d.ts.map +1 -1
  172. package/dist/bridges/equations/be-50-wheeler-feynman.js +84 -20
  173. package/dist/bridges/equations/be-50-wheeler-feynman.js.map +1 -1
  174. package/dist/bridges/equations/be-53-yang-mills-beta.d.ts +158 -0
  175. package/dist/bridges/equations/be-53-yang-mills-beta.d.ts.map +1 -0
  176. package/dist/bridges/equations/be-53-yang-mills-beta.js +175 -0
  177. package/dist/bridges/equations/be-53-yang-mills-beta.js.map +1 -0
  178. package/dist/bridges/equations/be-54-randall-sundrum-brane.d.ts +117 -0
  179. package/dist/bridges/equations/be-54-randall-sundrum-brane.d.ts.map +1 -0
  180. package/dist/bridges/equations/be-54-randall-sundrum-brane.js +213 -0
  181. package/dist/bridges/equations/be-54-randall-sundrum-brane.js.map +1 -0
  182. package/dist/bridges/gravitational-lensing.d.ts +13 -2
  183. package/dist/bridges/gravitational-lensing.d.ts.map +1 -1
  184. package/dist/bridges/gravitational-lensing.js +17 -6
  185. package/dist/bridges/gravitational-lensing.js.map +1 -1
  186. package/dist/bridges/index.d.ts +40 -1
  187. package/dist/bridges/index.d.ts.map +1 -1
  188. package/dist/bridges/index.js +130 -48
  189. package/dist/bridges/index.js.map +1 -1
  190. package/dist/bridges/perihelion-precession-labeled.d.ts +46 -0
  191. package/dist/bridges/perihelion-precession-labeled.d.ts.map +1 -0
  192. package/dist/bridges/perihelion-precession-labeled.js +54 -0
  193. package/dist/bridges/perihelion-precession-labeled.js.map +1 -0
  194. package/dist/bridges/perihelion-precession.d.ts +18 -3
  195. package/dist/bridges/perihelion-precession.d.ts.map +1 -1
  196. package/dist/bridges/perihelion-precession.js +22 -8
  197. package/dist/bridges/perihelion-precession.js.map +1 -1
  198. package/dist/core/axes-registry.d.ts +67 -0
  199. package/dist/core/axes-registry.d.ts.map +1 -0
  200. package/dist/core/axes-registry.js +75 -0
  201. package/dist/core/axes-registry.js.map +1 -0
  202. package/dist/core/cell.d.ts +176 -0
  203. package/dist/core/cell.d.ts.map +1 -0
  204. package/dist/core/cell.js +166 -0
  205. package/dist/core/cell.js.map +1 -0
  206. package/dist/core/constants.d.ts +50 -0
  207. package/dist/core/constants.d.ts.map +1 -0
  208. package/dist/core/constants.js +50 -0
  209. package/dist/core/constants.js.map +1 -0
  210. package/dist/core/flux-rules.d.ts +176 -0
  211. package/dist/core/flux-rules.d.ts.map +1 -0
  212. package/dist/core/flux-rules.js +329 -0
  213. package/dist/core/flux-rules.js.map +1 -0
  214. package/dist/core/labeled-tensor.d.ts +143 -0
  215. package/dist/core/labeled-tensor.d.ts.map +1 -0
  216. package/dist/core/labeled-tensor.js +275 -0
  217. package/dist/core/labeled-tensor.js.map +1 -0
  218. package/dist/core/regime-registry.d.ts +169 -0
  219. package/dist/core/regime-registry.d.ts.map +1 -0
  220. package/dist/core/regime-registry.js +174 -0
  221. package/dist/core/regime-registry.js.map +1 -0
  222. package/dist/core/regime-rule-install.d.ts +26 -0
  223. package/dist/core/regime-rule-install.d.ts.map +1 -0
  224. package/dist/core/regime-rule-install.js +90 -0
  225. package/dist/core/regime-rule-install.js.map +1 -0
  226. package/dist/core/regimes-builtins.d.ts +22 -0
  227. package/dist/core/regimes-builtins.d.ts.map +1 -0
  228. package/dist/core/regimes-builtins.js +96 -0
  229. package/dist/core/regimes-builtins.js.map +1 -0
  230. package/dist/core/tensor.d.ts +112 -0
  231. package/dist/core/tensor.d.ts.map +1 -1
  232. package/dist/core/tensor.js +366 -0
  233. package/dist/core/tensor.js.map +1 -1
  234. package/dist/core/types.d.ts +7 -2
  235. package/dist/core/types.d.ts.map +1 -1
  236. package/dist/core/types.js.map +1 -1
  237. package/dist/core/universal-index.d.ts +97 -0
  238. package/dist/core/universal-index.d.ts.map +1 -0
  239. package/dist/core/universal-index.js +70 -0
  240. package/dist/core/universal-index.js.map +1 -0
  241. package/dist/diff/bridge-gradient.d.ts +94 -0
  242. package/dist/diff/bridge-gradient.d.ts.map +1 -0
  243. package/dist/diff/bridge-gradient.js +83 -0
  244. package/dist/diff/bridge-gradient.js.map +1 -0
  245. package/dist/diff/bridge-specs.d.ts +68 -0
  246. package/dist/diff/bridge-specs.d.ts.map +1 -0
  247. package/dist/diff/bridge-specs.js +96 -0
  248. package/dist/diff/bridge-specs.js.map +1 -0
  249. package/dist/dimensional/bridge-check.d.ts.map +1 -1
  250. package/dist/dimensional/bridge-check.js +8 -0
  251. package/dist/dimensional/bridge-check.js.map +1 -1
  252. package/dist/dimensional/connection-validators.d.ts +13 -6
  253. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  254. package/dist/dimensional/connection-validators.js +1 -1
  255. package/dist/dimensional/connection-validators.js.map +1 -1
  256. package/dist/dimensional/curvature-composite.d.ts +90 -0
  257. package/dist/dimensional/curvature-composite.d.ts.map +1 -0
  258. package/dist/dimensional/curvature-composite.js +57 -0
  259. package/dist/dimensional/curvature-composite.js.map +1 -0
  260. package/dist/dimensional/curvature-invariants.d.ts +90 -0
  261. package/dist/dimensional/curvature-invariants.d.ts.map +1 -0
  262. package/dist/dimensional/curvature-invariants.js +64 -0
  263. package/dist/dimensional/curvature-invariants.js.map +1 -0
  264. package/dist/dimensional/curvature.d.ts +82 -41
  265. package/dist/dimensional/curvature.d.ts.map +1 -1
  266. package/dist/dimensional/curvature.js +19 -11
  267. package/dist/dimensional/curvature.js.map +1 -1
  268. package/dist/dimensional/einstein-equation.d.ts +126 -0
  269. package/dist/dimensional/einstein-equation.d.ts.map +1 -0
  270. package/dist/dimensional/einstein-equation.js +122 -0
  271. package/dist/dimensional/einstein-equation.js.map +1 -0
  272. package/dist/dimensional/field-equation-helpers.d.ts +82 -0
  273. package/dist/dimensional/field-equation-helpers.d.ts.map +1 -0
  274. package/dist/dimensional/field-equation-helpers.js +123 -0
  275. package/dist/dimensional/field-equation-helpers.js.map +1 -0
  276. package/dist/dimensional/friedmann-equation.d.ts +148 -0
  277. package/dist/dimensional/friedmann-equation.d.ts.map +1 -0
  278. package/dist/dimensional/friedmann-equation.js +150 -0
  279. package/dist/dimensional/friedmann-equation.js.map +1 -0
  280. package/dist/dimensional/gauge-field.d.ts +182 -0
  281. package/dist/dimensional/gauge-field.d.ts.map +1 -0
  282. package/dist/dimensional/gauge-field.js +134 -0
  283. package/dist/dimensional/gauge-field.js.map +1 -0
  284. package/dist/dimensional/killing-validators.d.ts +94 -0
  285. package/dist/dimensional/killing-validators.d.ts.map +1 -0
  286. package/dist/dimensional/killing-validators.js +66 -0
  287. package/dist/dimensional/killing-validators.js.map +1 -0
  288. package/dist/dimensional/klein-gordon-equation.d.ts +113 -0
  289. package/dist/dimensional/klein-gordon-equation.d.ts.map +1 -0
  290. package/dist/dimensional/klein-gordon-equation.js +98 -0
  291. package/dist/dimensional/klein-gordon-equation.js.map +1 -0
  292. package/dist/dimensional/rg-flow.d.ts +156 -0
  293. package/dist/dimensional/rg-flow.d.ts.map +1 -0
  294. package/dist/dimensional/rg-flow.js +150 -0
  295. package/dist/dimensional/rg-flow.js.map +1 -0
  296. package/dist/dimensional/stress-energy-validators.d.ts +74 -0
  297. package/dist/dimensional/stress-energy-validators.d.ts.map +1 -0
  298. package/dist/dimensional/stress-energy-validators.js +47 -0
  299. package/dist/dimensional/stress-energy-validators.js.map +1 -0
  300. package/dist/dimensional/tensor-trace.d.ts +128 -0
  301. package/dist/dimensional/tensor-trace.d.ts.map +1 -0
  302. package/dist/dimensional/tensor-trace.js +95 -0
  303. package/dist/dimensional/tensor-trace.js.map +1 -0
  304. package/dist/dimensional/tensor.d.ts +6 -8
  305. package/dist/dimensional/tensor.d.ts.map +1 -1
  306. package/dist/dimensional/tensor.js +3 -1
  307. package/dist/dimensional/tensor.js.map +1 -1
  308. package/dist/dimensional/validator-registry.d.ts +90 -0
  309. package/dist/dimensional/validator-registry.d.ts.map +1 -0
  310. package/dist/dimensional/validator-registry.js +131 -0
  311. package/dist/dimensional/validator-registry.js.map +1 -0
  312. package/dist/dimensional/validator.d.ts +12 -2
  313. package/dist/dimensional/validator.d.ts.map +1 -1
  314. package/dist/dimensional/validator.js +60 -75
  315. package/dist/dimensional/validator.js.map +1 -1
  316. package/dist/dimensional/weyl-validators.d.ts +84 -0
  317. package/dist/dimensional/weyl-validators.d.ts.map +1 -0
  318. package/dist/dimensional/weyl-validators.js +84 -0
  319. package/dist/dimensional/weyl-validators.js.map +1 -0
  320. package/dist/index.d.ts +38 -0
  321. package/dist/index.d.ts.map +1 -1
  322. package/dist/index.js +45 -0
  323. package/dist/index.js.map +1 -1
  324. package/dist/numerical/be37-covariant-eikonal.d.ts +37 -2
  325. package/dist/numerical/be37-covariant-eikonal.d.ts.map +1 -1
  326. package/dist/numerical/be37-covariant-eikonal.js +51 -14
  327. package/dist/numerical/be37-covariant-eikonal.js.map +1 -1
  328. package/dist/numerical/christoffel-flat.d.ts +49 -0
  329. package/dist/numerical/christoffel-flat.d.ts.map +1 -0
  330. package/dist/numerical/christoffel-flat.js +86 -0
  331. package/dist/numerical/christoffel-flat.js.map +1 -0
  332. package/dist/numerical/curvature-lowering-helpers.d.ts +76 -57
  333. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  334. package/dist/numerical/curvature-lowering-helpers.js +203 -64
  335. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  336. package/dist/numerical/derivative-lowering.d.ts +67 -0
  337. package/dist/numerical/derivative-lowering.d.ts.map +1 -0
  338. package/dist/numerical/derivative-lowering.js +243 -0
  339. package/dist/numerical/derivative-lowering.js.map +1 -0
  340. package/dist/numerical/einstein-equation.d.ts +106 -0
  341. package/dist/numerical/einstein-equation.d.ts.map +1 -0
  342. package/dist/numerical/einstein-equation.js +172 -0
  343. package/dist/numerical/einstein-equation.js.map +1 -0
  344. package/dist/numerical/engine-registry.js +4 -4
  345. package/dist/numerical/engine-registry.js.map +1 -1
  346. package/dist/numerical/geodesic-integrator.d.ts +7 -4
  347. package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
  348. package/dist/numerical/geodesic-integrator.js +5 -1
  349. package/dist/numerical/geodesic-integrator.js.map +1 -1
  350. package/dist/numerical/gl4-integrator.d.ts +57 -9
  351. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  352. package/dist/numerical/gl4-integrator.js +63 -16
  353. package/dist/numerical/gl4-integrator.js.map +1 -1
  354. package/dist/numerical/killing.d.ts +157 -0
  355. package/dist/numerical/killing.d.ts.map +1 -0
  356. package/dist/numerical/killing.js +242 -0
  357. package/dist/numerical/killing.js.map +1 -0
  358. package/dist/numerical/kretschmann.d.ts +62 -0
  359. package/dist/numerical/kretschmann.d.ts.map +1 -0
  360. package/dist/numerical/kretschmann.js +88 -0
  361. package/dist/numerical/kretschmann.js.map +1 -0
  362. package/dist/numerical/lowering-utils.d.ts +47 -0
  363. package/dist/numerical/lowering-utils.d.ts.map +1 -0
  364. package/dist/numerical/lowering-utils.js +64 -0
  365. package/dist/numerical/lowering-utils.js.map +1 -0
  366. package/dist/numerical/lowering.d.ts +1 -29
  367. package/dist/numerical/lowering.d.ts.map +1 -1
  368. package/dist/numerical/lowering.js +226 -415
  369. package/dist/numerical/lowering.js.map +1 -1
  370. package/dist/numerical/mathts-engine.js +8 -8
  371. package/dist/numerical/mathts-engine.js.map +1 -1
  372. package/dist/numerical/metric-inverse.d.ts.map +1 -1
  373. package/dist/numerical/metric-inverse.js +28 -0
  374. package/dist/numerical/metric-inverse.js.map +1 -1
  375. package/dist/numerical/null-ic.d.ts +40 -0
  376. package/dist/numerical/null-ic.d.ts.map +1 -0
  377. package/dist/numerical/null-ic.js +50 -0
  378. package/dist/numerical/null-ic.js.map +1 -0
  379. package/dist/numerical/null-ray-integrator.d.ts +3 -2
  380. package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
  381. package/dist/numerical/null-ray-integrator.js +6 -3
  382. package/dist/numerical/null-ray-integrator.js.map +1 -1
  383. package/dist/numerical/painleve-gullstrand-metric.d.ts +74 -0
  384. package/dist/numerical/painleve-gullstrand-metric.d.ts.map +1 -0
  385. package/dist/numerical/painleve-gullstrand-metric.js +121 -0
  386. package/dist/numerical/painleve-gullstrand-metric.js.map +1 -0
  387. package/dist/numerical/pderiv.d.ts +35 -3
  388. package/dist/numerical/pderiv.d.ts.map +1 -1
  389. package/dist/numerical/pderiv.js +47 -12
  390. package/dist/numerical/pderiv.js.map +1 -1
  391. package/dist/numerical/perihelion-finder.d.ts +57 -0
  392. package/dist/numerical/perihelion-finder.d.ts.map +1 -1
  393. package/dist/numerical/perihelion-finder.js +57 -0
  394. package/dist/numerical/perihelion-finder.js.map +1 -1
  395. package/dist/numerical/tensor-engine.d.ts +2 -2
  396. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  397. package/dist/numerical/weyl-lowering.d.ts +60 -0
  398. package/dist/numerical/weyl-lowering.d.ts.map +1 -0
  399. package/dist/numerical/weyl-lowering.js +111 -0
  400. package/dist/numerical/weyl-lowering.js.map +1 -0
  401. package/package.json +9 -7
@@ -139,9 +139,44 @@ export interface BE37CovariantEikonalResult {
139
139
  * Non-zero `b_m` requires `b_m ≤ R_near_m` (closest approach `r_min ≈ b`
140
140
  * must not lie between R_far and R_near).
141
141
  *
142
- * @param inputs - Source mass + far/near radii (+ optional `b_m`, `steps`).
143
- * @returns `{eikonalResidual: 0, shapiroDelaySec: <real, positive>}`.
142
+ * @param inputs - Source mass + far/near radii (+ optional `b_m`, `steps`):
143
+ * - `M_kg` gravitational source mass in **kilograms** (SI). Must be a
144
+ * finite positive number.
145
+ * - `R_far_m` — origin radial coordinate in **metres** (SI). The signal
146
+ * start point.
147
+ * - `R_near_m` — destination radial coordinate in **metres** (SI). Must
148
+ * satisfy `0 < R_near_m ≤ R_far_m` and `R_near_m > 1.01 · r_s` (stay
149
+ * comfortably outside the Schwarzschild horizon `r_s = 2GM/c²`).
150
+ * - `b_m` — optional impact parameter in **metres** (SI). Default `0`
151
+ * (purely radial geodesic). Non-zero `b_m` requires `b_m ≤ R_near_m`.
152
+ * - `steps` — optional GL4 integrator step count (dimensionless). Default
153
+ * 2048. Higher = tighter agreement with closed-form Shapiro at
154
+ * additional CPU cost.
155
+ * @returns `{ eikonalResidual, shapiroDelaySec }`:
156
+ * - `eikonalResidual` — **dimensionless** numerical residual of
157
+ * `g^μν ∇_μ ∇_ν S = 0`; returns exactly `0` by construction.
158
+ * - `shapiroDelaySec` — gravitational-time-delay in **seconds** (SI).
159
+ * Positive by sign convention (light is slowed in the potential well).
144
160
  * @throws RangeError on out-of-domain inputs.
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * import { evaluateBE37CovariantEikonalNumerical, G_SI, C_SI } from 'universal-physics-tensor';
165
+ *
166
+ * const M_SUN = 1.989e30; // kg
167
+ * // Radial null geodesic: signal from Earth orbit to solar surface
168
+ * const R_far_m = 1.496e11; // ~1 AU
169
+ * const R_near_m = 6.957e8; // ~solar radius
170
+ *
171
+ * const result = await evaluateBE37CovariantEikonalNumerical({
172
+ * M_kg: M_SUN,
173
+ * R_far_m,
174
+ * R_near_m,
175
+ * });
176
+ * // result.eikonalResidual === 0 (exact by construction)
177
+ * // result.shapiroDelaySec ≈ 2e-4 s (Shapiro delay near the Sun)
178
+ * ```
179
+ *
145
180
  * @public
146
181
  */
147
182
  export declare function evaluateBE37CovariantEikonalNumerical(inputs: BE37CovariantEikonalInputs): Promise<BE37CovariantEikonalResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"be37-covariant-eikonal.d.ts","sourceRoot":"","sources":["../../src/numerical/be37-covariant-eikonal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AASH;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;2EACuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;OASG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAgFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAqHrC"}
1
+ {"version":3,"file":"be37-covariant-eikonal.d.ts","sourceRoot":"","sources":["../../src/numerical/be37-covariant-eikonal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAWH;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;2EACuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;OASG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAgFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAoHrC"}
@@ -31,9 +31,11 @@
31
31
  * @public
32
32
  */
33
33
  import { integrateGeodesicGL4 } from './gl4-integrator.js';
34
- // ─── Physical constants (CODATA 2018 + SI definitions) ────────────────────
35
- const G_SI = 6.6743e-11; // m³ kg⁻¹ s⁻² (matches tests/fixtures/schwarzschild.ts)
36
- const c_SI = 2.998e8; // m s⁻¹ (matches tests/fixtures/schwarzschild.ts)
34
+ import { C_SI, G_SI } from '../core/constants.js';
35
+ import { reconstructNullPr } from './null-ic.js';
36
+ // ─── Physical constants (canonical CODATA 2018 + exact-SI definitions) ────
37
+ // Imported from src/core/constants.ts (v0.5.1 PC-1 canonicalization).
38
+ const c_SI = C_SI;
37
39
  const c2_SI = c_SI * c_SI;
38
40
  /**
39
41
  * Schwarzschild radius `r_s = 2GM/c²`.
@@ -145,9 +147,44 @@ function buildDgInverseFn(M_kg) {
145
147
  * Non-zero `b_m` requires `b_m ≤ R_near_m` (closest approach `r_min ≈ b`
146
148
  * must not lie between R_far and R_near).
147
149
  *
148
- * @param inputs - Source mass + far/near radii (+ optional `b_m`, `steps`).
149
- * @returns `{eikonalResidual: 0, shapiroDelaySec: <real, positive>}`.
150
+ * @param inputs - Source mass + far/near radii (+ optional `b_m`, `steps`):
151
+ * - `M_kg` gravitational source mass in **kilograms** (SI). Must be a
152
+ * finite positive number.
153
+ * - `R_far_m` — origin radial coordinate in **metres** (SI). The signal
154
+ * start point.
155
+ * - `R_near_m` — destination radial coordinate in **metres** (SI). Must
156
+ * satisfy `0 < R_near_m ≤ R_far_m` and `R_near_m > 1.01 · r_s` (stay
157
+ * comfortably outside the Schwarzschild horizon `r_s = 2GM/c²`).
158
+ * - `b_m` — optional impact parameter in **metres** (SI). Default `0`
159
+ * (purely radial geodesic). Non-zero `b_m` requires `b_m ≤ R_near_m`.
160
+ * - `steps` — optional GL4 integrator step count (dimensionless). Default
161
+ * 2048. Higher = tighter agreement with closed-form Shapiro at
162
+ * additional CPU cost.
163
+ * @returns `{ eikonalResidual, shapiroDelaySec }`:
164
+ * - `eikonalResidual` — **dimensionless** numerical residual of
165
+ * `g^μν ∇_μ ∇_ν S = 0`; returns exactly `0` by construction.
166
+ * - `shapiroDelaySec` — gravitational-time-delay in **seconds** (SI).
167
+ * Positive by sign convention (light is slowed in the potential well).
150
168
  * @throws RangeError on out-of-domain inputs.
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * import { evaluateBE37CovariantEikonalNumerical, G_SI, C_SI } from 'universal-physics-tensor';
173
+ *
174
+ * const M_SUN = 1.989e30; // kg
175
+ * // Radial null geodesic: signal from Earth orbit to solar surface
176
+ * const R_far_m = 1.496e11; // ~1 AU
177
+ * const R_near_m = 6.957e8; // ~solar radius
178
+ *
179
+ * const result = await evaluateBE37CovariantEikonalNumerical({
180
+ * M_kg: M_SUN,
181
+ * R_far_m,
182
+ * R_near_m,
183
+ * });
184
+ * // result.eikonalResidual === 0 (exact by construction)
185
+ * // result.shapiroDelaySec ≈ 2e-4 s (Shapiro delay near the Sun)
186
+ * ```
187
+ *
151
188
  * @public
152
189
  */
153
190
  export async function evaluateBE37CovariantEikonalNumerical(inputs) {
@@ -189,17 +226,17 @@ export async function evaluateBE37CovariantEikonalNumerical(inputs) {
189
226
  const p_t = -c2_SI;
190
227
  const p_phi = b_m * c_SI; // Killing-vector conservation: classical b = p_φ/(|p_t|/c²·c) = p_φ/c.
191
228
  const p_theta = 0;
192
- // Solve null condition g^μν p_μ p_ν = 0 for p_r at the initial point:
193
- // g^tt p_t² + g^rr p_r² + g^φφ p_φ² = 0 (θ=π/2)
194
- // p_r² = (−g^tt p_t² g^φφ p_φ²) / g^rr
229
+ // Solve null condition g^μν p_μ p_ν = 0 for p_r at the initial point.
230
+ // Delegated to reconstructNullPr (src/numerical/null-ic.ts) so PC-1.5
231
+ // bench harnesses measure the same production arithmetic.
195
232
  const gInv0 = gInverseFn(x0);
196
- const numerator = -gInv0[0][0] * p_t * p_t - gInv0[3][3] * p_phi * p_phi;
197
- if (numerator < 0) {
198
- throw new RangeError(`evaluateBE37CovariantEikonalNumerical: null condition has no real p_r at R_far=${R_far_m} (impact parameter b=${b_m} too large for this geometry; numerator=${numerator})`);
233
+ let p_r;
234
+ try {
235
+ p_r = reconstructNullPr(gInv0, p_t, p_phi);
236
+ }
237
+ catch {
238
+ throw new RangeError(`evaluateBE37CovariantEikonalNumerical: null condition has no real p_r at R_far=${R_far_m} (impact parameter b=${b_m} too large for this geometry)`);
199
239
  }
200
- const p_r_magnitude = Math.sqrt(numerator / gInv0[1][1]);
201
- // Inward motion: dr/dτ = g^rr p_r = (1-r_s/r) p_r < 0 ⇒ p_r < 0.
202
- const p_r = -p_r_magnitude;
203
240
  const initialState = {
204
241
  x: x0,
205
242
  p: [p_t, p_r, p_theta, p_phi],
@@ -1 +1 @@
1
- {"version":3,"file":"be37-covariant-eikonal.js","sourceRoot":"","sources":["../../src/numerical/be37-covariant-eikonal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,6EAA6E;AAC7E,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,yDAAyD;AAClF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,2DAA2D;AACjF,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;AA0E1B;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;AACnC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,eAAe,CACtB,IAAY;IAEZ,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,SAAS,QAAQ,CAAC,CAAwB;QAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACf,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAe;YACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACZ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACZ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACZ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACb,CAAC;QACF,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CACvB,IAAY;IAEZ,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,SAAS,SAAS,CAAC,CAAwB;QAChD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACf,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACtB,MAAM,EAAE,GAAiB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CACtD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAC9C,CAAC;QACF,uBAAuB;QACvB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC5C,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QAC7C,qBAAqB;QACrB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QACzD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,MAAkC;IAElC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAElE,2EAA2E;IAC3E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,UAAU,CAClB,qFAAqF,IAAI,EAAE,CAC5F,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAClB,wFAAwF,OAAO,EAAE,CAClG,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,UAAU,CAClB,yFAAyF,QAAQ,EAAE,CACpG,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,GAAG,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,UAAU,CAClB,oDAAoD,QAAQ,wBAAwB,OAAO,GAAG,CAC/F,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,UAAU,CAClB,wFAAwF,GAAG,EAAE,CAC9F,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;QACnB,MAAM,IAAI,UAAU,CAClB,+CAA+C,GAAG,yBAAyB,QAAQ,4CAA4C,CAChI,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,QAAQ,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,UAAU,CAClB,oDAAoD,QAAQ,0DAA0D,GAAG,EAAE,CAC5H,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,8DAA8D;IAC9D,uEAAuE;IACvE,MAAM,eAAe,GAAG,CAAC,CAAC;IAE1B,2EAA2E;IAC3E,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE3C,yEAAyE;IACzE,qEAAqE;IACrE,0EAA0E;IAC1E,MAAM,EAAE,GAAa,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;IACnB,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,uEAAuE;IACjG,MAAM,OAAO,GAAG,CAAC,CAAC;IAElB,sEAAsE;IACtE,mDAAmD;IACnD,6CAA6C;IAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;IACzE,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,UAAU,CAClB,kFAAkF,OAAO,wBAAwB,GAAG,2CAA2C,SAAS,GAAG,CAC5K,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,iEAAiE;IACjE,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC;IAE3B,MAAM,YAAY,GAAG;QACnB,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC;KAC9B,CAAC;IAEF,uEAAuE;IACvE,yEAAyE;IACzE,iFAAiF;IACjF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IAE5B,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,EAAE;QACnD,KAAK;QACL,MAAM;QACN,UAAU;QACV,WAAW;QACX,eAAe,EAAE,GAAG,GAAG,IAAI;KAC5B,CAAC,CAAC;IAEH,wEAAwE;IACxE,IAAI,UAA8B,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,QAAQ,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,+EAA+E;YAC/E,MAAM,KAAK,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;YACnD,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;YAC7C,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,sEAAsE,QAAQ,kBAAkB,MAAM,eAAe,MAAM,mCAAmC,CAC/J,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,CAAC;IAE5C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"be37-covariant-eikonal.js","sourceRoot":"","sources":["../../src/numerical/be37-covariant-eikonal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Flat-array Christoffel evaluator (v0.6.0 Phase 2, Task 2.8 — BR-2 BREAKING).
3
+ *
4
+ * Returns Float64Array(64) instead of nested number[4][4][4]. Layout
5
+ * locked from Task 2.0 profiling: λ-major encoding (16λ + 4μ + ν).
6
+ *
7
+ * Formulas verified against the authoritative fixture at
8
+ * tests/fixtures/schwarzschild.ts:10-18 (Carroll Ch. 5 / Hartle Ch. 9;
9
+ * −,+,+,+ signature). Schwarzschild has 9 non-zero independent Christoffel
10
+ * components, related by symmetry Γ^λ_{μν} = Γ^λ_{νμ} for 13 non-zero
11
+ * array entries out of 64.
12
+ *
13
+ * Nonzero independent components:
14
+ * Γ^t_{tr} = Γ^t_{rt} = r_s / (2·r·(r − r_s))
15
+ * Γ^r_{tt} = c² · r_s · (r − r_s) / (2·r³)
16
+ * Γ^r_{rr} = -r_s / (2·r·(r − r_s))
17
+ * Γ^r_{θθ} = -(r − r_s)
18
+ * Γ^r_{φφ} = -(r − r_s) · sin²θ
19
+ * Γ^θ_{rθ} = Γ^θ_{θr} = 1/r
20
+ * Γ^θ_{φφ} = -sinθ · cosθ
21
+ * Γ^φ_{rφ} = Γ^φ_{φr} = 1/r
22
+ * Γ^φ_{θφ} = Γ^φ_{φθ} = cosθ / sinθ
23
+ *
24
+ * where r_s = 2GM/c². All other entries are zero. Float64Array zero-initialises
25
+ * by default, so we write only the 13 non-zero slots.
26
+ *
27
+ * @module numerical/christoffel-flat
28
+ * @public
29
+ */
30
+ /**
31
+ * Encodes a Christoffel index triple (λ, μ, ν) into a flat array offset.
32
+ *
33
+ * Layout: λ-major — `16·λ + 4·μ + ν`.
34
+ * Locked from Task 2.0 profiling (dual-condition gate; λ-major is default).
35
+ */
36
+ export declare function encodeChristoffelIndex(lambda: number, mu: number, nu: number): number;
37
+ /**
38
+ * Returns a Christoffel-symbol closure for the Schwarzschild metric at a
39
+ * given gravitational mass M (SI, kg).
40
+ *
41
+ * The returned closure maps a coordinate 4-vector x = [t, r, θ, φ] to a
42
+ * Float64Array of length 64 containing Γ^λ_{μν} values in λ-major order.
43
+ * Access element (λ, μ, ν) via `encodeChristoffelIndex(λ, μ, ν)`.
44
+ *
45
+ * This is the BR-2 breaking-change replacement for the nested `number[][][]`
46
+ * returned by `schwarzschildChristoffelFn`. Consumer migration lands in Task 2.9.
47
+ */
48
+ export declare function christoffelFnFlat(M: number): (x: [number, number, number, number]) => Float64Array;
49
+ //# sourceMappingURL=christoffel-flat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"christoffel-flat.d.ts","sourceRoot":"","sources":["../../src/numerical/christoffel-flat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAErF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,YAAY,CAoClG"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Flat-array Christoffel evaluator (v0.6.0 Phase 2, Task 2.8 — BR-2 BREAKING).
3
+ *
4
+ * Returns Float64Array(64) instead of nested number[4][4][4]. Layout
5
+ * locked from Task 2.0 profiling: λ-major encoding (16λ + 4μ + ν).
6
+ *
7
+ * Formulas verified against the authoritative fixture at
8
+ * tests/fixtures/schwarzschild.ts:10-18 (Carroll Ch. 5 / Hartle Ch. 9;
9
+ * −,+,+,+ signature). Schwarzschild has 9 non-zero independent Christoffel
10
+ * components, related by symmetry Γ^λ_{μν} = Γ^λ_{νμ} for 13 non-zero
11
+ * array entries out of 64.
12
+ *
13
+ * Nonzero independent components:
14
+ * Γ^t_{tr} = Γ^t_{rt} = r_s / (2·r·(r − r_s))
15
+ * Γ^r_{tt} = c² · r_s · (r − r_s) / (2·r³)
16
+ * Γ^r_{rr} = -r_s / (2·r·(r − r_s))
17
+ * Γ^r_{θθ} = -(r − r_s)
18
+ * Γ^r_{φφ} = -(r − r_s) · sin²θ
19
+ * Γ^θ_{rθ} = Γ^θ_{θr} = 1/r
20
+ * Γ^θ_{φφ} = -sinθ · cosθ
21
+ * Γ^φ_{rφ} = Γ^φ_{φr} = 1/r
22
+ * Γ^φ_{θφ} = Γ^φ_{φθ} = cosθ / sinθ
23
+ *
24
+ * where r_s = 2GM/c². All other entries are zero. Float64Array zero-initialises
25
+ * by default, so we write only the 13 non-zero slots.
26
+ *
27
+ * @module numerical/christoffel-flat
28
+ * @public
29
+ */
30
+ // Use canonical SI constants per v0.5.1 PC-1 (do NOT inline truncated literals):
31
+ import { C_SI, G_SI } from '../core/constants.js';
32
+ /**
33
+ * Encodes a Christoffel index triple (λ, μ, ν) into a flat array offset.
34
+ *
35
+ * Layout: λ-major — `16·λ + 4·μ + ν`.
36
+ * Locked from Task 2.0 profiling (dual-condition gate; λ-major is default).
37
+ */
38
+ export function encodeChristoffelIndex(lambda, mu, nu) {
39
+ return 16 * lambda + 4 * mu + nu;
40
+ }
41
+ /**
42
+ * Returns a Christoffel-symbol closure for the Schwarzschild metric at a
43
+ * given gravitational mass M (SI, kg).
44
+ *
45
+ * The returned closure maps a coordinate 4-vector x = [t, r, θ, φ] to a
46
+ * Float64Array of length 64 containing Γ^λ_{μν} values in λ-major order.
47
+ * Access element (λ, μ, ν) via `encodeChristoffelIndex(λ, μ, ν)`.
48
+ *
49
+ * This is the BR-2 breaking-change replacement for the nested `number[][][]`
50
+ * returned by `schwarzschildChristoffelFn`. Consumer migration lands in Task 2.9.
51
+ */
52
+ export function christoffelFnFlat(M) {
53
+ return (x) => {
54
+ const [_t, r, theta, _phi] = x;
55
+ const r_s = (2 * G_SI * M) / (C_SI * C_SI);
56
+ const arr = new Float64Array(64); // 64 zeros by default
57
+ const dr_factor = r - r_s;
58
+ const sinTheta = Math.sin(theta);
59
+ const cosTheta = Math.cos(theta);
60
+ const Gt_tr = r_s / (2 * r * dr_factor);
61
+ const Gr_tt = (C_SI * C_SI * r_s * dr_factor) / (2 * r * r * r);
62
+ const Gr_rr = -r_s / (2 * r * dr_factor);
63
+ const Gr_thth = -dr_factor;
64
+ const Gr_phiphi = -dr_factor * sinTheta * sinTheta;
65
+ const Gth_rth = 1 / r;
66
+ const Gth_phiphi = -sinTheta * cosTheta;
67
+ const Gphi_rphi = 1 / r;
68
+ const Gphi_thphi = cosTheta / sinTheta;
69
+ // Index encoding: 16*lambda + 4*mu + nu (λ-major)
70
+ arr[16 * 0 + 4 * 0 + 1] = Gt_tr; // Γ^t_{tr}
71
+ arr[16 * 0 + 4 * 1 + 0] = Gt_tr; // Γ^t_{rt} (symmetric)
72
+ arr[16 * 1 + 4 * 0 + 0] = Gr_tt; // Γ^r_{tt}
73
+ arr[16 * 1 + 4 * 1 + 1] = Gr_rr; // Γ^r_{rr}
74
+ arr[16 * 1 + 4 * 2 + 2] = Gr_thth; // Γ^r_{θθ}
75
+ arr[16 * 1 + 4 * 3 + 3] = Gr_phiphi; // Γ^r_{φφ}
76
+ arr[16 * 2 + 4 * 1 + 2] = Gth_rth; // Γ^θ_{rθ}
77
+ arr[16 * 2 + 4 * 2 + 1] = Gth_rth; // Γ^θ_{θr}
78
+ arr[16 * 2 + 4 * 3 + 3] = Gth_phiphi; // Γ^θ_{φφ}
79
+ arr[16 * 3 + 4 * 1 + 3] = Gphi_rphi; // Γ^φ_{rφ}
80
+ arr[16 * 3 + 4 * 3 + 1] = Gphi_rphi; // Γ^φ_{φr}
81
+ arr[16 * 3 + 4 * 2 + 3] = Gphi_thphi; // Γ^φ_{θφ}
82
+ arr[16 * 3 + 4 * 3 + 2] = Gphi_thphi; // Γ^φ_{φθ}
83
+ return arr;
84
+ };
85
+ }
86
+ //# sourceMappingURL=christoffel-flat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"christoffel-flat.js","sourceRoot":"","sources":["../../src/numerical/christoffel-flat.ts"],"names":[],"mappings":"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"}
@@ -28,10 +28,10 @@
28
28
  *
29
29
  * @module numerical/curvature-lowering-helpers
30
30
  */
31
- import type { TensorEngine } from './tensor-engine.js';
32
- import type { NestedArray } from './types.js';
33
- /** Flat row-major N×N matrix (one g or g^{-1} sample). */
34
- export type FlatMatrix = ReadonlyArray<number>;
31
+ import type { EngineTensor, TensorEngine } from './tensor-engine.js';
32
+ import type { NestedArray, NumericalInputs } from './types.js';
33
+ import type { BianchiResidualNode } from '../dimensional/curvature.js';
34
+ import type { WeylTensorNode } from '../dimensional/weyl-validators.js';
35
35
  /** A coordinate-dependent rank-2 closure: f(x) → N×N as a NestedArray
36
36
  * (number[][] or any nested form that `flattenNA` can flatten). */
37
37
  export type MetricFn = (x: ReadonlyArray<number>) => NestedArray;
@@ -40,33 +40,15 @@ export type MetricFn = (x: ReadonlyArray<number>) => NestedArray;
40
40
  *
41
41
  * 4-deep nested number array — readonly to mark this as an output container
42
42
  * the helper produces but does not mutate after construction.
43
- */
44
- export type DGammaTensor = readonly (readonly (readonly (readonly number[])[])[])[];
45
- /** Gamma[ρ][σ][ν] = Γ^ρ_{σν} — same index order as `computeChristoffelTensor`
46
- * output (just renamed for the Riemann use). */
47
- export type GammaTensor = readonly (readonly (readonly number[])[])[];
48
- /**
49
- * Step size for finite differences on the Christoffel function.
50
- *
51
- * Inner step (∂g for one Γ evaluation) uses the v0.4.0 default
52
- * `1e-6·max(|x|,1)` via `pderivNumericalFn`-style centered FD. This gives ∂g
53
- * with relative precision ≈ 1e-11 on Schwarzschild components (verified by
54
- * inspection at r=3·r_s).
55
43
  *
56
- * Outer step (∂Γ for one R evaluation) is `1e-4·max(|x|,1)` and we use a
57
- * **4th-order centered stencil**:
58
- *
59
- * f'(x) ≈ [−f(x+2h) + 8 f(x+h) − 8 f(x-h) + f(x-2h)] / (12 h)
60
- *
61
- * Truncation O(h⁴) instead of O(h²). At h=0.886 m (r=3·r_s, M=M_sun),
62
- * truncation ≈ h⁴·Γ⁽⁵⁾/Γ ~ 1e-13 relative, round-off ε·|Γ|/h ~ 1e-15 relative.
63
- * Both sit well below the 1e-9 gate.
64
- *
65
- * The 2nd-order outer FD that v0.4.0 covariant-derivative lowering uses
66
- * leaves ~3e-6 relative error on R^t_{rtr} due to noise propagation through
67
- * the c²-scaled g_{tt} component — 4th-order outer FD recovers the precision.
44
+ * v0.6.1: dropped `export` file-internal only (used by `dGammaAt` +
45
+ * `buildRiemann` + `riemannLowerAt`).
68
46
  */
69
- export declare function outerStep(x: number): number;
47
+ type DGammaTensor = readonly (readonly (readonly (readonly number[])[])[])[];
48
+ /** Gamma[ρ][σ][ν] = Γ^ρ_{σν} — same index order as `computeChristoffelTensor`
49
+ * output (just renamed for the Riemann use).
50
+ * v0.6.1: dropped `export` — file-internal only. */
51
+ type GammaTensor = readonly (readonly (readonly number[])[])[];
70
52
  /**
71
53
  * Compute Γ^ρ_{σν} at coordinate x. Internally builds a centered-FD ∂g sampler
72
54
  * around x and delegates to `computeChristoffelTensor` (the v0.4.0 helper).
@@ -95,40 +77,12 @@ export declare function dGammaAt(x: ReadonlyArray<number>, gFn: MetricFn, gInver
95
77
  * σ in the SECOND lower slot of each Γ (F4/S3 correction).
96
78
  */
97
79
  export declare function buildRiemann(gamma: GammaTensor, dGamma: DGammaTensor, N: number): number[][][][];
98
- /**
99
- * Compute the upper-Riemann tensor R^ρ_{σμν} at coordinate x using the same
100
- * Γ + ∂Γ pipeline as the riemann-tensor lowering case. Encapsulates the
101
- * full christoffelAt + dGammaAt + buildRiemann sequence so callers (Task 9
102
- * Bianchi residual) can sample R at perturbed coordinates without
103
- * re-implementing the FD machinery.
104
- */
105
- export declare function riemannUpperAt(x: ReadonlyArray<number>, gFn: MetricFn, gInverseFn: MetricFn, N: number, engine: TensorEngine): number[][][][];
106
- /**
107
- * Lower the upper-ρ index of R^ρ_{σμν} via the covariant metric g_{aρ}:
108
- *
109
- * R_{aσμν} = Σ_ρ g_{aρ} R^ρ_{σμν}
110
- *
111
- * Output index order: `[a][σ][μ][ν]` — all four lower. (a is the freshly
112
- * lowered index in the first slot.)
113
- */
114
- export declare function lowerFirstIndex(R: number[][][][], gLowerFlat: ReadonlyArray<number>, N: number): number[][][][];
115
80
  /**
116
81
  * Sample the all-lower Riemann tensor R_{αβγδ}(x) — combines `riemannUpperAt`
117
82
  * with `lowerFirstIndex` for the single-coordinate evaluation. Used both as
118
83
  * the base sample and (with perturbed x) as the FD inputs for ∂_λ R_{αβγδ}.
119
84
  */
120
85
  export declare function riemannLowerAt(x: ReadonlyArray<number>, gFn: MetricFn, gInverseFn: MetricFn, N: number, engine: TensorEngine): number[][][][];
121
- /**
122
- * Compute ∂_λ R_{αβγδ}(x) via a 4th-order centered stencil on
123
- * `riemannLowerAt`. Index order: `dR[λ][α][β][γ][δ] = ∂_λ R_{αβγδ}`.
124
- *
125
- * Uses the same outer step (`outerStep`) as Task 6's dGammaAt so the
126
- * FD-noise compounding pattern matches. This is one extra layer of FD on top
127
- * of the Christoffel-of-Christoffel double-FD already inside `riemannLowerAt`
128
- * — total: ∂(∂(∂g)) at 4th order in each layer. Empirical noise floor reached
129
- * by the per-component value is documented in the test report.
130
- */
131
- export declare function dRiemannLowerAt(x: ReadonlyArray<number>, gFn: MetricFn, gInverseFn: MetricFn, N: number, engine: TensorEngine): number[][][][][];
132
86
  /**
133
87
  * Compute ∇_λ R_{μνρσ} via partial + Christoffel-correction terms (Approach 1).
134
88
  *
@@ -159,4 +113,69 @@ export declare function covariantDerivRiemannLowerAt(x: ReadonlyArray<number>, g
159
113
  * Index order: `B[λ][μ][ν][ρ][σ]` — all five lower.
160
114
  */
161
115
  export declare function bianchiResidualAt(x: ReadonlyArray<number>, gFn: MetricFn, gInverseFn: MetricFn, N: number, engine: TensorEngine): number[][][][][];
116
+ /**
117
+ * JS-side contraction of a flat 4-axis tensor R[a][b][c][d] (length N⁴, row-major)
118
+ * down to a 2-tensor by summing one upper axis against one lower axis.
119
+ *
120
+ * Configuration:
121
+ * - `upperAxis`: the axis index (0..3) that contracts WITH `lowerAxis` (dummy slot).
122
+ * - `lowerAxis`: the partner axis (0..3) forming the dummy pair.
123
+ * - `outAxes`: the two surviving axes [i, j] that become the (free output)
124
+ * rows/cols of the returned N×N matrix.
125
+ *
126
+ * For Carroll Eq. 3.91 Ricci R_μν = R^λ_{μλν} on Riemann stored as R[ρ][σ][μ][ν]:
127
+ * contractRiemannJS(flatR, N, { upperAxis: 0, lowerAxis: 2, outAxes: [1, 3] })
128
+ * sums `R[λ][μ_out][λ][ν_out]` over λ.
129
+ *
130
+ * Pre-flattened input convention: row-major `R[a][b][c][d] = flatR[a*N³ + b*N² + c*N + d]`.
131
+ * (Matches `flattenNestedArray` output for an [N,N,N,N] EngineTensor.)
132
+ *
133
+ * @internal — extracted from `lowering.ts` ricci-tensor arm (AS-1, v0.5.1). Kept
134
+ * deliberately narrow (4-axis source → 2-axis output) to match the v0.5.0 GR
135
+ * curvature pipeline; generalisation deferred to v0.6.0 if Weyl/Kretschmann
136
+ * arrives (see `docs/architecture/COMPONENTS.md` curvature-layer pattern note).
137
+ */
138
+ export declare function contractRiemannJS(flatR: ReadonlyArray<number>, N: number, config: {
139
+ upperAxis: 0 | 1 | 2 | 3;
140
+ lowerAxis: 0 | 1 | 2 | 3;
141
+ outAxes: readonly [number, number];
142
+ }): number[][];
143
+ /**
144
+ * Lower a `bianchi-residual` AST node to a 5-rank EngineTensor B_{λμνρσ}.
145
+ *
146
+ * Extracted from `lowering.ts` `lowerCurvature` switch arm in v0.6.1 Phase 2.
147
+ * Wires `inputs.tensors[xCoord.name]` (the coordinate vector) and
148
+ * `inputs.fields[gLower.name]` / `inputs.fields[gInverse.name]` (the metric
149
+ * closures) into the existing `bianchiResidualAt` FD helper.
150
+ *
151
+ * Approach (cyclic ∇R sum):
152
+ * B_{λμνρσ} = ∇_λ R_{μνρσ} + ∇_μ R_{νλρσ} + ∇_ν R_{λμρσ}
153
+ * Each ∇_λ R_{μνρσ} is computed with the four Christoffel-correction terms.
154
+ *
155
+ * @returns engine.fromNested(B, [N,N,N,N,N])
156
+ */
157
+ export declare function lowerBianchiResidual(node: BianchiResidualNode, inputs: NumericalInputs, engine: TensorEngine): EngineTensor;
158
+ /**
159
+ * Lower a `weyl-tensor` AST node to a 4-rank EngineTensor C^ρ_{σμν}.
160
+ *
161
+ * Extracted from `lowering.ts` `lowerCurvature` switch arm in v0.6.1 Phase 2.
162
+ * Implements the F-5 Weyl-formula pipeline:
163
+ *
164
+ * 1. Resolve `x`, `g`, `g_inv`, `g(x)`, `g_inv(x)` from `inputs`.
165
+ * 2. Compute Riemann R^ρ_{σμν} via `christoffelAt` + `dGammaAt` + `buildRiemann`.
166
+ * 3. Contract Ricci R_{μν} = R^λ_{μλν} via `contractRiemannJS`.
167
+ * 4. Compute Ricci scalar R = Σ_{μν} g^{μν} R_{μν}.
168
+ * 5. Assemble Weyl via `computeWeylTensor({...})` using the F-5 formula.
169
+ *
170
+ * Naming convention (must match the caller's inputs map):
171
+ * inputs.tensors[metricName] — g_{μν} at x
172
+ * inputs.tensors[metricName + '_inv'] — g^{μν} at x
173
+ * inputs.tensors['x'] — coordinate 4-vector
174
+ * inputs.fields[metricName] — coordinate-dependent g closure
175
+ * inputs.fields[metricName + '_inv'] — coordinate-dependent g^{-1} closure
176
+ *
177
+ * @returns engine.fromNested(C, [N,N,N,N])
178
+ */
179
+ export declare function lowerWeylTensor(node: WeylTensorNode, inputs: NumericalInputs, engine: TensorEngine): EngineTensor;
180
+ export {};
162
181
  //# sourceMappingURL=curvature-lowering-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"curvature-lowering-helpers.d.ts","sourceRoot":"","sources":["../../src/numerical/curvature-lowering-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curvature-lowering-helpers.d.ts","sourceRoot":"","sources":["../../src/numerical/curvature-lowering-helpers.ts"],"names":[],"mappings":"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"}