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.
- package/README.md +66 -105
- package/dist/bridges/catalog-adapter.d.ts +116 -0
- package/dist/bridges/catalog-adapter.d.ts.map +1 -0
- package/dist/bridges/catalog-adapter.js +302 -0
- package/dist/bridges/catalog-adapter.js.map +1 -0
- package/dist/bridges/equations/_be-helpers.d.ts +145 -0
- package/dist/bridges/equations/_be-helpers.d.ts.map +1 -0
- package/dist/bridges/equations/_be-helpers.js +179 -0
- package/dist/bridges/equations/_be-helpers.js.map +1 -0
- package/dist/bridges/equations/be-11-decoherence-master.d.ts +1 -2
- package/dist/bridges/equations/be-11-decoherence-master.d.ts.map +1 -1
- package/dist/bridges/equations/be-11-decoherence-master.js +9 -20
- package/dist/bridges/equations/be-11-decoherence-master.js.map +1 -1
- package/dist/bridges/equations/be-12-coherence-length.d.ts +7 -1
- package/dist/bridges/equations/be-12-coherence-length.d.ts.map +1 -1
- package/dist/bridges/equations/be-12-coherence-length.js +8 -16
- package/dist/bridges/equations/be-12-coherence-length.js.map +1 -1
- package/dist/bridges/equations/be-13-einstein-trace.d.ts +51 -3
- package/dist/bridges/equations/be-13-einstein-trace.d.ts.map +1 -1
- package/dist/bridges/equations/be-13-einstein-trace.js +74 -17
- package/dist/bridges/equations/be-13-einstein-trace.js.map +1 -1
- package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts +10 -4
- package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts.map +1 -1
- package/dist/bridges/equations/be-14-ryu-takayanagi.js +6 -17
- package/dist/bridges/equations/be-14-ryu-takayanagi.js.map +1 -1
- package/dist/bridges/equations/be-15-emergence.d.ts +7 -1
- package/dist/bridges/equations/be-15-emergence.d.ts.map +1 -1
- package/dist/bridges/equations/be-15-emergence.js +12 -22
- package/dist/bridges/equations/be-15-emergence.js.map +1 -1
- package/dist/bridges/equations/be-16-landauer.d.ts +7 -1
- package/dist/bridges/equations/be-16-landauer.d.ts.map +1 -1
- package/dist/bridges/equations/be-16-landauer.js +5 -13
- package/dist/bridges/equations/be-16-landauer.js.map +1 -1
- package/dist/bridges/equations/be-17-einstein-cartan.d.ts +26 -13
- package/dist/bridges/equations/be-17-einstein-cartan.d.ts.map +1 -1
- package/dist/bridges/equations/be-17-einstein-cartan.js +28 -31
- package/dist/bridges/equations/be-17-einstein-cartan.js.map +1 -1
- package/dist/bridges/equations/be-18-higgs-mass.d.ts +7 -1
- package/dist/bridges/equations/be-18-higgs-mass.d.ts.map +1 -1
- package/dist/bridges/equations/be-18-higgs-mass.js +5 -16
- package/dist/bridges/equations/be-18-higgs-mass.js.map +1 -1
- package/dist/bridges/equations/be-19-quantum-bounce.d.ts +38 -3
- package/dist/bridges/equations/be-19-quantum-bounce.d.ts.map +1 -1
- package/dist/bridges/equations/be-19-quantum-bounce.js +69 -20
- package/dist/bridges/equations/be-19-quantum-bounce.js.map +1 -1
- package/dist/bridges/equations/be-20-vacuum-energy.d.ts +20 -1
- package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +1 -1
- package/dist/bridges/equations/be-20-vacuum-energy.js +36 -15
- package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
- package/dist/bridges/equations/be-21-kss-bound.d.ts +2 -0
- package/dist/bridges/equations/be-21-kss-bound.d.ts.map +1 -1
- package/dist/bridges/equations/be-21-kss-bound.js +4 -10
- package/dist/bridges/equations/be-21-kss-bound.js.map +1 -1
- package/dist/bridges/equations/be-22-topological-entanglement.d.ts +6 -9
- package/dist/bridges/equations/be-22-topological-entanglement.d.ts.map +1 -1
- package/dist/bridges/equations/be-22-topological-entanglement.js +9 -21
- package/dist/bridges/equations/be-22-topological-entanglement.js.map +1 -1
- package/dist/bridges/equations/be-23-syk-planckian.d.ts +7 -1
- package/dist/bridges/equations/be-23-syk-planckian.d.ts.map +1 -1
- package/dist/bridges/equations/be-23-syk-planckian.js +11 -25
- package/dist/bridges/equations/be-23-syk-planckian.js.map +1 -1
- package/dist/bridges/equations/be-24-foerster-fret.d.ts +7 -1
- package/dist/bridges/equations/be-24-foerster-fret.d.ts.map +1 -1
- package/dist/bridges/equations/be-24-foerster-fret.js +8 -16
- package/dist/bridges/equations/be-24-foerster-fret.js.map +1 -1
- package/dist/bridges/equations/be-25-iit-phi.d.ts +7 -1
- package/dist/bridges/equations/be-25-iit-phi.d.ts.map +1 -1
- package/dist/bridges/equations/be-25-iit-phi.js +12 -16
- package/dist/bridges/equations/be-25-iit-phi.js.map +1 -1
- package/dist/bridges/equations/be-25-orch-or.d.ts +6 -3
- package/dist/bridges/equations/be-25-orch-or.d.ts.map +1 -1
- package/dist/bridges/equations/be-25-orch-or.js +8 -17
- package/dist/bridges/equations/be-25-orch-or.js.map +1 -1
- package/dist/bridges/equations/be-26-dna-tunneling.d.ts +6 -3
- package/dist/bridges/equations/be-26-dna-tunneling.d.ts.map +1 -1
- package/dist/bridges/equations/be-26-dna-tunneling.js +11 -26
- package/dist/bridges/equations/be-26-dna-tunneling.js.map +1 -1
- package/dist/bridges/equations/be-27-effective-temperature.d.ts +7 -1
- package/dist/bridges/equations/be-27-effective-temperature.d.ts.map +1 -1
- package/dist/bridges/equations/be-27-effective-temperature.js +8 -16
- package/dist/bridges/equations/be-27-effective-temperature.js.map +1 -1
- package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts +7 -1
- package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts.map +1 -1
- package/dist/bridges/equations/be-28-onsager-entropy-production.js +9 -13
- package/dist/bridges/equations/be-28-onsager-entropy-production.js.map +1 -1
- package/dist/bridges/equations/be-29-jarzynski.d.ts +7 -1
- package/dist/bridges/equations/be-29-jarzynski.d.ts.map +1 -1
- package/dist/bridges/equations/be-29-jarzynski.js +8 -13
- package/dist/bridges/equations/be-29-jarzynski.js.map +1 -1
- package/dist/bridges/equations/be-30-flm-first-law.d.ts +11 -2
- package/dist/bridges/equations/be-30-flm-first-law.d.ts.map +1 -1
- package/dist/bridges/equations/be-30-flm-first-law.js +10 -21
- package/dist/bridges/equations/be-30-flm-first-law.js.map +1 -1
- package/dist/bridges/equations/be-31-causal-set-bd.d.ts +7 -1
- package/dist/bridges/equations/be-31-causal-set-bd.d.ts.map +1 -1
- package/dist/bridges/equations/be-31-causal-set-bd.js +11 -25
- package/dist/bridges/equations/be-31-causal-set-bd.js.map +1 -1
- package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts +6 -9
- package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts.map +1 -1
- package/dist/bridges/equations/be-32-quantum-reference-frame.js +8 -18
- package/dist/bridges/equations/be-32-quantum-reference-frame.js.map +1 -1
- package/dist/bridges/equations/be-33-hertz-millis.d.ts +53 -28
- package/dist/bridges/equations/be-33-hertz-millis.d.ts.map +1 -1
- package/dist/bridges/equations/be-33-hertz-millis.js +55 -51
- package/dist/bridges/equations/be-33-hertz-millis.js.map +1 -1
- package/dist/bridges/equations/be-34-kibble-zurek.d.ts +6 -3
- package/dist/bridges/equations/be-34-kibble-zurek.d.ts.map +1 -1
- package/dist/bridges/equations/be-34-kibble-zurek.js +15 -26
- package/dist/bridges/equations/be-34-kibble-zurek.js.map +1 -1
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +6 -9
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +1 -1
- package/dist/bridges/equations/be-35-conformal-bootstrap.js +9 -21
- package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +1 -1
- package/dist/bridges/equations/be-36-gw-speed-bound.d.ts +7 -1
- package/dist/bridges/equations/be-36-gw-speed-bound.d.ts.map +1 -1
- package/dist/bridges/equations/be-36-gw-speed-bound.js +5 -13
- package/dist/bridges/equations/be-36-gw-speed-bound.js.map +1 -1
- package/dist/bridges/equations/be-37-shapiro-delay.d.ts +4 -2
- package/dist/bridges/equations/be-37-shapiro-delay.d.ts.map +1 -1
- package/dist/bridges/equations/be-37-shapiro-delay.js +22 -37
- package/dist/bridges/equations/be-37-shapiro-delay.js.map +1 -1
- package/dist/bridges/equations/be-38-mond.d.ts +7 -1
- package/dist/bridges/equations/be-38-mond.d.ts.map +1 -1
- package/dist/bridges/equations/be-38-mond.js +9 -19
- package/dist/bridges/equations/be-38-mond.js.map +1 -1
- package/dist/bridges/equations/be-39-asymptotic-safety.d.ts +66 -2
- package/dist/bridges/equations/be-39-asymptotic-safety.d.ts.map +1 -1
- package/dist/bridges/equations/be-39-asymptotic-safety.js +128 -20
- package/dist/bridges/equations/be-39-asymptotic-safety.js.map +1 -1
- package/dist/bridges/equations/be-40-composite-higgs.d.ts +7 -1
- package/dist/bridges/equations/be-40-composite-higgs.d.ts.map +1 -1
- package/dist/bridges/equations/be-40-composite-higgs.js +10 -22
- package/dist/bridges/equations/be-40-composite-higgs.js.map +1 -1
- package/dist/bridges/equations/be-41-swampland.d.ts +6 -3
- package/dist/bridges/equations/be-41-swampland.d.ts.map +1 -1
- package/dist/bridges/equations/be-41-swampland.js +11 -23
- package/dist/bridges/equations/be-41-swampland.js.map +1 -1
- package/dist/bridges/equations/be-42-hawking-temperature.d.ts +2 -0
- package/dist/bridges/equations/be-42-hawking-temperature.d.ts.map +1 -1
- package/dist/bridges/equations/be-42-hawking-temperature.js +5 -13
- package/dist/bridges/equations/be-42-hawking-temperature.js.map +1 -1
- package/dist/bridges/equations/be-43-er-epr.d.ts +7 -1
- package/dist/bridges/equations/be-43-er-epr.d.ts.map +1 -1
- package/dist/bridges/equations/be-43-er-epr.js +5 -13
- package/dist/bridges/equations/be-43-er-epr.js.map +1 -1
- package/dist/bridges/equations/be-44-soft-hair.d.ts +7 -1
- package/dist/bridges/equations/be-44-soft-hair.d.ts.map +1 -1
- package/dist/bridges/equations/be-44-soft-hair.js +5 -13
- package/dist/bridges/equations/be-44-soft-hair.js.map +1 -1
- package/dist/bridges/equations/be-45-tcc.d.ts +7 -1
- package/dist/bridges/equations/be-45-tcc.d.ts.map +1 -1
- package/dist/bridges/equations/be-45-tcc.js +10 -22
- package/dist/bridges/equations/be-45-tcc.js.map +1 -1
- package/dist/bridges/equations/be-46-multiverse-measure.d.ts +7 -1
- package/dist/bridges/equations/be-46-multiverse-measure.d.ts.map +1 -1
- package/dist/bridges/equations/be-46-multiverse-measure.js +9 -19
- package/dist/bridges/equations/be-46-multiverse-measure.js.map +1 -1
- package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts +7 -1
- package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts.map +1 -1
- package/dist/bridges/equations/be-47-bbn-dark-sector.js +14 -16
- package/dist/bridges/equations/be-47-bbn-dark-sector.js.map +1 -1
- package/dist/bridges/equations/be-48-grw-localization.d.ts +7 -1
- package/dist/bridges/equations/be-48-grw-localization.d.ts.map +1 -1
- package/dist/bridges/equations/be-48-grw-localization.js +15 -20
- package/dist/bridges/equations/be-48-grw-localization.js.map +1 -1
- package/dist/bridges/equations/be-49-quantum-darwinism.d.ts +7 -1
- package/dist/bridges/equations/be-49-quantum-darwinism.d.ts.map +1 -1
- package/dist/bridges/equations/be-49-quantum-darwinism.js +10 -22
- package/dist/bridges/equations/be-49-quantum-darwinism.js.map +1 -1
- package/dist/bridges/equations/be-50-wheeler-feynman.d.ts +42 -12
- package/dist/bridges/equations/be-50-wheeler-feynman.d.ts.map +1 -1
- package/dist/bridges/equations/be-50-wheeler-feynman.js +84 -20
- package/dist/bridges/equations/be-50-wheeler-feynman.js.map +1 -1
- package/dist/bridges/equations/be-53-yang-mills-beta.d.ts +158 -0
- package/dist/bridges/equations/be-53-yang-mills-beta.d.ts.map +1 -0
- package/dist/bridges/equations/be-53-yang-mills-beta.js +175 -0
- package/dist/bridges/equations/be-53-yang-mills-beta.js.map +1 -0
- package/dist/bridges/equations/be-54-randall-sundrum-brane.d.ts +117 -0
- package/dist/bridges/equations/be-54-randall-sundrum-brane.d.ts.map +1 -0
- package/dist/bridges/equations/be-54-randall-sundrum-brane.js +213 -0
- package/dist/bridges/equations/be-54-randall-sundrum-brane.js.map +1 -0
- package/dist/bridges/gravitational-lensing.d.ts +13 -2
- package/dist/bridges/gravitational-lensing.d.ts.map +1 -1
- package/dist/bridges/gravitational-lensing.js +17 -6
- package/dist/bridges/gravitational-lensing.js.map +1 -1
- package/dist/bridges/index.d.ts +40 -1
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +130 -48
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/perihelion-precession-labeled.d.ts +46 -0
- package/dist/bridges/perihelion-precession-labeled.d.ts.map +1 -0
- package/dist/bridges/perihelion-precession-labeled.js +54 -0
- package/dist/bridges/perihelion-precession-labeled.js.map +1 -0
- package/dist/bridges/perihelion-precession.d.ts +18 -3
- package/dist/bridges/perihelion-precession.d.ts.map +1 -1
- package/dist/bridges/perihelion-precession.js +22 -8
- package/dist/bridges/perihelion-precession.js.map +1 -1
- package/dist/core/axes-registry.d.ts +67 -0
- package/dist/core/axes-registry.d.ts.map +1 -0
- package/dist/core/axes-registry.js +75 -0
- package/dist/core/axes-registry.js.map +1 -0
- package/dist/core/cell.d.ts +176 -0
- package/dist/core/cell.d.ts.map +1 -0
- package/dist/core/cell.js +166 -0
- package/dist/core/cell.js.map +1 -0
- package/dist/core/constants.d.ts +50 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +50 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/flux-rules.d.ts +176 -0
- package/dist/core/flux-rules.d.ts.map +1 -0
- package/dist/core/flux-rules.js +329 -0
- package/dist/core/flux-rules.js.map +1 -0
- package/dist/core/labeled-tensor.d.ts +143 -0
- package/dist/core/labeled-tensor.d.ts.map +1 -0
- package/dist/core/labeled-tensor.js +275 -0
- package/dist/core/labeled-tensor.js.map +1 -0
- package/dist/core/regime-registry.d.ts +169 -0
- package/dist/core/regime-registry.d.ts.map +1 -0
- package/dist/core/regime-registry.js +174 -0
- package/dist/core/regime-registry.js.map +1 -0
- package/dist/core/regime-rule-install.d.ts +26 -0
- package/dist/core/regime-rule-install.d.ts.map +1 -0
- package/dist/core/regime-rule-install.js +90 -0
- package/dist/core/regime-rule-install.js.map +1 -0
- package/dist/core/regimes-builtins.d.ts +22 -0
- package/dist/core/regimes-builtins.d.ts.map +1 -0
- package/dist/core/regimes-builtins.js +96 -0
- package/dist/core/regimes-builtins.js.map +1 -0
- package/dist/core/tensor.d.ts +112 -0
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +366 -0
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +7 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/universal-index.d.ts +97 -0
- package/dist/core/universal-index.d.ts.map +1 -0
- package/dist/core/universal-index.js +70 -0
- package/dist/core/universal-index.js.map +1 -0
- package/dist/diff/bridge-gradient.d.ts +94 -0
- package/dist/diff/bridge-gradient.d.ts.map +1 -0
- package/dist/diff/bridge-gradient.js +83 -0
- package/dist/diff/bridge-gradient.js.map +1 -0
- package/dist/diff/bridge-specs.d.ts +68 -0
- package/dist/diff/bridge-specs.d.ts.map +1 -0
- package/dist/diff/bridge-specs.js +96 -0
- package/dist/diff/bridge-specs.js.map +1 -0
- package/dist/dimensional/bridge-check.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.js +8 -0
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/connection-validators.d.ts +13 -6
- package/dist/dimensional/connection-validators.d.ts.map +1 -1
- package/dist/dimensional/connection-validators.js +1 -1
- package/dist/dimensional/connection-validators.js.map +1 -1
- package/dist/dimensional/curvature-composite.d.ts +90 -0
- package/dist/dimensional/curvature-composite.d.ts.map +1 -0
- package/dist/dimensional/curvature-composite.js +57 -0
- package/dist/dimensional/curvature-composite.js.map +1 -0
- package/dist/dimensional/curvature-invariants.d.ts +90 -0
- package/dist/dimensional/curvature-invariants.d.ts.map +1 -0
- package/dist/dimensional/curvature-invariants.js +64 -0
- package/dist/dimensional/curvature-invariants.js.map +1 -0
- package/dist/dimensional/curvature.d.ts +82 -41
- package/dist/dimensional/curvature.d.ts.map +1 -1
- package/dist/dimensional/curvature.js +19 -11
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/einstein-equation.d.ts +126 -0
- package/dist/dimensional/einstein-equation.d.ts.map +1 -0
- package/dist/dimensional/einstein-equation.js +122 -0
- package/dist/dimensional/einstein-equation.js.map +1 -0
- package/dist/dimensional/field-equation-helpers.d.ts +82 -0
- package/dist/dimensional/field-equation-helpers.d.ts.map +1 -0
- package/dist/dimensional/field-equation-helpers.js +123 -0
- package/dist/dimensional/field-equation-helpers.js.map +1 -0
- package/dist/dimensional/friedmann-equation.d.ts +148 -0
- package/dist/dimensional/friedmann-equation.d.ts.map +1 -0
- package/dist/dimensional/friedmann-equation.js +150 -0
- package/dist/dimensional/friedmann-equation.js.map +1 -0
- package/dist/dimensional/gauge-field.d.ts +182 -0
- package/dist/dimensional/gauge-field.d.ts.map +1 -0
- package/dist/dimensional/gauge-field.js +134 -0
- package/dist/dimensional/gauge-field.js.map +1 -0
- package/dist/dimensional/killing-validators.d.ts +94 -0
- package/dist/dimensional/killing-validators.d.ts.map +1 -0
- package/dist/dimensional/killing-validators.js +66 -0
- package/dist/dimensional/killing-validators.js.map +1 -0
- package/dist/dimensional/klein-gordon-equation.d.ts +113 -0
- package/dist/dimensional/klein-gordon-equation.d.ts.map +1 -0
- package/dist/dimensional/klein-gordon-equation.js +98 -0
- package/dist/dimensional/klein-gordon-equation.js.map +1 -0
- package/dist/dimensional/rg-flow.d.ts +156 -0
- package/dist/dimensional/rg-flow.d.ts.map +1 -0
- package/dist/dimensional/rg-flow.js +150 -0
- package/dist/dimensional/rg-flow.js.map +1 -0
- package/dist/dimensional/stress-energy-validators.d.ts +74 -0
- package/dist/dimensional/stress-energy-validators.d.ts.map +1 -0
- package/dist/dimensional/stress-energy-validators.js +47 -0
- package/dist/dimensional/stress-energy-validators.js.map +1 -0
- package/dist/dimensional/tensor-trace.d.ts +128 -0
- package/dist/dimensional/tensor-trace.d.ts.map +1 -0
- package/dist/dimensional/tensor-trace.js +95 -0
- package/dist/dimensional/tensor-trace.js.map +1 -0
- package/dist/dimensional/tensor.d.ts +6 -8
- package/dist/dimensional/tensor.d.ts.map +1 -1
- package/dist/dimensional/tensor.js +3 -1
- package/dist/dimensional/tensor.js.map +1 -1
- package/dist/dimensional/validator-registry.d.ts +90 -0
- package/dist/dimensional/validator-registry.d.ts.map +1 -0
- package/dist/dimensional/validator-registry.js +131 -0
- package/dist/dimensional/validator-registry.js.map +1 -0
- package/dist/dimensional/validator.d.ts +12 -2
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +60 -75
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/dimensional/weyl-validators.d.ts +84 -0
- package/dist/dimensional/weyl-validators.d.ts.map +1 -0
- package/dist/dimensional/weyl-validators.js +84 -0
- package/dist/dimensional/weyl-validators.js.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -1
- package/dist/numerical/be37-covariant-eikonal.d.ts +37 -2
- package/dist/numerical/be37-covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/be37-covariant-eikonal.js +51 -14
- package/dist/numerical/be37-covariant-eikonal.js.map +1 -1
- package/dist/numerical/christoffel-flat.d.ts +49 -0
- package/dist/numerical/christoffel-flat.d.ts.map +1 -0
- package/dist/numerical/christoffel-flat.js +86 -0
- package/dist/numerical/christoffel-flat.js.map +1 -0
- package/dist/numerical/curvature-lowering-helpers.d.ts +76 -57
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +203 -64
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/derivative-lowering.d.ts +67 -0
- package/dist/numerical/derivative-lowering.d.ts.map +1 -0
- package/dist/numerical/derivative-lowering.js +243 -0
- package/dist/numerical/derivative-lowering.js.map +1 -0
- package/dist/numerical/einstein-equation.d.ts +106 -0
- package/dist/numerical/einstein-equation.d.ts.map +1 -0
- package/dist/numerical/einstein-equation.js +172 -0
- package/dist/numerical/einstein-equation.js.map +1 -0
- package/dist/numerical/engine-registry.js +4 -4
- package/dist/numerical/engine-registry.js.map +1 -1
- package/dist/numerical/geodesic-integrator.d.ts +7 -4
- package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
- package/dist/numerical/geodesic-integrator.js +5 -1
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +57 -9
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +63 -16
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/killing.d.ts +157 -0
- package/dist/numerical/killing.d.ts.map +1 -0
- package/dist/numerical/killing.js +242 -0
- package/dist/numerical/killing.js.map +1 -0
- package/dist/numerical/kretschmann.d.ts +62 -0
- package/dist/numerical/kretschmann.d.ts.map +1 -0
- package/dist/numerical/kretschmann.js +88 -0
- package/dist/numerical/kretschmann.js.map +1 -0
- package/dist/numerical/lowering-utils.d.ts +47 -0
- package/dist/numerical/lowering-utils.d.ts.map +1 -0
- package/dist/numerical/lowering-utils.js +64 -0
- package/dist/numerical/lowering-utils.js.map +1 -0
- package/dist/numerical/lowering.d.ts +1 -29
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +226 -415
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.js +8 -8
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.d.ts.map +1 -1
- package/dist/numerical/metric-inverse.js +28 -0
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.d.ts +40 -0
- package/dist/numerical/null-ic.d.ts.map +1 -0
- package/dist/numerical/null-ic.js +50 -0
- package/dist/numerical/null-ic.js.map +1 -0
- package/dist/numerical/null-ray-integrator.d.ts +3 -2
- package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
- package/dist/numerical/null-ray-integrator.js +6 -3
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.d.ts +74 -0
- package/dist/numerical/painleve-gullstrand-metric.d.ts.map +1 -0
- package/dist/numerical/painleve-gullstrand-metric.js +121 -0
- package/dist/numerical/painleve-gullstrand-metric.js.map +1 -0
- package/dist/numerical/pderiv.d.ts +35 -3
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +47 -12
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.d.ts +57 -0
- package/dist/numerical/perihelion-finder.d.ts.map +1 -1
- package/dist/numerical/perihelion-finder.js +57 -0
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +2 -2
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/weyl-lowering.d.ts +60 -0
- package/dist/numerical/weyl-lowering.d.ts.map +1 -0
- package/dist/numerical/weyl-lowering.js +111 -0
- package/dist/numerical/weyl-lowering.js.map +1 -0
- package/package.json +9 -7
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Curvature composite-AST factory (v0.6.0 Phase 3, Task 3.9).
|
|
3
|
+
*
|
|
4
|
+
* PD-6 trigger fires: Weyl is the 5th curvature primitive (after
|
|
5
|
+
* Riemann/Ricci/Einstein/Bianchi from v0.5.0). The 4-kind parallel
|
|
6
|
+
* duplication is now extracted into a shared factory.
|
|
7
|
+
*
|
|
8
|
+
* Net LOC change: −180 (per design Decision #5).
|
|
9
|
+
*
|
|
10
|
+
* P-1 fix: `CurvatureCompositeNode<K, S>` is an intersection type, not an
|
|
11
|
+
* interface with an unused S. Without the intersection, the per-kind
|
|
12
|
+
* slot type-safety would silently drop (the S parameter would be
|
|
13
|
+
* decorative and TypeScript would not compose it into the result).
|
|
14
|
+
*
|
|
15
|
+
* @module dimensional/curvature-composite
|
|
16
|
+
*/
|
|
17
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
18
|
+
// CURVATURE_KIND_REGISTRY
|
|
19
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
20
|
+
/**
|
|
21
|
+
* Registry mapping each `CurvatureKind` to its shape + dimensional spec.
|
|
22
|
+
*
|
|
23
|
+
* Used by:
|
|
24
|
+
* - Tests: to assert all 6 kinds are registered and that Riemann + Weyl
|
|
25
|
+
* share the rank-4 shape (refactor-only invariant).
|
|
26
|
+
* - Future lowering consolidation: `CURVATURE_KIND_REGISTRY[node.kind]`
|
|
27
|
+
* can supply common validation data without per-kind duplication.
|
|
28
|
+
*
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
export const CURVATURE_KIND_REGISTRY = {
|
|
32
|
+
'riemann-tensor': {
|
|
33
|
+
freeIndicesShape: 'rank-4-1upper-3lower',
|
|
34
|
+
componentDim: { L: -2, M: 0, T: 0, I: 0, Theta: 0, N: 0, J: 0 },
|
|
35
|
+
},
|
|
36
|
+
'ricci-tensor': {
|
|
37
|
+
freeIndicesShape: 'rank-2-lower-lower',
|
|
38
|
+
componentDim: { L: -2, M: 0, T: 0, I: 0, Theta: 0, N: 0, J: 0 },
|
|
39
|
+
},
|
|
40
|
+
'einstein-tensor': {
|
|
41
|
+
freeIndicesShape: 'rank-2-lower-lower',
|
|
42
|
+
componentDim: { L: -2, M: 0, T: 0, I: 0, Theta: 0, N: 0, J: 0 },
|
|
43
|
+
},
|
|
44
|
+
'bianchi-residual': {
|
|
45
|
+
freeIndicesShape: 'rank-3-lower',
|
|
46
|
+
componentDim: { L: -3, M: 0, T: 0, I: 0, Theta: 0, N: 0, J: 0 },
|
|
47
|
+
},
|
|
48
|
+
'weyl-tensor': {
|
|
49
|
+
freeIndicesShape: 'rank-4-1upper-3lower',
|
|
50
|
+
componentDim: { L: -2, M: 0, T: 0, I: 0, Theta: 0, N: 0, J: 0 },
|
|
51
|
+
},
|
|
52
|
+
'kretschmann-scalar': {
|
|
53
|
+
freeIndicesShape: 'scalar',
|
|
54
|
+
componentDim: { L: -4, M: 0, T: 0, I: 0, Theta: 0, N: 0, J: 0 },
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=curvature-composite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curvature-composite.js","sourceRoot":"","sources":["../../src/dimensional/curvature-composite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAsDH,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA6C;IAC/E,gBAAgB,EAAE;QAChB,gBAAgB,EAAE,sBAAsB;QACxC,YAAY,EAAE,EAAE,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,EAAE;KAChE;IACD,cAAc,EAAE;QACd,gBAAgB,EAAE,oBAAoB;QACtC,YAAY,EAAE,EAAE,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,EAAE;KAChE;IACD,iBAAiB,EAAE;QACjB,gBAAgB,EAAE,oBAAoB;QACtC,YAAY,EAAE,EAAE,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,EAAE;KAChE;IACD,kBAAkB,EAAE;QAClB,gBAAgB,EAAE,cAAc;QAChC,YAAY,EAAE,EAAE,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,EAAE;KAChE;IACD,aAAa,EAAE;QACb,gBAAgB,EAAE,sBAAsB;QACxC,YAAY,EAAE,EAAE,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,EAAE;KAChE;IACD,oBAAoB,EAAE;QACpB,gBAAgB,EAAE,QAAQ;QAC1B,YAAY,EAAE,EAAE,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,EAAE;KAChE;CACF,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kretschmann scalar AST node + validator (v0.6.0 Phase 3, Task 3.5).
|
|
3
|
+
*
|
|
4
|
+
* The Kretschmann scalar (also spelled "Kretschner") is the quadratic
|
|
5
|
+
* curvature invariant:
|
|
6
|
+
*
|
|
7
|
+
* K = R_{ρσμν} R^{ρσμν}
|
|
8
|
+
*
|
|
9
|
+
* formed by full contraction of the Riemann tensor with itself (all four
|
|
10
|
+
* indices raised on the second factor via the inverse metric). K is a
|
|
11
|
+
* genuine spacetime scalar — coordinate-independent, diff-invariant — and
|
|
12
|
+
* the canonical diagnostic for curvature-singularity detection: K diverges
|
|
13
|
+
* at genuine singularities (Schwarzschild r→0) but is finite at coordinate
|
|
14
|
+
* singularities (Schwarzschild r=r_s).
|
|
15
|
+
*
|
|
16
|
+
* Closed-form for Schwarzschild: K(r) = 48 G² M² / (c⁴ r⁶).
|
|
17
|
+
*
|
|
18
|
+
* Dimensional analysis:
|
|
19
|
+
* - Riemann component: [L⁻²] (F8/I3 convention in connection-validators.ts)
|
|
20
|
+
* - K = R × R: [L⁻²] × [L⁻²] = [L⁻⁴]
|
|
21
|
+
*
|
|
22
|
+
* Mirrors the WeylTensorNode pattern in weyl-validators.ts — own validator
|
|
23
|
+
* function; wired via case arm in validator.ts + lowering stub in lowering.ts.
|
|
24
|
+
*
|
|
25
|
+
* @module dimensional/curvature-invariants
|
|
26
|
+
*/
|
|
27
|
+
import type { Dimension } from './types.js';
|
|
28
|
+
import type { RiemannTensorNode } from './connection-validators.js';
|
|
29
|
+
import type { MetricTensorNode } from './metric-validators.js';
|
|
30
|
+
import type { CurvatureCompositeNode } from './curvature-composite.js';
|
|
31
|
+
/**
|
|
32
|
+
* AST node for the Kretschmann scalar K = R_{ρσμν} R^{ρσμν}.
|
|
33
|
+
*
|
|
34
|
+
* `riemann`: the Riemann tensor being contracted with itself. The validator
|
|
35
|
+
* re-enters its own validator so structural checks (index variance,
|
|
36
|
+
* metric signature) fire for the embedded sub-node.
|
|
37
|
+
*
|
|
38
|
+
* `metric`: the metric tensor used to raise all four indices on the second
|
|
39
|
+
* copy of Riemann. Present for downstream numerical consumers
|
|
40
|
+
* (computeKretschmann in src/numerical/kretschmann.ts). Its free indices
|
|
41
|
+
* are NOT propagated by the validator (H1 — consumed internally).
|
|
42
|
+
*
|
|
43
|
+
* `componentDim`: [L⁻⁴] — Riemann [L⁻²] squared, hard-coded per F8/I3.
|
|
44
|
+
*
|
|
45
|
+
* @public
|
|
46
|
+
*/
|
|
47
|
+
/**
|
|
48
|
+
* v0.6.0 Task 3.10d: KretschmannScalarNode expressed via CurvatureCompositeNode<K, S>.
|
|
49
|
+
* The runtime shape is identical — pure type-alias migration.
|
|
50
|
+
*/
|
|
51
|
+
export type KretschmannScalarNode = CurvatureCompositeNode<'kretschmann-scalar', {
|
|
52
|
+
/** Riemann tensor R^ρ_{σμν}. Both copies of R in the contraction originate
|
|
53
|
+
* from this node — the validator and lowering layer each duplicate as needed. */
|
|
54
|
+
readonly riemann: RiemannTensorNode;
|
|
55
|
+
/** Metric (both-lower preferred, though the numerical layer only needs gInverse).
|
|
56
|
+
* Present for downstream `computeKretschmann` consumers. */
|
|
57
|
+
readonly metric: MetricTensorNode;
|
|
58
|
+
}>;
|
|
59
|
+
/**
|
|
60
|
+
* Result of validating a KretschmannScalarNode.
|
|
61
|
+
* @public
|
|
62
|
+
*/
|
|
63
|
+
export interface KretschmannScalarValidationResult {
|
|
64
|
+
/** [L⁻⁴] — Kretschmann is Riemann-squared in dimension. */
|
|
65
|
+
readonly dim: Dimension;
|
|
66
|
+
/** Empty: K is a scalar (rank-0, all indices contracted). */
|
|
67
|
+
readonly freeIndices: Map<string, {
|
|
68
|
+
upper: number;
|
|
69
|
+
lower: number;
|
|
70
|
+
}>;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Validate a `kretschmann-scalar` node.
|
|
74
|
+
*
|
|
75
|
+
* Re-enters `validateRiemannTensor` for the embedded `riemann` sub-node
|
|
76
|
+
* (so its index-variance, metric-signature, and label-disjointness checks
|
|
77
|
+
* all fire). Discards the Riemann's free-index map — K is a full contraction
|
|
78
|
+
* and every index disappears. Mirrors the `validateRicciTensor` pattern in
|
|
79
|
+
* curvature.ts for embedded-Riemann structural validation.
|
|
80
|
+
*
|
|
81
|
+
* Throws:
|
|
82
|
+
* - Everything `validateRiemannTensor` throws (PartialDerivativeIndexVarianceError,
|
|
83
|
+
* MetricSignatureError, IndexLabelCollisionError) propagated from the
|
|
84
|
+
* embedded Riemann check.
|
|
85
|
+
*
|
|
86
|
+
* Returns:
|
|
87
|
+
* - `{ dim: [L⁻⁴], freeIndices: empty Map }` — scalar, no free indices.
|
|
88
|
+
*/
|
|
89
|
+
export declare function validateKretschmannScalar(node: KretschmannScalarNode): KretschmannScalarValidationResult;
|
|
90
|
+
//# sourceMappingURL=curvature-invariants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curvature-invariants.d.ts","sourceRoot":"","sources":["../../src/dimensional/curvature-invariants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAMvE;;;;;;;;;;;;;;;GAeG;AACH;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,oBAAoB,EAAE;IAC/E;sFACkF;IAClF,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC;iEAC6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,WAAW,iCAAiC;IAChD,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE;AAQD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,qBAAqB,GAC1B,iCAAiC,CAcnC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kretschmann scalar AST node + validator (v0.6.0 Phase 3, Task 3.5).
|
|
3
|
+
*
|
|
4
|
+
* The Kretschmann scalar (also spelled "Kretschner") is the quadratic
|
|
5
|
+
* curvature invariant:
|
|
6
|
+
*
|
|
7
|
+
* K = R_{ρσμν} R^{ρσμν}
|
|
8
|
+
*
|
|
9
|
+
* formed by full contraction of the Riemann tensor with itself (all four
|
|
10
|
+
* indices raised on the second factor via the inverse metric). K is a
|
|
11
|
+
* genuine spacetime scalar — coordinate-independent, diff-invariant — and
|
|
12
|
+
* the canonical diagnostic for curvature-singularity detection: K diverges
|
|
13
|
+
* at genuine singularities (Schwarzschild r→0) but is finite at coordinate
|
|
14
|
+
* singularities (Schwarzschild r=r_s).
|
|
15
|
+
*
|
|
16
|
+
* Closed-form for Schwarzschild: K(r) = 48 G² M² / (c⁴ r⁶).
|
|
17
|
+
*
|
|
18
|
+
* Dimensional analysis:
|
|
19
|
+
* - Riemann component: [L⁻²] (F8/I3 convention in connection-validators.ts)
|
|
20
|
+
* - K = R × R: [L⁻²] × [L⁻²] = [L⁻⁴]
|
|
21
|
+
*
|
|
22
|
+
* Mirrors the WeylTensorNode pattern in weyl-validators.ts — own validator
|
|
23
|
+
* function; wired via case arm in validator.ts + lowering stub in lowering.ts.
|
|
24
|
+
*
|
|
25
|
+
* @module dimensional/curvature-invariants
|
|
26
|
+
*/
|
|
27
|
+
import { validateRiemannTensor } from './connection-validators.js';
|
|
28
|
+
/**
|
|
29
|
+
* Dimension literal for [L⁻⁴].
|
|
30
|
+
* Kept module-private; callers receive it through the return value.
|
|
31
|
+
*/
|
|
32
|
+
const DIM_L_NEG4 = { L: -4, M: 0, T: 0, I: 0, Theta: 0, N: 0, J: 0 };
|
|
33
|
+
/**
|
|
34
|
+
* Validate a `kretschmann-scalar` node.
|
|
35
|
+
*
|
|
36
|
+
* Re-enters `validateRiemannTensor` for the embedded `riemann` sub-node
|
|
37
|
+
* (so its index-variance, metric-signature, and label-disjointness checks
|
|
38
|
+
* all fire). Discards the Riemann's free-index map — K is a full contraction
|
|
39
|
+
* and every index disappears. Mirrors the `validateRicciTensor` pattern in
|
|
40
|
+
* curvature.ts for embedded-Riemann structural validation.
|
|
41
|
+
*
|
|
42
|
+
* Throws:
|
|
43
|
+
* - Everything `validateRiemannTensor` throws (PartialDerivativeIndexVarianceError,
|
|
44
|
+
* MetricSignatureError, IndexLabelCollisionError) propagated from the
|
|
45
|
+
* embedded Riemann check.
|
|
46
|
+
*
|
|
47
|
+
* Returns:
|
|
48
|
+
* - `{ dim: [L⁻⁴], freeIndices: empty Map }` — scalar, no free indices.
|
|
49
|
+
*/
|
|
50
|
+
export function validateKretschmannScalar(node) {
|
|
51
|
+
// Re-validate the embedded Riemann. We pass node.riemann directly to
|
|
52
|
+
// validateRiemannTensor (not via a callback, since KretschmannScalarNode
|
|
53
|
+
// does not need to thread an infer() context for its sub-nodes — it only
|
|
54
|
+
// needs the structural checks to fire, and the Riemann validator is
|
|
55
|
+
// self-contained). Mirrors the validateRicciTensor invocation in
|
|
56
|
+
// curvature.ts:validateRicciTensor.
|
|
57
|
+
validateRiemannTensor(node.riemann);
|
|
58
|
+
// K is a scalar: no free indices.
|
|
59
|
+
return {
|
|
60
|
+
dim: DIM_L_NEG4,
|
|
61
|
+
freeIndices: new Map(),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=curvature-invariants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curvature-invariants.js","sourceRoot":"","sources":["../../src/dimensional/curvature-invariants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAgDnE;;;GAGG;AACH,MAAM,UAAU,GAAc,EAAE,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,EAAE,CAAC;AAEhF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAA2B;IAE3B,qEAAqE;IACrE,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,iEAAiE;IACjE,oCAAoC;IACpC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEpC,kCAAkC;IAClC,OAAO;QACL,GAAG,EAAE,UAAU;QACf,WAAW,EAAE,IAAI,GAAG,EAAE;KACvB,CAAC;AACJ,CAAC"}
|
|
@@ -20,14 +20,58 @@ import type { Dimension } from './types.js';
|
|
|
20
20
|
import type { ExprNode } from './validator.js';
|
|
21
21
|
import type { RiemannTensorNode } from './connection-validators.js';
|
|
22
22
|
import type { MetricTensorNode } from './metric-validators.js';
|
|
23
|
+
import type { CurvatureCompositeNode } from './curvature-composite.js';
|
|
24
|
+
import type { TensorEngine } from '../numerical/tensor-engine.js';
|
|
25
|
+
import type { NumericalInputs, NestedArray } from '../numerical/types.js';
|
|
26
|
+
/**
|
|
27
|
+
* Shared callback shape used by every pattern-B validator (`validate
|
|
28
|
+
* RicciTensor`, `validateEinsteinTensor`, `validateBianchiResidual`).
|
|
29
|
+
*
|
|
30
|
+
* The callback re-enters the Riemann validator for an embedded
|
|
31
|
+
* `RiemannTensorNode`, returning the validated `{dim, freeIndices}`
|
|
32
|
+
* pair without the surrounding validator-result envelope (the caller
|
|
33
|
+
* is responsible for merging or discarding the free-index map per
|
|
34
|
+
* the contraction it is performing).
|
|
35
|
+
*
|
|
36
|
+
* Co-located here with the three consumer functions (rather than in
|
|
37
|
+
* `validator-registry.ts`) to avoid a `curvature.ts ↔ validator-
|
|
38
|
+
* registry.ts` import cycle — the registry imports the validators
|
|
39
|
+
* from this module, so this module must own the callback type.
|
|
40
|
+
*
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export type RiemannChildCallback = (child: RiemannTensorNode) => {
|
|
44
|
+
dim: Dimension;
|
|
45
|
+
freeIndices: Map<string, {
|
|
46
|
+
upper: number;
|
|
47
|
+
lower: number;
|
|
48
|
+
}>;
|
|
49
|
+
};
|
|
23
50
|
/**
|
|
24
51
|
* v0.5.0 Task 7: Ricci tensor AST node R_μν.
|
|
25
52
|
*
|
|
26
53
|
* Internally wraps a RiemannTensorNode and represents the contraction
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
54
|
+
*
|
|
55
|
+
* R_μν = R^λ_{μλν} (Carroll Eq. 3.91)
|
|
56
|
+
*
|
|
57
|
+
* Index-map on the wrapped Riemann (R^ρ_σμν per RiemannTensorNode):
|
|
58
|
+
*
|
|
59
|
+
* R^ρ σ μ ν
|
|
60
|
+
* │ │ │ │
|
|
61
|
+
* │ │ └── lowerIndices[1] = the dummy contraction slot (λ)
|
|
62
|
+
* │ │ contracts against upperIndex.label (ρ ↔ λ)
|
|
63
|
+
* │ └── lowerIndices[0] = free output index #1 (μ_out, lower)
|
|
64
|
+
* └── upperIndex (ρ) — contracts against lowerIndices[1]
|
|
65
|
+
* lowerIndices[2] = free output index #2 (ν_out, lower)
|
|
66
|
+
*
|
|
67
|
+
* After contraction: R_μν free indices = {μ_out: lower, ν_out: lower}, dim {L: -2}.
|
|
68
|
+
*
|
|
69
|
+
* NOTE (post-S1 correction, commit `76628c4`): prior to v0.5.0 Task 7 this
|
|
70
|
+
* docstring incorrectly said `lowerIndices[0]` was the dummy slot. Carroll
|
|
71
|
+
* Eq. 3.91 contracts on the SECOND lower (the μ slot in R^ρ_σμν), giving
|
|
72
|
+
* R_σν after the contraction. The implementation in `validateRicciTensor`
|
|
73
|
+
* below (lines ~87-101) is the authoritative reference. See memory entry
|
|
74
|
+
* `feedback_v0_5_0_ricci_contraction_bug.md` for the bug history.
|
|
31
75
|
*
|
|
32
76
|
* The node is its own validation arm in validator.ts and its own lowering
|
|
33
77
|
* arm in numerical/lowering.ts — same pattern as RiemannTensorNode (no
|
|
@@ -35,11 +79,14 @@ import type { MetricTensorNode } from './metric-validators.js';
|
|
|
35
79
|
*
|
|
36
80
|
* @public
|
|
37
81
|
*/
|
|
38
|
-
|
|
39
|
-
|
|
82
|
+
/**
|
|
83
|
+
* v0.6.0 Task 3.10b: RicciTensorNode expressed via CurvatureCompositeNode<K, S>.
|
|
84
|
+
* The runtime shape is identical — pure type-alias migration.
|
|
85
|
+
*/
|
|
86
|
+
export type RicciTensorNode = CurvatureCompositeNode<'ricci-tensor', {
|
|
40
87
|
/** The Riemann tensor whose first two slots are contracted. */
|
|
41
88
|
readonly riemann: RiemannTensorNode;
|
|
42
|
-
}
|
|
89
|
+
}>;
|
|
43
90
|
/**
|
|
44
91
|
* Result of validating a RicciTensorNode.
|
|
45
92
|
* @public
|
|
@@ -68,13 +115,7 @@ export interface RicciTensorValidationResult {
|
|
|
68
115
|
* `R_μν = R^λ_{μλν}`), and the surviving σ / ν slots become the new
|
|
69
116
|
* free indices of the Ricci tensor.
|
|
70
117
|
*/
|
|
71
|
-
export declare function validateRicciTensor(node: RicciTensorNode, validateRiemannChild:
|
|
72
|
-
dim: Dimension;
|
|
73
|
-
freeIndices: Map<string, {
|
|
74
|
-
upper: number;
|
|
75
|
-
lower: number;
|
|
76
|
-
}>;
|
|
77
|
-
}): RicciTensorValidationResult;
|
|
118
|
+
export declare function validateRicciTensor(node: RicciTensorNode, validateRiemannChild: RiemannChildCallback): RicciTensorValidationResult;
|
|
78
119
|
/**
|
|
79
120
|
* Build the Ricci tensor R_μν = R^λ_{μλν} as a composite ExprNode.
|
|
80
121
|
*
|
|
@@ -132,15 +173,18 @@ export declare function ricci(R: RiemannTensorNode): ExprNode;
|
|
|
132
173
|
*
|
|
133
174
|
* @public
|
|
134
175
|
*/
|
|
135
|
-
|
|
136
|
-
|
|
176
|
+
/**
|
|
177
|
+
* v0.6.0 Task 3.10b: EinsteinTensorNode expressed via CurvatureCompositeNode<K, S>.
|
|
178
|
+
* The runtime shape is identical — pure type-alias migration.
|
|
179
|
+
*/
|
|
180
|
+
export type EinsteinTensorNode = CurvatureCompositeNode<'einstein-tensor', {
|
|
137
181
|
/** The Riemann tensor whose contraction yields the inner Ricci R_μν. */
|
|
138
182
|
readonly riemann: RiemannTensorNode;
|
|
139
183
|
/** Lower metric g_μν — supplies the `½ R g_μν` subtraction tensor. */
|
|
140
184
|
readonly gLower: MetricTensorNode;
|
|
141
185
|
/** Upper metric g^μν — supplies the scalar trace `R = g^μν R_μν`. */
|
|
142
186
|
readonly gInverse: MetricTensorNode;
|
|
143
|
-
}
|
|
187
|
+
}>;
|
|
144
188
|
/**
|
|
145
189
|
* Result of validating an EinsteinTensorNode.
|
|
146
190
|
* @public
|
|
@@ -172,21 +216,17 @@ export interface EinsteinTensorValidationResult {
|
|
|
172
216
|
* surviving free-index collision; MetricSignatureError /
|
|
173
217
|
* PartialDerivativeIndexVarianceError from the inner Riemann).
|
|
174
218
|
*/
|
|
175
|
-
export declare function validateEinsteinTensor(node: EinsteinTensorNode, validateRiemannChild:
|
|
176
|
-
dim: Dimension;
|
|
177
|
-
freeIndices: Map<string, {
|
|
178
|
-
upper: number;
|
|
179
|
-
lower: number;
|
|
180
|
-
}>;
|
|
181
|
-
}): EinsteinTensorValidationResult;
|
|
219
|
+
export declare function validateEinsteinTensor(node: EinsteinTensorNode, validateRiemannChild: RiemannChildCallback): EinsteinTensorValidationResult;
|
|
182
220
|
/**
|
|
183
221
|
* Build the Einstein tensor G_μν = R_μν − ½ R g_μν as a composite ExprNode.
|
|
184
222
|
*
|
|
185
|
-
* **Convention.**
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
* `R
|
|
189
|
-
*
|
|
223
|
+
* **Convention.** The Einstein tensor adds the scalar-trace subtraction
|
|
224
|
+
* term `½ R g_μν` to Ricci — it does NOT introduce a new contraction
|
|
225
|
+
* convention. The inner Ricci `R_μν` inherits Carroll Eq. 3.91 from
|
|
226
|
+
* `ricci(R)` (contraction on `lowerIndices[1]`, the middle/μ slot in
|
|
227
|
+
* R^ρ_σμν; see RicciTensorNode JSDoc for the index-map diagram). The
|
|
228
|
+
* scalar trace is `R = g^μν R_μν`. The result `G_μν` shares free indices
|
|
229
|
+
* {μ_out, ν_out} with `ricci(R)`.
|
|
190
230
|
*
|
|
191
231
|
* **Algebra (sanity check).**
|
|
192
232
|
* - de Sitter (n=4): `R_μν = Λ g_μν`, `R = 4Λ` ⇒
|
|
@@ -246,11 +286,14 @@ export declare function einstein(R: RiemannTensorNode, g: MetricTensorNode, gInv
|
|
|
246
286
|
*
|
|
247
287
|
* @public
|
|
248
288
|
*/
|
|
249
|
-
|
|
250
|
-
|
|
289
|
+
/**
|
|
290
|
+
* v0.6.0 Task 3.10c: BianchiResidualNode expressed via CurvatureCompositeNode<K, S>.
|
|
291
|
+
* The runtime shape is identical — pure type-alias migration.
|
|
292
|
+
*/
|
|
293
|
+
export type BianchiResidualNode = CurvatureCompositeNode<'bianchi-residual', {
|
|
251
294
|
/** The Riemann tensor whose cyclic-derivative identity is checked. */
|
|
252
295
|
readonly riemann: RiemannTensorNode;
|
|
253
|
-
}
|
|
296
|
+
}>;
|
|
254
297
|
/**
|
|
255
298
|
* Result of validating a BianchiResidualNode.
|
|
256
299
|
* @public
|
|
@@ -279,21 +322,19 @@ export interface BianchiResidualValidationResult {
|
|
|
279
322
|
* - IndexLabelCollisionError if the synthesised `lambda` / `sigma_out`
|
|
280
323
|
* labels collide with any wrapped-Riemann label.
|
|
281
324
|
*/
|
|
282
|
-
export declare function validateBianchiResidual(node: BianchiResidualNode, validateRiemannChild:
|
|
283
|
-
dim: Dimension;
|
|
284
|
-
freeIndices: Map<string, {
|
|
285
|
-
upper: number;
|
|
286
|
-
lower: number;
|
|
287
|
-
}>;
|
|
288
|
-
}): BianchiResidualValidationResult;
|
|
325
|
+
export declare function validateBianchiResidual(node: BianchiResidualNode, validateRiemannChild: RiemannChildCallback): BianchiResidualValidationResult;
|
|
289
326
|
/**
|
|
290
327
|
* Imported lazily inside `bianchiResidual()` to avoid pulling the numerical
|
|
291
328
|
* lowering layer into the dimensional module's import graph at module load.
|
|
292
329
|
* Mirrors the runtime contract — `bianchiResidual()` returns closures that
|
|
293
330
|
* call `evaluateNumerical`, but the function itself is pure-symbolic until
|
|
294
331
|
* the closures are invoked.
|
|
332
|
+
*
|
|
333
|
+
* v0.5.1 TS-1: `engine`/`inputs`/return are now strictly typed via
|
|
334
|
+
* `import type` (no runtime import into curvature.ts), so the public API
|
|
335
|
+
* surface no longer leaks `any` through the bianchi return shape.
|
|
295
336
|
*/
|
|
296
|
-
type LazyEvaluator = (engine:
|
|
337
|
+
type LazyEvaluator = (engine: TensorEngine, inputs: NumericalInputs) => Promise<NestedArray>;
|
|
297
338
|
/**
|
|
298
339
|
* Build the second-Bianchi-identity residual `B_{λμνρσ}` as a composite
|
|
299
340
|
* object with both an AST representation and evaluator closures.
|
|
@@ -330,7 +371,7 @@ type LazyEvaluator = (engine: any, inputs: any) => Promise<any>;
|
|
|
330
371
|
export declare function bianchiResidual(R: RiemannTensorNode): {
|
|
331
372
|
residual: ExprNode;
|
|
332
373
|
evaluate: LazyEvaluator;
|
|
333
|
-
evaluateMax: (engine:
|
|
374
|
+
evaluateMax: (engine: TensorEngine, inputs: NumericalInputs) => Promise<number>;
|
|
334
375
|
};
|
|
335
376
|
export {};
|
|
336
377
|
//# sourceMappingURL=curvature.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curvature.d.ts","sourceRoot":"","sources":["../../src/dimensional/curvature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"curvature.d.ts","sourceRoot":"","sources":["../../src/dimensional/curvature.ts"],"names":[],"mappings":"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"}
|
|
@@ -139,11 +139,13 @@ export function validateEinsteinTensor(node, validateRiemannChild) {
|
|
|
139
139
|
/**
|
|
140
140
|
* Build the Einstein tensor G_μν = R_μν − ½ R g_μν as a composite ExprNode.
|
|
141
141
|
*
|
|
142
|
-
* **Convention.**
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
* `R
|
|
146
|
-
*
|
|
142
|
+
* **Convention.** The Einstein tensor adds the scalar-trace subtraction
|
|
143
|
+
* term `½ R g_μν` to Ricci — it does NOT introduce a new contraction
|
|
144
|
+
* convention. The inner Ricci `R_μν` inherits Carroll Eq. 3.91 from
|
|
145
|
+
* `ricci(R)` (contraction on `lowerIndices[1]`, the middle/μ slot in
|
|
146
|
+
* R^ρ_σμν; see RicciTensorNode JSDoc for the index-map diagram). The
|
|
147
|
+
* scalar trace is `R = g^μν R_μν`. The result `G_μν` shares free indices
|
|
148
|
+
* {μ_out, ν_out} with `ricci(R)`.
|
|
147
149
|
*
|
|
148
150
|
* **Algebra (sanity check).**
|
|
149
151
|
* - de Sitter (n=4): `R_μν = Λ g_μν`, `R = 4Λ` ⇒
|
|
@@ -258,18 +260,21 @@ export function validateBianchiResidual(node, validateRiemannChild) {
|
|
|
258
260
|
export function bianchiResidual(R) {
|
|
259
261
|
const residual = { kind: 'bianchi-residual', riemann: R };
|
|
260
262
|
const evaluate = async (engine, inputs) => {
|
|
261
|
-
// Dynamic import to keep the dimensional module's load-time graph clean
|
|
263
|
+
// Dynamic import to keep the dimensional module's load-time graph clean
|
|
264
|
+
// (a static import here would create a dimensional→numerical→dimensional
|
|
265
|
+
// runtime cycle: numerical/index.ts imports validator.ts). The TS-1
|
|
266
|
+
// type-tightening above uses `import type` only, so this dynamic import
|
|
267
|
+
// does not weaken the static type story.
|
|
262
268
|
const mod = await import('../numerical/index.js');
|
|
263
269
|
const result = await mod.evaluateNumerical(residual, inputs, { engine });
|
|
264
270
|
return result.value;
|
|
265
271
|
};
|
|
266
|
-
const evaluateMax = async (
|
|
267
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
268
|
-
engine,
|
|
269
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
270
|
-
inputs) => {
|
|
272
|
+
const evaluateMax = async (engine, inputs) => {
|
|
271
273
|
const value = await evaluate(engine, inputs);
|
|
272
274
|
// Walk the 5-deep nested array (or any depth) and return max |x|.
|
|
275
|
+
// v0.5.1 TS-3: signature accepts `NestedArray` (the public type from
|
|
276
|
+
// evaluate()) plus a typed-array escape hatch; unexpected shapes throw
|
|
277
|
+
// rather than being silently ignored.
|
|
273
278
|
let max = 0;
|
|
274
279
|
const walk = (v) => {
|
|
275
280
|
if (typeof v === 'number') {
|
|
@@ -281,7 +286,10 @@ export function bianchiResidual(R) {
|
|
|
281
286
|
if (Array.isArray(v)) {
|
|
282
287
|
for (const c of v)
|
|
283
288
|
walk(c);
|
|
289
|
+
return;
|
|
284
290
|
}
|
|
291
|
+
throw new Error(`bianchiResidual.evaluateMax: unexpected value shape — expected `
|
|
292
|
+
+ `number | NestedArray, got ${typeof v}`);
|
|
285
293
|
};
|
|
286
294
|
walk(value);
|
|
287
295
|
return max;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curvature.js","sourceRoot":"","sources":["../../src/dimensional/curvature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"curvature.js","sourceRoot":"","sources":["../../src/dimensional/curvature.ts"],"names":[],"mappings":"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"}
|