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
|
@@ -30,6 +30,9 @@
|
|
|
30
30
|
*/
|
|
31
31
|
import { NumericalBackendError } from './errors.js';
|
|
32
32
|
import { computeChristoffelTensor, flattenNA } from './connection-lowering-helpers.js';
|
|
33
|
+
import { pderivNumericalFn } from './pderiv.js';
|
|
34
|
+
import { computeWeylTensor } from './weyl-lowering.js';
|
|
35
|
+
import { dimensionOf, requireValue, flattenNestedArray } from './lowering-utils.js';
|
|
33
36
|
// ---------------------------------------------------------------------------
|
|
34
37
|
// Finite-difference step
|
|
35
38
|
// ---------------------------------------------------------------------------
|
|
@@ -54,7 +57,7 @@ import { computeChristoffelTensor, flattenNA } from './connection-lowering-helpe
|
|
|
54
57
|
* leaves ~3e-6 relative error on R^t_{rtr} due to noise propagation through
|
|
55
58
|
* the c²-scaled g_{tt} component — 4th-order outer FD recovers the precision.
|
|
56
59
|
*/
|
|
57
|
-
|
|
60
|
+
function outerStep(x) {
|
|
58
61
|
return 1e-4 * Math.max(Math.abs(x), 1);
|
|
59
62
|
}
|
|
60
63
|
/**
|
|
@@ -73,32 +76,21 @@ export function outerStep(x) {
|
|
|
73
76
|
* ε|g|/h_i ~ 1e-15 relative — orders below the 1e-9 component-match gate.
|
|
74
77
|
*/
|
|
75
78
|
function makeInnerGradFn(gFn, x0, N) {
|
|
79
|
+
// v0.5.1 PD-7: delegates to the shared `pderivNumericalFn(..., {order: 4})`
|
|
80
|
+
// 4th-order centered stencil. The explicit `h = 1e-3·max(|x|,1)` override
|
|
81
|
+
// is load-bearing: the c²·g_{tt} cancellation noise on Schwarzschild
|
|
82
|
+
// demands a larger step than the v0.5.0-default 1e-4 to balance truncation
|
|
83
|
+
// vs round-off at the ≤1e-9 component-match gate. (See module JSDoc.)
|
|
76
84
|
return (mu) => {
|
|
77
85
|
const xc = x0[mu];
|
|
78
86
|
const h = 1e-3 * Math.max(Math.abs(xc), 1);
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
m1[mu] = xc - h;
|
|
83
|
-
const p2 = [...x0];
|
|
84
|
-
p2[mu] = xc + 2 * h;
|
|
85
|
-
const m2 = [...x0];
|
|
86
|
-
m2[mu] = xc - 2 * h;
|
|
87
|
-
const gp1 = flattenNA(gFn(p1));
|
|
88
|
-
const gm1 = flattenNA(gFn(m1));
|
|
89
|
-
const gp2 = flattenNA(gFn(p2));
|
|
90
|
-
const gm2 = flattenNA(gFn(m2));
|
|
91
|
-
if (gp1.length !== N * N || gm1.length !== N * N ||
|
|
92
|
-
gp2.length !== N * N || gm2.length !== N * N) {
|
|
87
|
+
const d = pderivNumericalFn(gFn, x0, mu, { order: 4, h });
|
|
88
|
+
const flat = Array.isArray(d) ? d : [d];
|
|
89
|
+
if (flat.length !== N * N) {
|
|
93
90
|
throw new NumericalBackendError(`curvature-lowering: metric closure returned wrong shape — expected ${N * N}, ` +
|
|
94
|
-
`got
|
|
91
|
+
`got ${flat.length}`);
|
|
95
92
|
}
|
|
96
|
-
|
|
97
|
-
const out = new Array(N * N);
|
|
98
|
-
for (let i = 0; i < N * N; i++) {
|
|
99
|
-
out[i] = (-gp2[i] + 8 * gp1[i] - 8 * gm1[i] + gm2[i]) * inv12h;
|
|
100
|
-
}
|
|
101
|
-
return out;
|
|
93
|
+
return flat;
|
|
102
94
|
};
|
|
103
95
|
}
|
|
104
96
|
/**
|
|
@@ -135,30 +127,22 @@ export function christoffelAt(x, gFn, gInverseFn, N, engine) {
|
|
|
135
127
|
export function dGammaAt(x, gFn, gInverseFn, N, engine) {
|
|
136
128
|
// Allocate dGamma[λ][ρ][σ][ν]
|
|
137
129
|
const dGamma = Array.from({ length: N }, () => Array.from({ length: N }, () => Array.from({ length: N }, () => new Array(N).fill(0))));
|
|
138
|
-
// 4th-order centered stencil
|
|
130
|
+
// v0.5.1 PD-7: 4th-order centered stencil via the shared
|
|
131
|
+
// `pderivNumericalFn(..., {order: 4})` (h = 1e-4·max(|x|,1) default matches
|
|
132
|
+
// the v0.5.0 `outerStep`). Each axis returns a flat number[] of length N³;
|
|
133
|
+
// unflatten into the `dGamma[λ][ρ][σ][ν]` axis-0 slab.
|
|
134
|
+
const christFn = (xs) => christoffelAt(xs, gFn, gInverseFn, N, engine);
|
|
139
135
|
for (let lam = 0; lam < N; lam++) {
|
|
140
|
-
const
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
const xP2 = [...x];
|
|
147
|
-
xP2[lam] = xc + 2 * h;
|
|
148
|
-
const xM2 = [...x];
|
|
149
|
-
xM2[lam] = xc - 2 * h;
|
|
150
|
-
const Gp1 = christoffelAt(xP1, gFn, gInverseFn, N, engine);
|
|
151
|
-
const Gm1 = christoffelAt(xM1, gFn, gInverseFn, N, engine);
|
|
152
|
-
const Gp2 = christoffelAt(xP2, gFn, gInverseFn, N, engine);
|
|
153
|
-
const Gm2 = christoffelAt(xM2, gFn, gInverseFn, N, engine);
|
|
154
|
-
const inv12h = 1 / (12 * h);
|
|
136
|
+
const d = pderivNumericalFn(christFn, x, lam, { order: 4 });
|
|
137
|
+
const flat = Array.isArray(d) ? d : [d];
|
|
138
|
+
if (flat.length !== N * N * N) {
|
|
139
|
+
throw new NumericalBackendError(`dGammaAt: christoffelAt derivative shape mismatch — expected ${N * N * N}, got ${flat.length}`);
|
|
140
|
+
}
|
|
141
|
+
const N2 = N * N;
|
|
155
142
|
for (let rho = 0; rho < N; rho++) {
|
|
156
143
|
for (let sigma = 0; sigma < N; sigma++) {
|
|
157
144
|
for (let nu = 0; nu < N; nu++) {
|
|
158
|
-
dGamma[lam][rho][sigma][nu] =
|
|
159
|
-
+ 8 * Gp1[rho][sigma][nu]
|
|
160
|
-
- 8 * Gm1[rho][sigma][nu]
|
|
161
|
-
+ Gm2[rho][sigma][nu]) * inv12h;
|
|
145
|
+
dGamma[lam][rho][sigma][nu] = flat[rho * N2 + sigma * N + nu];
|
|
162
146
|
}
|
|
163
147
|
}
|
|
164
148
|
}
|
|
@@ -213,7 +197,7 @@ export function buildRiemann(gamma, dGamma, N) {
|
|
|
213
197
|
* Bianchi residual) can sample R at perturbed coordinates without
|
|
214
198
|
* re-implementing the FD machinery.
|
|
215
199
|
*/
|
|
216
|
-
|
|
200
|
+
function riemannUpperAt(x, gFn, gInverseFn, N, engine) {
|
|
217
201
|
const gamma = christoffelAt(x, gFn, gInverseFn, N, engine);
|
|
218
202
|
const dGamma = dGammaAt(x, gFn, gInverseFn, N, engine);
|
|
219
203
|
return buildRiemann(gamma, dGamma, N);
|
|
@@ -226,7 +210,7 @@ export function riemannUpperAt(x, gFn, gInverseFn, N, engine) {
|
|
|
226
210
|
* Output index order: `[a][σ][μ][ν]` — all four lower. (a is the freshly
|
|
227
211
|
* lowered index in the first slot.)
|
|
228
212
|
*/
|
|
229
|
-
|
|
213
|
+
function lowerFirstIndex(R, gLowerFlat, N) {
|
|
230
214
|
const Rlow = Array.from({ length: N }, () => Array.from({ length: N }, () => Array.from({ length: N }, () => new Array(N).fill(0))));
|
|
231
215
|
for (let a = 0; a < N; a++) {
|
|
232
216
|
for (let sig = 0; sig < N; sig++) {
|
|
@@ -266,32 +250,26 @@ export function riemannLowerAt(x, gFn, gInverseFn, N, engine) {
|
|
|
266
250
|
* — total: ∂(∂(∂g)) at 4th order in each layer. Empirical noise floor reached
|
|
267
251
|
* by the per-component value is documented in the test report.
|
|
268
252
|
*/
|
|
269
|
-
|
|
253
|
+
function dRiemannLowerAt(x, gFn, gInverseFn, N, engine) {
|
|
270
254
|
const dR = Array.from({ length: N }, () => Array.from({ length: N }, () => Array.from({ length: N }, () => Array.from({ length: N }, () => new Array(N).fill(0)))));
|
|
255
|
+
// v0.5.1 PD-7: 4th-order centered stencil via the shared
|
|
256
|
+
// `pderivNumericalFn(..., {order: 4})` — default h = 1e-4·max(|x|,1) matches
|
|
257
|
+
// the v0.5.0 `outerStep`. Each axis call returns a flat number[] of length
|
|
258
|
+
// N⁴ (riemannLowerAt produces [N,N,N,N]); unflatten into the
|
|
259
|
+
// `dR[λ][a][b][c][d]` axis-0 slab.
|
|
260
|
+
const RlowerFn = (xs) => riemannLowerAt(xs, gFn, gInverseFn, N, engine);
|
|
261
|
+
const N2 = N * N;
|
|
262
|
+
const N3 = N * N * N;
|
|
271
263
|
for (let lam = 0; lam < N; lam++) {
|
|
272
|
-
const
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
const xM1 = [...x];
|
|
277
|
-
xM1[lam] = xc - h;
|
|
278
|
-
const xP2 = [...x];
|
|
279
|
-
xP2[lam] = xc + 2 * h;
|
|
280
|
-
const xM2 = [...x];
|
|
281
|
-
xM2[lam] = xc - 2 * h;
|
|
282
|
-
const Rp1 = riemannLowerAt(xP1, gFn, gInverseFn, N, engine);
|
|
283
|
-
const Rm1 = riemannLowerAt(xM1, gFn, gInverseFn, N, engine);
|
|
284
|
-
const Rp2 = riemannLowerAt(xP2, gFn, gInverseFn, N, engine);
|
|
285
|
-
const Rm2 = riemannLowerAt(xM2, gFn, gInverseFn, N, engine);
|
|
286
|
-
const inv12h = 1 / (12 * h);
|
|
264
|
+
const flat = pderivNumericalFn(RlowerFn, x, lam, { order: 4 });
|
|
265
|
+
if (!Array.isArray(flat) || flat.length !== N2 * N2) {
|
|
266
|
+
throw new NumericalBackendError(`dRiemannLowerAt: derivative shape mismatch — expected ${N2 * N2}, got ${Array.isArray(flat) ? flat.length : 'scalar'}`);
|
|
267
|
+
}
|
|
287
268
|
for (let a = 0; a < N; a++) {
|
|
288
269
|
for (let b = 0; b < N; b++) {
|
|
289
270
|
for (let c = 0; c < N; c++) {
|
|
290
271
|
for (let d = 0; d < N; d++) {
|
|
291
|
-
dR[lam][a][b][c][d] =
|
|
292
|
-
+ 8 * Rp1[a][b][c][d]
|
|
293
|
-
- 8 * Rm1[a][b][c][d]
|
|
294
|
-
+ Rm2[a][b][c][d]) * inv12h;
|
|
272
|
+
dR[lam][a][b][c][d] = flat[a * N3 + b * N2 + c * N + d];
|
|
295
273
|
}
|
|
296
274
|
}
|
|
297
275
|
}
|
|
@@ -375,4 +353,165 @@ export function bianchiResidualAt(x, gFn, gInverseFn, N, engine) {
|
|
|
375
353
|
}
|
|
376
354
|
return B;
|
|
377
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* JS-side contraction of a flat 4-axis tensor R[a][b][c][d] (length N⁴, row-major)
|
|
358
|
+
* down to a 2-tensor by summing one upper axis against one lower axis.
|
|
359
|
+
*
|
|
360
|
+
* Configuration:
|
|
361
|
+
* - `upperAxis`: the axis index (0..3) that contracts WITH `lowerAxis` (dummy slot).
|
|
362
|
+
* - `lowerAxis`: the partner axis (0..3) forming the dummy pair.
|
|
363
|
+
* - `outAxes`: the two surviving axes [i, j] that become the (free output)
|
|
364
|
+
* rows/cols of the returned N×N matrix.
|
|
365
|
+
*
|
|
366
|
+
* For Carroll Eq. 3.91 Ricci R_μν = R^λ_{μλν} on Riemann stored as R[ρ][σ][μ][ν]:
|
|
367
|
+
* contractRiemannJS(flatR, N, { upperAxis: 0, lowerAxis: 2, outAxes: [1, 3] })
|
|
368
|
+
* sums `R[λ][μ_out][λ][ν_out]` over λ.
|
|
369
|
+
*
|
|
370
|
+
* Pre-flattened input convention: row-major `R[a][b][c][d] = flatR[a*N³ + b*N² + c*N + d]`.
|
|
371
|
+
* (Matches `flattenNestedArray` output for an [N,N,N,N] EngineTensor.)
|
|
372
|
+
*
|
|
373
|
+
* @internal — extracted from `lowering.ts` ricci-tensor arm (AS-1, v0.5.1). Kept
|
|
374
|
+
* deliberately narrow (4-axis source → 2-axis output) to match the v0.5.0 GR
|
|
375
|
+
* curvature pipeline; generalisation deferred to v0.6.0 if Weyl/Kretschmann
|
|
376
|
+
* arrives (see `docs/architecture/COMPONENTS.md` curvature-layer pattern note).
|
|
377
|
+
*/
|
|
378
|
+
export function contractRiemannJS(flatR, N, config) {
|
|
379
|
+
const { upperAxis, lowerAxis, outAxes } = config;
|
|
380
|
+
if (upperAxis === lowerAxis) {
|
|
381
|
+
throw new NumericalBackendError(`contractRiemannJS: upperAxis (${upperAxis}) and lowerAxis (${lowerAxis}) must differ`);
|
|
382
|
+
}
|
|
383
|
+
const [outA, outB] = outAxes;
|
|
384
|
+
if (outA === outB) {
|
|
385
|
+
throw new NumericalBackendError(`contractRiemannJS: outAxes [${outA},${outB}] must be distinct`);
|
|
386
|
+
}
|
|
387
|
+
if (outA === upperAxis || outA === lowerAxis || outB === upperAxis || outB === lowerAxis) {
|
|
388
|
+
throw new NumericalBackendError(`contractRiemannJS: outAxes [${outA},${outB}] must not overlap dummy pair [${upperAxis},${lowerAxis}]`);
|
|
389
|
+
}
|
|
390
|
+
if (flatR.length !== N * N * N * N) {
|
|
391
|
+
throw new NumericalBackendError(`contractRiemannJS: flatR length ${flatR.length} != N⁴ = ${N * N * N * N}`);
|
|
392
|
+
}
|
|
393
|
+
// Row-major strides for R[a][b][c][d].
|
|
394
|
+
const N2 = N * N;
|
|
395
|
+
const N3 = N * N * N;
|
|
396
|
+
const strides = [N3, N2, N, 1];
|
|
397
|
+
const strideDummy = strides[upperAxis] + strides[lowerAxis];
|
|
398
|
+
const strideOutA = strides[outA];
|
|
399
|
+
const strideOutB = strides[outB];
|
|
400
|
+
const out = Array.from({ length: N }, () => new Array(N).fill(0));
|
|
401
|
+
for (let i = 0; i < N; i++) {
|
|
402
|
+
const baseI = i * strideOutA;
|
|
403
|
+
for (let j = 0; j < N; j++) {
|
|
404
|
+
const baseIJ = baseI + j * strideOutB;
|
|
405
|
+
let sum = 0;
|
|
406
|
+
for (let lam = 0; lam < N; lam++) {
|
|
407
|
+
sum += flatR[baseIJ + lam * strideDummy];
|
|
408
|
+
}
|
|
409
|
+
out[i][j] = sum;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
return out;
|
|
413
|
+
}
|
|
414
|
+
// ===========================================================================
|
|
415
|
+
// v0.6.1 Phase 2 Proposal 2 — Arm extractions from lowering.ts
|
|
416
|
+
// ===========================================================================
|
|
417
|
+
//
|
|
418
|
+
// Two FD pipelines (`bianchi-residual` and `weyl-tensor`) were inlined as
|
|
419
|
+
// switch arms in `lowering.ts`'s `lowerCurvature` dispatcher. Each was a
|
|
420
|
+
// self-contained block of input-resolution + helper-pipeline + result-wrap
|
|
421
|
+
// boilerplate; together they accounted for ~125 LOC of lowering.ts. Moving
|
|
422
|
+
// them here (a) keeps the dispatcher readable, (b) co-locates the FD
|
|
423
|
+
// machinery with its consumers, and (c) makes the per-arm pipeline
|
|
424
|
+
// independently unit-testable in the future.
|
|
425
|
+
/**
|
|
426
|
+
* Lower a `bianchi-residual` AST node to a 5-rank EngineTensor B_{λμνρσ}.
|
|
427
|
+
*
|
|
428
|
+
* Extracted from `lowering.ts` `lowerCurvature` switch arm in v0.6.1 Phase 2.
|
|
429
|
+
* Wires `inputs.tensors[xCoord.name]` (the coordinate vector) and
|
|
430
|
+
* `inputs.fields[gLower.name]` / `inputs.fields[gInverse.name]` (the metric
|
|
431
|
+
* closures) into the existing `bianchiResidualAt` FD helper.
|
|
432
|
+
*
|
|
433
|
+
* Approach (cyclic ∇R sum):
|
|
434
|
+
* B_{λμνρσ} = ∇_λ R_{μνρσ} + ∇_μ R_{νλρσ} + ∇_ν R_{λμρσ}
|
|
435
|
+
* Each ∇_λ R_{μνρσ} is computed with the four Christoffel-correction terms.
|
|
436
|
+
*
|
|
437
|
+
* @returns engine.fromNested(B, [N,N,N,N,N])
|
|
438
|
+
*/
|
|
439
|
+
export function lowerBianchiResidual(node, inputs, engine) {
|
|
440
|
+
const rNode = node.riemann;
|
|
441
|
+
const N = dimensionOf(inputs);
|
|
442
|
+
const x = flattenNestedArray(requireValue(rNode.xCoord.name, inputs), N);
|
|
443
|
+
const gFn = inputs.fields?.get(rNode.gLower.name);
|
|
444
|
+
const gInverseFn = inputs.fields?.get(rNode.gInverse.name);
|
|
445
|
+
if (!gFn || !gInverseFn) {
|
|
446
|
+
throw new NumericalBackendError(`lowering: bianchi-residual numerical evaluation requires coordinate-` +
|
|
447
|
+
`dependent metric closures in inputs.fields for "${rNode.gLower.name}" ` +
|
|
448
|
+
`and "${rNode.gInverse.name}". ` +
|
|
449
|
+
`Got fields=[${[...(inputs.fields?.keys() ?? [])].join(',')}].`);
|
|
450
|
+
}
|
|
451
|
+
const B = bianchiResidualAt(x, gFn, gInverseFn, N, engine);
|
|
452
|
+
return engine.fromNested(B, [N, N, N, N, N]);
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Lower a `weyl-tensor` AST node to a 4-rank EngineTensor C^ρ_{σμν}.
|
|
456
|
+
*
|
|
457
|
+
* Extracted from `lowering.ts` `lowerCurvature` switch arm in v0.6.1 Phase 2.
|
|
458
|
+
* Implements the F-5 Weyl-formula pipeline:
|
|
459
|
+
*
|
|
460
|
+
* 1. Resolve `x`, `g`, `g_inv`, `g(x)`, `g_inv(x)` from `inputs`.
|
|
461
|
+
* 2. Compute Riemann R^ρ_{σμν} via `christoffelAt` + `dGammaAt` + `buildRiemann`.
|
|
462
|
+
* 3. Contract Ricci R_{μν} = R^λ_{μλν} via `contractRiemannJS`.
|
|
463
|
+
* 4. Compute Ricci scalar R = Σ_{μν} g^{μν} R_{μν}.
|
|
464
|
+
* 5. Assemble Weyl via `computeWeylTensor({...})` using the F-5 formula.
|
|
465
|
+
*
|
|
466
|
+
* Naming convention (must match the caller's inputs map):
|
|
467
|
+
* inputs.tensors[metricName] — g_{μν} at x
|
|
468
|
+
* inputs.tensors[metricName + '_inv'] — g^{μν} at x
|
|
469
|
+
* inputs.tensors['x'] — coordinate 4-vector
|
|
470
|
+
* inputs.fields[metricName] — coordinate-dependent g closure
|
|
471
|
+
* inputs.fields[metricName + '_inv'] — coordinate-dependent g^{-1} closure
|
|
472
|
+
*
|
|
473
|
+
* @returns engine.fromNested(C, [N,N,N,N])
|
|
474
|
+
*/
|
|
475
|
+
export function lowerWeylTensor(node, inputs, engine) {
|
|
476
|
+
const N = dimensionOf(inputs);
|
|
477
|
+
const metricName = node.metric.name;
|
|
478
|
+
const metricInvName = `${metricName}_inv`;
|
|
479
|
+
const x = flattenNestedArray(requireValue('x', inputs), N);
|
|
480
|
+
const gFn = inputs.fields?.get(metricName);
|
|
481
|
+
const gInverseFn = inputs.fields?.get(metricInvName);
|
|
482
|
+
if (!gFn || !gInverseFn) {
|
|
483
|
+
throw new NumericalBackendError(`lowering: weyl-tensor requires coordinate-dependent metric closures in ` +
|
|
484
|
+
`inputs.fields for "${metricName}" and "${metricInvName}". ` +
|
|
485
|
+
`Got fields=[${[...(inputs.fields?.keys() ?? [])].join(',')}].`);
|
|
486
|
+
}
|
|
487
|
+
// Step 1-2: Riemann R^ρ_{σμν} via FD pipeline.
|
|
488
|
+
const gamma = christoffelAt(x, gFn, gInverseFn, N, engine);
|
|
489
|
+
const dGamma = dGammaAt(x, gFn, gInverseFn, N, engine);
|
|
490
|
+
const Rup = buildRiemann(gamma, dGamma, N);
|
|
491
|
+
// Step 3: Ricci R_{μν} = R^λ_{μλν} (Carroll Eq. 3.91).
|
|
492
|
+
const flatRup = flattenNestedArray(Rup, N * N * N * N);
|
|
493
|
+
const Ric = contractRiemannJS(flatRup, N, {
|
|
494
|
+
upperAxis: 0, lowerAxis: 2, outAxes: [1, 3],
|
|
495
|
+
});
|
|
496
|
+
// Step 4: Ricci scalar R = Σ_{μν} g^{μν} R_{μν}.
|
|
497
|
+
const gInvFlat = flattenNestedArray(requireValue(metricInvName, inputs), N * N);
|
|
498
|
+
let Rscalar = 0;
|
|
499
|
+
for (let mu = 0; mu < N; mu++) {
|
|
500
|
+
for (let nu = 0; nu < N; nu++) {
|
|
501
|
+
Rscalar += gInvFlat[mu * N + nu] * Ric[mu][nu];
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
// Step 5: point-sample of covariant metric + inverse, then assemble.
|
|
505
|
+
const gFlat = flattenNestedArray(requireValue(metricName, inputs), N * N);
|
|
506
|
+
const gMat = Array.from({ length: N }, (_, i) => Array.from({ length: N }, (__, j) => gFlat[i * N + j]));
|
|
507
|
+
const gInvMat = Array.from({ length: N }, (_, i) => Array.from({ length: N }, (__, j) => gInvFlat[i * N + j]));
|
|
508
|
+
const C = computeWeylTensor({
|
|
509
|
+
riemann: Rup,
|
|
510
|
+
ricci: Ric,
|
|
511
|
+
ricciScalar: Rscalar,
|
|
512
|
+
metric: gMat,
|
|
513
|
+
metricInverse: gInvMat,
|
|
514
|
+
});
|
|
515
|
+
return engine.fromNested(C, [N, N, N, N]);
|
|
516
|
+
}
|
|
378
517
|
//# sourceMappingURL=curvature-lowering-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curvature-lowering-helpers.js","sourceRoot":"","sources":["../../src/numerical/curvature-lowering-helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"curvature-lowering-helpers.js","sourceRoot":"","sources":["../../src/numerical/curvature-lowering-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derivative-arm lowering — extracted from `lowering.ts`'s switch
|
|
3
|
+
* to close the v0.6.1 sprint-target LOC miss (903 vs ≤890).
|
|
4
|
+
*
|
|
5
|
+
* Exports two pure functions:
|
|
6
|
+
* - `lowerTensorPartialDerivative` (∂_μ over tensor-symbol or
|
|
7
|
+
* metric-tensor `of` operands, three numericalForm strategies)
|
|
8
|
+
* - `lowerCovariantDerivative` (∇_μ over tensor-symbol or
|
|
9
|
+
* metric-tensor `of`; sign rule applied per free index)
|
|
10
|
+
*
|
|
11
|
+
* Both functions take a `recur` thunk for the recursive `lowerNode`
|
|
12
|
+
* call (the covariant-derivative arm needs it twice, once to lower
|
|
13
|
+
* the `of` operand and once to lower a synthesized
|
|
14
|
+
* `tensor-partial-derivative` for the partial component of ∇).
|
|
15
|
+
* Threading the recursion via parameter avoids a forward-import
|
|
16
|
+
* cycle between this module and `lowering.ts`.
|
|
17
|
+
*
|
|
18
|
+
* @module numerical/derivative-lowering
|
|
19
|
+
*/
|
|
20
|
+
import type { ExprNode } from '../dimensional/validator.js';
|
|
21
|
+
import type { EngineTensor, TensorEngine } from './tensor-engine.js';
|
|
22
|
+
import type { NumericalInputs } from './types.js';
|
|
23
|
+
/**
|
|
24
|
+
* Thunk signature for the recursive `lowerNode` call. `lowering.ts`
|
|
25
|
+
* passes its own `lowerNode` as this argument; the derivative arms
|
|
26
|
+
* use it to lower sub-expressions (the `of` operand of a covariant
|
|
27
|
+
* derivative, and a synthesized partial-derivative subtree).
|
|
28
|
+
*
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export type LowerNodeRecur = (node: ExprNode, inputs: NumericalInputs, engine: TensorEngine) => EngineTensor;
|
|
32
|
+
/**
|
|
33
|
+
* Lower a `tensor-partial-derivative` node (∂_μ over an `of` operand).
|
|
34
|
+
*
|
|
35
|
+
* v0.3.5/v0.4.0 scope: `of` is a tensor-symbol or metric-tensor.
|
|
36
|
+
* ∂_μ(of) adds the wrtIndex as a trailing axis — the result shape is
|
|
37
|
+
* [...ofShape, N], NOT ofShape. (For BE-37, `of` = the scalar S is
|
|
38
|
+
* rank-0, so ∂_μ S is the rank-1 wave covector k_μ, shape [N].)
|
|
39
|
+
*
|
|
40
|
+
* Three numericalForm dispatches: 'symbolic' (caller-supplied
|
|
41
|
+
* derivatives map), 'numerical-fn' (rank-0 scalar field, all-axes
|
|
42
|
+
* stack), 'grid' (sampled derivative field).
|
|
43
|
+
*
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
export declare function lowerTensorPartialDerivative(node: Extract<ExprNode, {
|
|
47
|
+
kind: 'tensor-partial-derivative';
|
|
48
|
+
}>, inputs: NumericalInputs, engine: TensorEngine): EngineTensor;
|
|
49
|
+
/**
|
|
50
|
+
* Lower a `covariant-derivative` node (∇_μ over an `of` operand).
|
|
51
|
+
*
|
|
52
|
+
* Calls `recur` to lower the `of` subtree and a synthesized
|
|
53
|
+
* `tensor-partial-derivative` (the ∂ component of ∇). The Christoffel
|
|
54
|
+
* correction (Γ^α_{μν} sign rule per free index of `of`) builds on
|
|
55
|
+
* the metric-derivative data supplied via `inputs.metricDerivatives`.
|
|
56
|
+
*
|
|
57
|
+
* v0.4.0 contract: `of.derivativeStrategy === 'zero'` short-circuits
|
|
58
|
+
* to a zero result. `'computed'` on a raw-tensor metric reduces to
|
|
59
|
+
* the partial only (constant metric → Γ = 0). `'supplied'` invokes
|
|
60
|
+
* the full Christoffel pipeline.
|
|
61
|
+
*
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
64
|
+
export declare function lowerCovariantDerivative(node: Extract<ExprNode, {
|
|
65
|
+
kind: 'covariant-derivative';
|
|
66
|
+
}>, inputs: NumericalInputs, engine: TensorEngine, recur: LowerNodeRecur): EngineTensor;
|
|
67
|
+
//# sourceMappingURL=derivative-lowering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derivative-lowering.d.ts","sourceRoot":"","sources":["../../src/numerical/derivative-lowering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAM5D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,YAAY,CAAC;AAmB/D;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,YAAY,KACjB,YAAY,CAAC;AAMlB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,2BAA2B,CAAA;CAAE,CAAC,EAC9D,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,YAAY,GACnB,YAAY,CAgGd;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,sBAAsB,CAAA;CAAE,CAAC,EACzD,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,cAAc,GACpB,YAAY,CAwId"}
|