universal-physics-tensor 8.0.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -21
- package/data/atlas/atlas.json +75 -64
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +23 -22
- package/data/atlas/oscillators.json +21 -16
- package/data/atlas/waves.json +33 -28
- package/data/bridge-catalog.json +1356 -1791
- package/data/bridge-catalog.schema.json +789 -46
- package/data/quantities.json +280 -234
- package/data/quantities.schema.json +52 -0
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +1178 -0
- package/data/units.schema.json +124 -0
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +14 -3
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/association.d.ts +1 -1
- package/dist/atlas/association.js.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.js +5 -1
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
- package/dist/atlas/benchmark/baselines.js +8 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +16 -12
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
- package/dist/atlas/benchmark/leakage.js.map +1 -1
- package/dist/atlas/benchmark/loader.js.map +1 -1
- package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
- package/dist/atlas/benchmark/run-atlas.js +14 -2
- package/dist/atlas/benchmark/run-atlas.js.map +1 -1
- package/dist/atlas/benchmark/stats.d.ts +1 -1
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +1 -1
- package/dist/atlas/benchmark/stats.js.map +1 -1
- package/dist/atlas/benchmark/study.js.map +1 -1
- package/dist/atlas/benchmark/types.js.map +1 -1
- package/dist/atlas/bridge-record.d.ts +4 -4
- package/dist/atlas/bridge-record.d.ts.map +1 -1
- package/dist/atlas/bridge-record.js +6 -6
- package/dist/atlas/bridge-record.js.map +1 -1
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/chain-pipeline.d.ts +0 -11
- package/dist/atlas/chain-pipeline.d.ts.map +1 -1
- package/dist/atlas/chain-pipeline.js +5 -16
- package/dist/atlas/chain-pipeline.js.map +1 -1
- package/dist/atlas/composition-table.js.map +1 -1
- package/dist/atlas/conventions.js.map +1 -1
- package/dist/atlas/coverage.d.ts +2 -2
- package/dist/atlas/coverage.js.map +1 -1
- package/dist/atlas/derivation.js.map +1 -1
- package/dist/atlas/derive-evidence.d.ts +6 -4
- package/dist/atlas/derive-evidence.d.ts.map +1 -1
- package/dist/atlas/derive-evidence.js +7 -2
- package/dist/atlas/derive-evidence.js.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +0 -5
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges.js +0 -3
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- package/dist/atlas/diffusion/dimensions.js.map +1 -1
- package/dist/atlas/diffusion/index.d.ts +1 -1
- package/dist/atlas/diffusion/index.d.ts.map +1 -1
- package/dist/atlas/diffusion/index.js.map +1 -1
- package/dist/atlas/diffusion/models.js.map +1 -1
- package/dist/atlas/diffusion/numerics.js.map +1 -1
- package/dist/atlas/error-algebra.d.ts +6 -0
- package/dist/atlas/error-algebra.d.ts.map +1 -1
- package/dist/atlas/error-algebra.js +26 -0
- package/dist/atlas/error-algebra.js.map +1 -1
- package/dist/atlas/export.d.ts +18 -2
- package/dist/atlas/export.d.ts.map +1 -1
- package/dist/atlas/export.js +9 -3
- package/dist/atlas/export.js.map +1 -1
- package/dist/atlas/families.d.ts +19 -2
- package/dist/atlas/families.d.ts.map +1 -1
- package/dist/atlas/families.js +26 -3
- package/dist/atlas/families.js.map +1 -1
- package/dist/atlas/family.d.ts +27 -0
- package/dist/atlas/family.d.ts.map +1 -0
- package/dist/atlas/family.js +12 -0
- package/dist/atlas/family.js.map +1 -0
- package/dist/atlas/index.d.ts +3 -2
- package/dist/atlas/index.d.ts.map +1 -1
- package/dist/atlas/index.js +2 -1
- package/dist/atlas/index.js.map +1 -1
- package/dist/atlas/link-prediction.d.ts +1 -1
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- package/dist/atlas/link-prediction.js.map +1 -1
- package/dist/atlas/model.js.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.js +0 -1
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.js +0 -3
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +0 -2
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/dimensions.js.map +1 -1
- package/dist/atlas/oscillators/index.d.ts +1 -16
- package/dist/atlas/oscillators/index.d.ts.map +1 -1
- package/dist/atlas/oscillators/index.js.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport.js.map +1 -1
- package/dist/atlas/oscillators/norms.js.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- package/dist/atlas/oscillators/rejections.js.map +1 -1
- package/dist/atlas/path-bound.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.d.ts +1601 -220
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +1854 -345
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +151 -117
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +244 -211
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/physjs-reviewed.d.ts +31 -0
- package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
- package/dist/atlas/physjs-reviewed.js +194 -0
- package/dist/atlas/physjs-reviewed.js.map +1 -0
- package/dist/atlas/poster/associations.js.map +1 -1
- package/dist/atlas/poster/derivations.js.map +1 -1
- package/dist/atlas/poster/statements.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +16 -8
- package/dist/atlas/proof-target.d.ts.map +1 -1
- package/dist/atlas/proof-target.js +34 -31
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/atlas/public.d.ts +2 -1
- package/dist/atlas/public.d.ts.map +1 -1
- package/dist/atlas/public.js +2 -1
- package/dist/atlas/public.js.map +1 -1
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/serialize.d.ts +18 -12
- package/dist/atlas/serialize.d.ts.map +1 -1
- package/dist/atlas/serialize.js +28 -18
- package/dist/atlas/serialize.js.map +1 -1
- package/dist/atlas/statement.js.map +1 -1
- package/dist/atlas/translation-registry.js.map +1 -1
- package/dist/atlas/translation.js.map +1 -1
- package/dist/atlas/types.d.ts +9 -2
- package/dist/atlas/types.d.ts.map +1 -1
- package/dist/atlas/types.js +1 -1
- package/dist/atlas/types.js.map +1 -1
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/waves/bridges-closure.js +0 -3
- package/dist/atlas/waves/bridges-closure.js.map +1 -1
- package/dist/atlas/waves/bridges.d.ts.map +1 -1
- package/dist/atlas/waves/bridges.js +0 -4
- package/dist/atlas/waves/bridges.js.map +1 -1
- package/dist/atlas/waves/index.d.ts +1 -1
- package/dist/atlas/waves/index.d.ts.map +1 -1
- package/dist/atlas/waves/index.js.map +1 -1
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/waves/numerics.js.map +1 -1
- package/dist/atlas/witness-artifact.js.map +1 -1
- package/dist/atlas/witness-dominance.d.ts +4 -3
- package/dist/atlas/witness-dominance.d.ts.map +1 -1
- package/dist/atlas/witness-dominance.js +15 -5
- package/dist/atlas/witness-dominance.js.map +1 -1
- package/dist/atlas/witness-numeric.d.ts +8 -4
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +27 -2
- package/dist/atlas/witness-numeric.js.map +1 -1
- package/dist/atlas/witness-result.d.ts +7 -1
- package/dist/atlas/witness-result.d.ts.map +1 -1
- package/dist/atlas/witness-result.js.map +1 -1
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/atlas/witness-symbolic.js.map +1 -1
- package/dist/atlas/witnesses/quantum-support.js.map +1 -1
- package/dist/bridges/caller-table.d.ts +1 -1
- package/dist/bridges/caller-table.d.ts.map +1 -1
- package/dist/bridges/caller-table.js.map +1 -1
- package/dist/bridges/carrier-sign.d.ts.map +1 -1
- package/dist/bridges/carrier-sign.js +8 -3
- package/dist/bridges/carrier-sign.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts +12 -3
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js +22 -14
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +19 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +233 -14
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +96 -27
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/catalog-types.js.map +1 -1
- package/dist/bridges/coefficient-statement.js +1 -5
- package/dist/bridges/coefficient-statement.js.map +1 -1
- package/dist/bridges/confrontation-coverage.js.map +1 -1
- package/dist/bridges/confrontations.d.ts +1 -1
- package/dist/bridges/confrontations.d.ts.map +1 -1
- package/dist/bridges/confrontations.js +1 -1
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/evaluation-errors.d.ts +89 -0
- package/dist/bridges/evaluation-errors.d.ts.map +1 -0
- package/dist/bridges/evaluation-errors.js +136 -0
- package/dist/bridges/evaluation-errors.js.map +1 -0
- package/dist/bridges/evaluator-inputs.d.ts +5 -3
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +24 -24
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +48 -8
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +173 -38
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +38 -7
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +129 -156
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +16 -8
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +130 -236
- package/dist/bridges/holds.js.map +1 -1
- package/dist/bridges/index.d.ts +15 -14
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +14 -15
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/input-contract.d.ts +65 -0
- package/dist/bridges/input-contract.d.ts.map +1 -0
- package/dist/bridges/input-contract.js +97 -0
- package/dist/bridges/input-contract.js.map +1 -0
- package/dist/bridges/membership.d.ts +5 -3
- package/dist/bridges/membership.d.ts.map +1 -1
- package/dist/bridges/membership.js +5 -6
- package/dist/bridges/membership.js.map +1 -1
- package/dist/bridges/notices.d.ts +11 -0
- package/dist/bridges/notices.d.ts.map +1 -0
- package/dist/bridges/notices.js +22 -0
- package/dist/bridges/notices.js.map +1 -0
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/rejected.d.ts +11 -17
- package/dist/bridges/rejected.d.ts.map +1 -1
- package/dist/bridges/rejected.js +13 -68
- package/dist/bridges/rejected.js.map +1 -1
- package/dist/bridges/relation-eval.d.ts +5 -6
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +9 -38
- package/dist/bridges/relation-eval.js.map +1 -1
- package/dist/bridges/rhs-registry.js.map +1 -1
- package/dist/bridges/sensitivity.d.ts +11 -3
- package/dist/bridges/sensitivity.d.ts.map +1 -1
- package/dist/bridges/sensitivity.js +24 -10
- package/dist/bridges/sensitivity.js.map +1 -1
- package/dist/bridges/tensor-index.js.map +1 -1
- package/dist/bridges/types.d.ts +1 -7
- package/dist/bridges/types.d.ts.map +1 -1
- package/dist/bridges/types.js +1 -4
- package/dist/bridges/types.js.map +1 -1
- package/dist/canonical/canonical-equation.d.ts +31 -0
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- package/dist/canonical/canonical-equation.js.map +1 -1
- package/dist/canonical/dimensional-fields.js.map +1 -1
- package/dist/canonical/entries/_l1-build.js.map +1 -1
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +11 -1
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +7 -4
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +50 -2
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +32 -2
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
- package/dist/canonical/entries/fluids-waves.js +34 -0
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/mechanics.js +24 -0
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +42 -24
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +6 -0
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +24 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +15 -0
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/linkage.d.ts +29 -4
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +31 -29
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts +0 -8
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +17 -12
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/registry.js.map +1 -1
- package/dist/canonical/residual.js.map +1 -1
- package/dist/canonical/seed-l-layer.d.ts +7 -1
- package/dist/canonical/seed-l-layer.d.ts.map +1 -1
- package/dist/canonical/seed-l-layer.js +7 -1
- package/dist/canonical/seed-l-layer.js.map +1 -1
- package/dist/canonical/structural.d.ts +21 -0
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +24 -4
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/brownian-sphere.js +4 -4
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/damped-resonator.js +2 -2
- package/dist/cases/damped-resonator.js.map +1 -1
- package/dist/cases/index.d.ts +9 -2
- package/dist/cases/index.d.ts.map +1 -1
- package/dist/cases/index.js +26 -7
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.js +6 -6
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/lumped-cooling.js +1 -1
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/resistor-noise.js +3 -3
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +7 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +18 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/bindings.d.ts +13 -0
- package/dist/cli/bindings.d.ts.map +1 -0
- package/dist/cli/bindings.js +32 -0
- package/dist/cli/bindings.js.map +1 -0
- package/dist/cli/closed-form-range.js.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +3 -3
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +43 -18
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts +2 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +48 -18
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +7 -12
- package/dist/cli/commands/atlas.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +13 -21
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.js.map +1 -1
- package/dist/cli/commands/candidates.d.ts.map +1 -1
- package/dist/cli/commands/candidates.js +16 -8
- package/dist/cli/commands/candidates.js.map +1 -1
- package/dist/cli/commands/canonical.js.map +1 -1
- package/dist/cli/commands/chain.js +1 -1
- package/dist/cli/commands/chain.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +22 -14
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.d.ts.map +1 -1
- package/dist/cli/commands/connectors.js +8 -9
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/coverage.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +50 -26
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/discover.d.ts.map +1 -1
- package/dist/cli/commands/discover.js +18 -13
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/eval.d.ts.map +1 -1
- package/dist/cli/commands/eval.js +29 -26
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts +1 -35
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +99 -208
- package/dist/cli/commands/evaluate.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +57 -45
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/frontier.js.map +1 -1
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +41 -11
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +84 -92
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts.map +1 -1
- package/dist/cli/commands/metric.js +53 -15
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.js +4 -4
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/predict.js.map +1 -1
- package/dist/cli/commands/priority.js.map +1 -1
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +50 -26
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/recover.js +1 -1
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +5 -4
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +25 -27
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts.map +1 -1
- package/dist/cli/commands/retrieve.js +22 -14
- package/dist/cli/commands/retrieve.js.map +1 -1
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +8 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/symbolic.d.ts.map +1 -1
- package/dist/cli/commands/symbolic.js +14 -7
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +4 -4
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.d.ts +6 -7
- package/dist/cli/conventions.d.ts.map +1 -1
- package/dist/cli/conventions.js +19 -28
- package/dist/cli/conventions.js.map +1 -1
- package/dist/cli/determination.js.map +1 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/euler-guard.d.ts +13 -2
- package/dist/cli/euler-guard.d.ts.map +1 -1
- package/dist/cli/euler-guard.js +17 -3
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.d.ts +4 -9
- package/dist/cli/eval-numbers.d.ts.map +1 -1
- package/dist/cli/eval-numbers.js +11 -41
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/expr-print.d.ts +29 -2
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +46 -2
- package/dist/cli/expr-print.js.map +1 -1
- package/dist/cli/flag-help.js.map +1 -1
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/library-defaults.d.ts +19 -0
- package/dist/cli/library-defaults.d.ts.map +1 -0
- package/dist/cli/library-defaults.js +22 -0
- package/dist/cli/library-defaults.js.map +1 -0
- package/dist/cli/main.js +7 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.js.map +1 -1
- package/dist/cli/output.d.ts +3 -6
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/published-url.d.ts +2 -0
- package/dist/cli/published-url.d.ts.map +1 -1
- package/dist/cli/published-url.js +5 -0
- package/dist/cli/published-url.js.map +1 -1
- package/dist/cli/record-reach.d.ts +6 -0
- package/dist/cli/record-reach.d.ts.map +1 -1
- package/dist/cli/record-reach.js +16 -10
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.d.ts +2 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +8 -3
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +31 -12
- package/dist/cli/record.js.map +1 -1
- package/dist/cli/search-index.d.ts +5 -0
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +12 -1
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/top-level-help.js.map +1 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +57 -18
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +49 -21
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.d.ts +8 -30
- package/dist/composition/adjudication.d.ts.map +1 -1
- package/dist/composition/adjudication.js +15 -67
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/aliases.d.ts +1 -1
- package/dist/composition/aliases.d.ts.map +1 -1
- package/dist/composition/aliases.js +10 -20
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/audit-coverage.d.ts +2 -0
- package/dist/composition/audit-coverage.d.ts.map +1 -1
- package/dist/composition/audit-coverage.js.map +1 -1
- package/dist/composition/axes.d.ts +12 -0
- package/dist/composition/axes.d.ts.map +1 -1
- package/dist/composition/axes.js +18 -6
- package/dist/composition/axes.js.map +1 -1
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +0 -14
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +66 -57
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts +5 -1
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/bridge-prediction.js +12 -16
- package/dist/composition/bridge-prediction.js.map +1 -1
- package/dist/composition/buckingham-filter.js.map +1 -1
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +12 -2
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +15 -18
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +59 -85
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/canonical-prefactors.d.ts +10 -29
- package/dist/composition/canonical-prefactors.d.ts.map +1 -1
- package/dist/composition/canonical-prefactors.js +15 -202
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +6 -20
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +2 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +2 -0
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-regime.js.map +1 -1
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-surface.js.map +1 -1
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +154 -36
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.js.map +1 -1
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +15 -6
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/consistency.js.map +1 -1
- package/dist/composition/descriptor.d.ts +1 -1
- package/dist/composition/descriptor.d.ts.map +1 -1
- package/dist/composition/descriptor.js.map +1 -1
- package/dist/composition/dimension-adjacency.js.map +1 -1
- package/dist/composition/discovery.d.ts +67 -7
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +83 -23
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +19 -22
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +25 -28
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/enumerate.d.ts +2 -2
- package/dist/composition/enumerate.d.ts.map +1 -1
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +29 -5
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +100 -72
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +14 -4
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +53 -19
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +2 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +9 -39
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/formula-shape.d.ts +9 -0
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +54 -0
- package/dist/composition/formula-shape.js.map +1 -1
- package/dist/composition/frontier-account.d.ts +3 -2
- package/dist/composition/frontier-account.d.ts.map +1 -1
- package/dist/composition/frontier-account.js +7 -3
- package/dist/composition/frontier-account.js.map +1 -1
- package/dist/composition/graph-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +9 -5
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +7 -4
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +28 -0
- package/dist/composition/mathts-quiet.d.ts.map +1 -0
- package/dist/composition/mathts-quiet.js +56 -0
- package/dist/composition/mathts-quiet.js.map +1 -0
- package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
- package/dist/composition/mathts-scalar-symbols.js +18 -34
- package/dist/composition/mathts-scalar-symbols.js.map +1 -1
- package/dist/composition/not-composable-seeds.d.ts +3 -1
- package/dist/composition/not-composable-seeds.d.ts.map +1 -1
- package/dist/composition/not-composable-seeds.js +2 -0
- package/dist/composition/not-composable-seeds.js.map +1 -1
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.js.map +1 -1
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.js.map +1 -1
- package/dist/composition/probe/experiment-design.js.map +1 -1
- package/dist/composition/probe/expression-gaps.js.map +1 -1
- package/dist/composition/probe/falsify.d.ts +14 -3
- package/dist/composition/probe/falsify.d.ts.map +1 -1
- package/dist/composition/probe/falsify.js +14 -27
- package/dist/composition/probe/falsify.js.map +1 -1
- package/dist/composition/probe/fingerprint.js.map +1 -1
- package/dist/composition/probe/fit.d.ts +1 -1
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +2 -1
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +4 -2
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +4 -2
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.js.map +1 -1
- package/dist/composition/probe/metadata.js.map +1 -1
- package/dist/composition/probe/pipeline.d.ts +5 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -1
- package/dist/composition/probe/pipeline.js +13 -6
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.d.ts +8 -0
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +78 -12
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/run-manifest.js +2 -2
- package/dist/composition/probe/run-manifest.js.map +1 -1
- package/dist/composition/probe/scoring.d.ts +2 -1
- package/dist/composition/probe/scoring.d.ts.map +1 -1
- package/dist/composition/probe/scoring.js +21 -7
- package/dist/composition/probe/scoring.js.map +1 -1
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/probe/serialize.js.map +1 -1
- package/dist/composition/probe/structure.js.map +1 -1
- package/dist/composition/probe/study.d.ts +4 -3
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +5 -3
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/types.d.ts +3 -1
- package/dist/composition/probe/types.d.ts.map +1 -1
- package/dist/composition/probe/types.js +2 -0
- package/dist/composition/probe/types.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +11 -4
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +14 -6
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities.d.ts +0 -4
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +5 -5
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/quantity.d.ts +18 -2
- package/dist/composition/quantity.d.ts.map +1 -1
- package/dist/composition/quantity.js +35 -6
- package/dist/composition/quantity.js.map +1 -1
- package/dist/composition/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +18 -0
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +37 -7
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts +11 -7
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +24 -26
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/axes-registry.d.ts +8 -5
- package/dist/core/axes-registry.d.ts.map +1 -1
- package/dist/core/axes-registry.js.map +1 -1
- package/dist/core/cell.js.map +1 -1
- package/dist/core/constants.d.ts +35 -12
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +46 -15
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +27 -0
- package/dist/core/data-file.d.ts.map +1 -0
- package/dist/core/data-file.js +48 -0
- package/dist/core/data-file.js.map +1 -0
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/json-schema.d.ts +27 -0
- package/dist/core/json-schema.d.ts.map +1 -0
- package/dist/core/json-schema.js +177 -0
- package/dist/core/json-schema.js.map +1 -0
- package/dist/core/labeled-tensor.d.ts +6 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/labeled-tensor.js +18 -8
- package/dist/core/labeled-tensor.js.map +1 -1
- package/dist/core/regime-registry.d.ts +6 -2
- package/dist/core/regime-registry.d.ts.map +1 -1
- package/dist/core/regime-registry.js.map +1 -1
- package/dist/core/regime-rule-install.js.map +1 -1
- package/dist/core/regimes-builtins.js.map +1 -1
- package/dist/core/tensor.d.ts +7 -4
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +40 -8
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +3 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +16 -14
- package/dist/core/types.js.map +1 -1
- package/dist/core/universal-index.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts +4 -5
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +16 -23
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +24 -80
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +21 -98
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts +18 -6
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +17 -5
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +5 -4
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +6 -5
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/bridge-check.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.js +3 -5
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/buckingham.js.map +1 -1
- package/dist/dimensional/connection-validators.d.ts +2 -1
- package/dist/dimensional/connection-validators.d.ts.map +1 -1
- package/dist/dimensional/connection-validators.js.map +1 -1
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/constant-rows.d.ts +54 -0
- package/dist/dimensional/constant-rows.d.ts.map +1 -0
- package/dist/dimensional/constant-rows.js +115 -0
- package/dist/dimensional/constant-rows.js.map +1 -0
- package/dist/dimensional/constants.d.ts +7 -17
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +12 -21
- package/dist/dimensional/constants.js.map +1 -1
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +21 -6
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +150 -160
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/errors.d.ts +3 -1
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +2 -2
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +79 -0
- package/dist/dimensional/exact-scale.d.ts.map +1 -0
- package/dist/dimensional/exact-scale.js +222 -0
- package/dist/dimensional/exact-scale.js.map +1 -0
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- package/dist/dimensional/formula-names.d.ts +13 -12
- package/dist/dimensional/formula-names.d.ts.map +1 -1
- package/dist/dimensional/formula-names.js +28 -51
- package/dist/dimensional/formula-names.js.map +1 -1
- package/dist/dimensional/fresh-label.js.map +1 -1
- package/dist/dimensional/friedmann-equation.d.ts +3 -3
- package/dist/dimensional/friedmann-equation.js +3 -3
- package/dist/dimensional/friedmann-equation.js.map +1 -1
- package/dist/dimensional/gauge-field.d.ts +2 -3
- package/dist/dimensional/gauge-field.d.ts.map +1 -1
- package/dist/dimensional/gauge-field.js +0 -1
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +8 -0
- package/dist/dimensional/hyphen-names.js.map +1 -1
- package/dist/dimensional/killing-validators.js.map +1 -1
- package/dist/dimensional/klein-gordon-equation.js.map +1 -1
- package/dist/dimensional/metric-validators.d.ts +2 -1
- package/dist/dimensional/metric-validators.d.ts.map +1 -1
- package/dist/dimensional/metric-validators.js.map +1 -1
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/natural-units.js.map +1 -1
- package/dist/dimensional/quantity-registry.d.ts +23 -1
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +55 -18
- package/dist/dimensional/quantity-registry.js.map +1 -1
- package/dist/dimensional/rg-flow.js.map +1 -1
- package/dist/dimensional/stress-energy-validators.js.map +1 -1
- package/dist/dimensional/symbolic-constants.d.ts +63 -19
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +114 -92
- package/dist/dimensional/symbolic-constants.js.map +1 -1
- package/dist/dimensional/tensor-trace.js.map +1 -1
- package/dist/dimensional/tensor.js.map +1 -1
- package/dist/dimensional/types.js.map +1 -1
- package/dist/dimensional/unit-convention.d.ts +0 -2
- package/dist/dimensional/unit-convention.d.ts.map +1 -1
- package/dist/dimensional/unit-convention.js +2 -2
- package/dist/dimensional/unit-convention.js.map +1 -1
- package/dist/dimensional/unit-data.d.ts +70 -0
- package/dist/dimensional/unit-data.d.ts.map +1 -0
- package/dist/dimensional/unit-data.js +139 -0
- package/dist/dimensional/unit-data.js.map +1 -0
- package/dist/dimensional/units.d.ts +87 -24
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +290 -295
- package/dist/dimensional/units.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +0 -16
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +65 -29
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/dimensional/weyl-validators.js.map +1 -1
- package/dist/index.d.ts +65 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -24
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +32 -7
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +218 -209
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/christoffel-flat.js.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js.map +1 -1
- package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/covariant-eikonal.js +2 -2
- package/dist/numerical/covariant-eikonal.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +6 -3
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/derivative-lowering.js.map +1 -1
- package/dist/numerical/einstein-equation.js.map +1 -1
- package/dist/numerical/engine-registry.js.map +1 -1
- package/dist/numerical/errors.d.ts +7 -3
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js +5 -5
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
- package/dist/numerical/evaluator-uncertainty.js +134 -0
- package/dist/numerical/evaluator-uncertainty.js.map +1 -0
- package/dist/numerical/formula-contract.d.ts +67 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +68 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +17 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +120 -44
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-mathts.d.ts.map +1 -1
- package/dist/numerical/formula-mathts.js +10 -3
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/formula-registry.d.ts +13 -3
- package/dist/numerical/formula-registry.d.ts.map +1 -1
- package/dist/numerical/formula-registry.js +7 -2
- package/dist/numerical/formula-registry.js.map +1 -1
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/geometrized.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +28 -27
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +44 -45
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/grid-field.js.map +1 -1
- package/dist/numerical/index.js.map +1 -1
- package/dist/numerical/input-validation.d.ts +3 -6
- package/dist/numerical/input-validation.d.ts.map +1 -1
- package/dist/numerical/input-validation.js +4 -8
- package/dist/numerical/input-validation.js.map +1 -1
- package/dist/numerical/killing.d.ts +8 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.js.map +1 -1
- package/dist/numerical/kretschmann.js.map +1 -1
- package/dist/numerical/lowering-utils.js.map +1 -1
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +7 -17
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js +11 -6
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.js +4 -4
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +9 -2
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/quadrature.d.ts +5 -2
- package/dist/numerical/quadrature.d.ts.map +1 -1
- package/dist/numerical/quadrature.js +20 -3
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/spacetime-metrics.d.ts +17 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +158 -250
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +9 -5
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/tensor-engine.js.map +1 -1
- package/dist/numerical/types.js.map +1 -1
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/dist/relations/category.js.map +1 -1
- package/dist/relations/composition-table.d.ts +4 -4
- package/dist/relations/composition-table.js +4 -4
- package/dist/relations/composition-table.js.map +1 -1
- package/dist/relations/conventions.js.map +1 -1
- package/dist/relations/domain-regimes.js.map +1 -1
- package/dist/relations/regime-registration.js.map +1 -1
- package/dist/relations/regime-vocabularies.js.map +1 -1
- package/dist/relations/regime.d.ts +18 -8
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +26 -14
- package/dist/relations/regime.js.map +1 -1
- package/dist/relations/types.d.ts +26 -6
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +15 -3
- package/dist/relations/types.js.map +1 -1
- package/package.json +10 -14
- package/dist/bridges/registry.d.ts +0 -60
- package/dist/bridges/registry.d.ts.map +0 -1
- package/dist/bridges/registry.js +0 -87
- package/dist/bridges/registry.js.map +0 -1
- package/dist/cli/poster-source.d.ts +0 -154
- package/dist/cli/poster-source.d.ts.map +0 -1
- package/dist/cli/poster-source.js +0 -184
- package/dist/cli/poster-source.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding-value.js","sourceRoot":"","sources":["../../src/numerical/binding-value.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"binding-value.js","sourceRoot":"","sources":["../../src/numerical/binding-value.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * A binding value: a bare number, a number with a unit, or an expression of\n * registered constants and unit literals (`pi/2`, `0.6*c`, `2*1km`).\n *\n * The MathTS parser produces the node this module reads. The number is the\n * MathTS formula parser's, evaluated over the registered constants and the\n * spliced unit literals; this module walks the same parse tree for the\n * dimension and the cycle count only, so a unit literal keeps its dimension\n * and there is one arithmetic. The scalar functions are the one table in\n * `formula-contract.ts`, read for arity and dimension rule here and for the\n * numeric body there. A bare `e` is the elementary charge. Euler's number is\n * `exp(x)`. A bare number, or an expression whose result is dimensionless\n * and contains no unit literal, is already in the caller's unit. Anything\n * else is an SI quantity: the caller converts it into the declared unit when\n * the dimensions agree.\n *\n * A unit literal is recognized only where it is glued to a number (`1km`,\n * `1h`, `1G`). A bare name is a constant (`h`, `G`, `c`), never that unit.\n * A temperature name (`T`, `temperature`, `temp`, `T_K`) speaks kelvin. An\n * energy on that name is `k_B T`. Any other dimension on that name is an error.\n *\n * @module numerical/binding-value\n * @internal\n */\n\nimport { K_B_SI } from '../core/constants.js';\nimport {\n assertSynonymAgreement,\n isTemperatureName,\n synonymGroup,\n temperatureQuantityRole,\n} from '../dimensional/formula-names.js';\nimport { quantityConventionUnit } from '../dimensional/unit-convention.js';\nimport { naturalConstantOverrides, type UnitMode } from '../dimensional/natural-units.js';\nimport { CONSTANT_REGISTRY, constantRecord } from '../dimensional/symbolic-constants.js';\nimport { divide, equals, format, multiply, power } from '../dimensional/algebra.js';\nimport { DIMENSIONLESS, ENERGY, TEMPERATURE, type Dimension } from '../dimensional/types.js';\nimport {\n AmbiguousUnitError,\n convertValue,\n parseUnit,\n readQuantityLiteral,\n readUnit,\n unitConventionNotes,\n UnitError,\n UnitRefusedError,\n UnknownUnitError,\n type AffineTemperature,\n type TemperatureReading,\n} from '../dimensional/units.js';\nimport { arityMessage, EulerNumberError, FormulaError, SCALAR_FUNCTIONS, unknownFunctionMessage } from './formula-contract.js';\nimport { constantExponent, parseFormulaPNode, UnsupportedSyntaxError, type FormulaPNode } from './formula-dimension.js';\nimport { mathtsFormulaParser } from './formula-mathts.js';\n\n/** A value on a temperature slot has a dimension that is neither a temperature nor an energy, or a temperature was read onto a dimensionless slot. @internal */\nexport class TemperatureBindingError extends UnitError {\n constructor(message: string) {\n super(message);\n this.name = 'TemperatureBindingError';\n }\n}\n\n/** The text is not a number, with or without a unit, or the number is not finite. @internal */\nexport class BindingNumberError extends UnitError {\n constructor(message: string) {\n super(message);\n this.name = 'BindingNumberError';\n }\n}\n\n/** An expression names something that is neither a registered constant nor a unit literal. @internal */\nclass UnknownNameError extends UnitError {\n constructor(readonly symbol: string) {\n super(`unknown name '${symbol}'`);\n this.name = 'UnknownNameError';\n }\n}\n\n/**\n * A temperature binding speaks kelvin. An energy is `k_B T` (the joules\n * divided by `kB`). Any other dimension is refused. A bare number, a\n * temperature, and a name that is not a temperature are unchanged.\n * The spelling list is {@link isTemperatureName}, the temperature group\n * of the one synonym table. `t` is not in that group.\n * @internal\n */\nfunction alignTemperatureBinding(\n name: string,\n raw: string,\n read: BindingValue,\n kB: number = K_B_SI,\n declaredTemperature = false,\n): BindingValue {\n const slot = isTemperatureName(name) || declaredTemperature;\n if (!slot || !read.dimensioned || equals(read.dimension, TEMPERATURE)) {\n return read;\n }\n if (equals(read.dimension, ENERGY)) {\n if (!(kB > 0) || !Number.isFinite(kB)) {\n throw new TemperatureBindingError(`cannot read '${raw.trim()}' as a temperature: k_B is not a positive finite number`);\n }\n const kelvin = read.value / kB;\n const temperatureNote = `${name}=${raw.trim()} is read as k_B T, so ${name} is ${kelvin.toExponential(6)} K`;\n return {\n value: kelvin,\n dimensioned: true,\n dimension: TEMPERATURE,\n notes: [...read.notes, temperatureNote],\n cycles: 0,\n temperatureNote,\n };\n }\n // An energy returned above, so this dimension is neither a temperature nor an energy.\n throw new TemperatureBindingError(\n `'${raw.trim()}' is ${format(read.dimension)}, but ${name} is a temperature. Give kelvin, degC, or an energy (read as k_B T).`,\n );\n}\n\nfunction sameSpelling(a: string, b: string): boolean {\n return a === b || a.replace(/_/g, '-') === b.replace(/_/g, '-');\n}\n\n/**\n * Joules per kelvin for a temperature binding. Spellings are the Boltzmann\n * group of {@link SYNONYM_GROUPS}, in that order. Two J/K or bare values that\n * disagree throw. A wrong dimension is ignored. With none of those, the scale\n * is the CODATA value.\n */\nfunction boltzmannBindingScale(\n pending: readonly { name: string; read: BindingValue }[],\n): number {\n const group = synonymGroup('boltzmann-constant') ?? [];\n const dim = constantRecord('k_B')!.dim;\n const hits = pending.filter((entry) => {\n if (!group.some((member) => sameSpelling(member, entry.name))) return false;\n return !entry.read.dimensioned || equals(entry.read.dimension, dim);\n });\n if (hits.length >= 2) {\n const values: Record<string, number> = {};\n for (const hit of hits) values[hit.name] = hit.read.value;\n assertSynonymAgreement(values);\n }\n for (const member of group) {\n const hit = hits.find((entry) => sameSpelling(entry.name, member));\n if (hit !== undefined) return hit.read.value;\n }\n return K_B_SI;\n}\n\n/** A value read from a binding, in SI when `dimensioned` is set. @internal */\nexport interface BindingValue {\n readonly value: number;\n /** A unit literal or a dimensioned result. A bare number is not. */\n readonly dimensioned: boolean;\n readonly dimension: Dimension;\n readonly notes: readonly string[];\n /**\n * Net power of cycle-counting units (Hz, rpm) in the value: 1 for `10kHz`\n * and `2*1kHz`, 0 for `1/s`. NaN when a sum mixes cycles with plain rates.\n * An angular-frequency input takes 2π per cycle.\n */\n readonly cycles: number;\n /** Set when the value is a lone affine temperature (`25degC`). */\n readonly affine?: AffineTemperature;\n /** Set when an energy on a temperature slot was read as k_B T: the sentence that says so. */\n readonly temperatureNote?: string;\n}\n\ninterface Qty {\n readonly value: number;\n readonly dim: Dimension;\n readonly cycles: number;\n}\n\n/** The dimension and cycle count of a sub-expression; its number is MathTS's. */\ninterface DimCycles {\n readonly dim: Dimension;\n readonly cycles: number;\n}\n\n/** A number glued to a unit; `spliceUnits` builds its own global copy. */\nconst GLUED_NUMBER = /(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?/;\nfunction finite(raw: string, value: number): number {\n if (!Number.isFinite(value)) throw new BindingNumberError(`'${raw}' is not a finite number`);\n return value;\n}\n\nfunction scopeFor(mode: UnitMode): Map<string, Qty> {\n const m = new Map<string, Qty>();\n m.set('pi', { value: Math.PI, dim: DIMENSIONLESS, cycles: 0 });\n m.set('tau', { value: 2 * Math.PI, dim: DIMENSIONLESS, cycles: 0 });\n for (const record of CONSTANT_REGISTRY) {\n for (const spelling of [record.name, ...record.spellings]) m.set(spelling, { value: record.value, dim: record.dim, cycles: 0 });\n }\n if (mode !== 'si') {\n for (const [name, value] of Object.entries(naturalConstantOverrides(mode))) m.set(name, { value, dim: DIMENSIONLESS, cycles: 0 });\n }\n return m;\n}\n\n/** The text has an operator, so it is an expression rather than a lone word. */\nconst hasOperator = (text: string): boolean => /[+\\-*/^()]/.test(text);\n\n/** The longest unit expression at the start of `rest`, or null. */\nfunction longestUnit(rest: string): string | null {\n if (rest.length === 0 || !/[A-Za-zµμ°ÅΩ]/.test(rest[0]!)) return null;\n let best: string | null = null;\n const limit = Math.min(rest.length, 64);\n for (let n = 1; n <= limit; n++) {\n const prefix = rest.slice(0, n);\n if (/[/*^·+\\-(\\s]$/.test(prefix)) continue;\n try {\n readUnit(prefix);\n // `deg` is a unit, but `degF` is Fahrenheit. Do not keep a prefix whose\n // next character continues the same token.\n const next = rest[n];\n if (next !== undefined && /[A-Za-z0-9_µμ°ÅΩ]/.test(next)) continue;\n best = prefix;\n } catch (e) {\n // An unknown unit at this length: a longer prefix may still be one\n // (`m` then `m/s`, `M` then `Msun`). A refused or ambiguous unit, and\n // anything that is not a unit error, propagates.\n if (!(e instanceof UnknownUnitError)) throw e;\n }\n }\n return best;\n}\n\ninterface Splice {\n readonly expr: string;\n readonly slots: Map<string, Qty>;\n readonly notes: string[];\n}\n\n/** Replace a number glued to a unit (`2*1km`, `1m/s`) with a symbol of that SI quantity. */\nfunction spliceUnits(src: string): Splice {\n const slots = new Map<string, Qty>();\n const notes: string[] = [];\n let out = '';\n let last = 0;\n const re = new RegExp(GLUED_NUMBER.source, 'g');\n let m: RegExpExecArray | null;\n while ((m = re.exec(src)) !== null) {\n const end = m.index + m[0].length;\n out += src.slice(last, end);\n let i = end;\n while (src[i] === ' ' || src[i] === '\\t') i++;\n const unit = longestUnit(src.slice(i));\n if (unit === null) {\n last = end;\n continue;\n }\n const parsed = readUnit(unit);\n if (parsed.affine !== undefined) {\n throw new UnitRefusedError('an affine temperature cannot be part of an expression; give it alone, or use K');\n }\n const name = `__u${slots.size}`;\n slots.set(name, { value: parsed.scale, dim: parsed.dim, cycles: parsed.cycles });\n for (const note of unitConventionNotes(unit)) {\n if (!notes.includes(note)) notes.push(note);\n }\n out += `*${name}`;\n last = i + unit.length;\n re.lastIndex = last;\n }\n out += src.slice(last);\n return { expr: out, slots, notes };\n}\n\n/**\n * An exponent is a dimensionless numeric constant (`2`, `-1`, `1/2`); its\n * value raises the base's dimension. The number of the whole expression is\n * MathTS's, so this is the one place a value is folded here, and it is the\n * same folding the formula dimension checker uses.\n */\nfunction exponentValue(node: FormulaPNode, scope: ReadonlyMap<string, Qty>, slots: ReadonlyMap<string, Qty>): number {\n const exp = dimensionWalk(node, scope, slots);\n const value = constantExponent(node);\n if (!equals(exp.dim, DIMENSIONLESS) || value === undefined) {\n throw new UnitError('an exponent must be a dimensionless number');\n }\n return value;\n}\n\n/**\n * The dimension and cycle count of a parse tree, by the dimensional rules of\n * each node and the one function table. No number is computed here except an\n * exponent's; unknown names, unlike sums and dimensioned transcendental\n * arguments are refused.\n */\nfunction dimensionWalk(node: FormulaPNode, scope: ReadonlyMap<string, Qty>, slots: ReadonlyMap<string, Qty>): DimCycles {\n switch (node.kind) {\n case 'num':\n return { dim: DIMENSIONLESS, cycles: 0 };\n case 'sym': {\n if (node.name === 'euler') throw new EulerNumberError();\n const known = slots.get(node.name) ?? scope.get(node.name);\n if (known === undefined) throw new UnknownNameError(node.name);\n return { dim: known.dim, cycles: known.cycles };\n }\n case 'neg':\n return dimensionWalk(node.arg, scope, slots);\n case 'op':\n return dimensionOfOp(node.op, node.args.map((a) => dimensionWalk(a, scope, slots)));\n case 'pow': {\n const base = dimensionWalk(node.base, scope, slots);\n const n = exponentValue(node.exp, scope, slots);\n return { dim: power(base.dim, n), cycles: base.cycles * n };\n }\n case 'call':\n return dimensionOfCall(node.fn, node.args, scope, slots);\n }\n}\n\nfunction dimensionOfOp(op: '+' | '-' | '*' | '/', args: readonly DimCycles[]): DimCycles {\n const first = args[0];\n if (first === undefined) throw new UnitError(`cannot ${op}`);\n if (op === '+' || op === '-') {\n let cycles = first.cycles;\n for (const next of args.slice(1)) {\n if (!equals(first.dim, next.dim)) {\n throw new UnitError(`cannot ${op === '+' ? 'add' : 'subtract'} ${format(first.dim)} and ${format(next.dim)}`);\n }\n // A sum of a cycle rate and a plain rate has no single cycle count.\n if (next.cycles !== cycles) cycles = Number.NaN;\n }\n return { dim: first.dim, cycles };\n }\n let dim = op === '*' ? DIMENSIONLESS : first.dim;\n let cycles = op === '*' ? 0 : first.cycles;\n for (const a of op === '*' ? args : args.slice(1)) {\n dim = op === '*' ? multiply(dim, a.dim) : divide(dim, a.dim);\n cycles = op === '*' ? cycles + a.cycles : cycles - a.cycles;\n }\n return { dim, cycles };\n}\n\n/** A call, by the one table's arity and dimension rule. */\nfunction dimensionOfCall(\n fn: string,\n args: readonly FormulaPNode[],\n scope: ReadonlyMap<string, Qty>,\n slots: ReadonlyMap<string, Qty>,\n): DimCycles {\n if (fn === 'euler') throw new EulerNumberError();\n const spec = SCALAR_FUNCTIONS[fn];\n if (spec === undefined) throw new UnitError(unknownFunctionMessage(fn));\n if (args.length !== spec.arity) throw new UnitError(arityMessage(fn, spec.arity));\n const rule = spec.dimension;\n const first = dimensionWalk(args[0]!, scope, slots);\n switch (rule.kind) {\n case 'root':\n return { dim: power(first.dim, rule.power), cycles: first.cycles * rule.power };\n case 'same':\n return first;\n case 'transcendental':\n if (!equals(first.dim, DIMENSIONLESS)) throw new UnitError(`${fn} expects a dimensionless argument`);\n return { dim: DIMENSIONLESS, cycles: 0 };\n case 'power': {\n const n = exponentValue(args[1]!, scope, slots);\n return { dim: power(first.dim, n), cycles: first.cycles * n };\n }\n case 'ratio': {\n const second = dimensionWalk(args[1]!, scope, slots);\n if (!equals(first.dim, second.dim)) throw new UnitError(`${fn} arguments must have the same dimension`);\n return { dim: DIMENSIONLESS, cycles: 0 };\n }\n }\n}\n\n/**\n * The number of a spliced expression: the MathTS formula parser over the\n * registered constants and the unit slots. The dimension walk has already\n * refused unknown names, so a failure here is a non-finite result.\n */\nfunction numberOf(raw: string, expr: string, scope: ReadonlyMap<string, Qty>, slots: ReadonlyMap<string, Qty>): number {\n const values: Record<string, number> = {};\n for (const [name, qty] of scope) values[name] = qty.value;\n for (const [name, qty] of slots) values[name] = qty.value;\n try {\n return mathtsFormulaParser.parse(expr).evaluate(values);\n } catch (e) {\n if (e instanceof FormulaError) throw new BindingNumberError(`'${raw}' is not a finite number`);\n throw e;\n }\n}\n\n/** The literal path: a number with an optional unit, read exactly by the one unit reader. */\nfunction literalBinding(raw: string, reading: TemperatureReading): BindingValue | null {\n const literal = readQuantityLiteral(raw, reading);\n if (literal === null) return null;\n return {\n value: finite(raw, literal.value),\n dimensioned: literal.unit !== '',\n dimension: literal.dim,\n notes: unitConventionNotes(literal.unit),\n cycles: literal.cycles,\n ...(literal.affine === undefined ? {} : { affine: literal.affine }),\n };\n}\n\n/**\n * A number-plus-unit whose dimension matches `target`, including an ambiguous\n * token that has one reading of that dimension. A unique dimension mismatch\n * returns undefined so an energy on a temperature can still become `k_B T`.\n * An ambiguous expression that matches nothing throws.\n */\nfunction declaredUnitReading(\n raw: string,\n target: string,\n reading: TemperatureReading,\n): BindingValue | undefined {\n try {\n const converted = convertValue(raw, target, reading);\n if (converted.given === '') return undefined;\n return {\n value: converted.value,\n dimensioned: true,\n dimension: parseUnit(target).dim,\n notes: unitConventionNotes(converted.given),\n cycles: converted.cycles ?? 0,\n ...(converted.affine === undefined ? {} : { affine: converted.affine }),\n };\n } catch (error) {\n if (error instanceof AmbiguousUnitError) throw error;\n // A unit the reader could not match to the target is the \"not this\n // reading\" outcome; anything that is not a unit error propagates.\n if (!(error instanceof UnitError)) throw error;\n return undefined;\n }\n}\n\n/** One other assignment in the same list, used to choose the Boltzmann scale. */\nexport interface NamedBindingSibling {\n readonly name: string;\n readonly raw: string;\n}\n\n/**\n * Read a binding for a named quantity. A temperature name (`T`,\n * `temperature`, `temp`, `T_K`), or a slot whose declared unit is a\n * temperature, reads an energy as `k_B T`. Any other dimension on that\n * slot is an error. A name in the convention table, or a declared unit,\n * is returned in that unit: a bare number is already in it. Any other\n * name is {@link readBinding} (SI when the value carries a unit).\n * @internal\n */\nexport function readNamedBinding(\n name: string,\n raw: string,\n opts?: {\n readonly mode?: UnitMode;\n readonly reading?: TemperatureReading;\n readonly siblings?: readonly NamedBindingSibling[];\n /** The slot's unit. An empty string is dimensionless. Omitted means the convention table, or SI. */\n readonly declaredUnit?: string;\n },\n): BindingValue {\n const mode = opts?.mode ?? 'si';\n const reading = opts?.reading ?? temperatureQuantityRole(name);\n const declared = opts?.declaredUnit;\n const targetPreview = declared !== undefined ? declared : quantityConventionUnit(name);\n if (targetPreview !== undefined && targetPreview !== '') {\n const resolved = declaredUnitReading(raw, targetPreview, reading);\n if (resolved !== undefined) return resolved;\n }\n const read = readBinding(raw, { mode, reading });\n const pending: { name: string; read: BindingValue }[] = [{ name, read }];\n for (const sibling of opts?.siblings ?? []) {\n if (sibling.name === name) continue;\n try {\n pending.push({ name: sibling.name, read: readBinding(sibling.raw, { mode, reading }) });\n } catch (error) {\n // A sibling that does not read as a value is that sibling's own error,\n // reported where it is read. A programming error propagates.\n if (!(error instanceof UnitError)) throw error;\n }\n }\n const declaredDim = declared !== undefined && declared !== '' ? parseUnit(declared).dim : undefined;\n const aligned = alignTemperatureBinding(\n name,\n raw,\n read,\n boltzmannBindingScale(pending),\n declaredDim !== undefined && equals(declaredDim, TEMPERATURE),\n );\n const target = declared !== undefined ? declared : quantityConventionUnit(name);\n if (target === undefined) return aligned;\n const energyBecameTemperature =\n aligned.dimensioned && equals(aligned.dimension, TEMPERATURE) && !equals(read.dimension, TEMPERATURE);\n if (energyBecameTemperature) {\n if (target === '') {\n throw new TemperatureBindingError(`'${raw.trim()}' is a temperature, but this input is dimensionless`);\n }\n const to = parseUnit(target);\n if (to.affine !== undefined) throw new UnitError(`a declared unit cannot be affine ('${target}')`);\n if (!equals(aligned.dimension, to.dim)) {\n throw new UnitError(\n `'${raw.trim()}' is ${format(aligned.dimension)}, but this input is ${format(to.dim)} (${target})`,\n );\n }\n return { ...aligned, value: aligned.value / to.scale, dimensioned: true, dimension: to.dim };\n }\n const converted = bindingInUnit(raw, target, reading, mode);\n return {\n value: converted.value,\n dimensioned: converted.given !== '',\n dimension: target === '' ? DIMENSIONLESS : parseUnit(target).dim,\n notes: unitConventionNotes(converted.given),\n cycles: converted.cycles ?? 0,\n ...(converted.affine === undefined ? {} : { affine: converted.affine }),\n };\n}\n\n/**\n * Read one binding. `mode` selects the constant values (`--natural`,\n * `--geometrized`). `reading` is how a lone `degC` is taken.\n * @internal\n */\nexport function readBinding(\n raw: string,\n opts?: { readonly mode?: UnitMode; readonly reading?: TemperatureReading },\n): BindingValue {\n const trimmed = raw.trim();\n const mode = opts?.mode ?? 'si';\n const reading = opts?.reading ?? 'absolute';\n if (trimmed === '') throw new BindingNumberError(`'${raw}' is not a finite number`);\n const literal = literalBinding(trimmed, reading);\n if (literal !== null) return literal;\n\n const spliced = spliceUnits(trimmed);\n const notANumber = (): BindingNumberError => new BindingNumberError(`'${trimmed}' is not a number with an optional unit`);\n let ast: FormulaPNode;\n try {\n ast = parseFormulaPNode(spliced.expr);\n } catch (e) {\n // Syntax the normalized form has no shape for (`1.2.3`, `a.b`) is not a value.\n if (e instanceof UnsupportedSyntaxError) throw notANumber();\n // `euler` names the refused constant; keep that sentence.\n if (e instanceof EulerNumberError) throw new UnitError(e.message);\n if (e instanceof FormulaError) {\n // A bare unknown word is not an expression; a token with an operator (`2*`) is.\n if (!hasOperator(trimmed)) throw notANumber();\n throw new UnitError(e.message);\n }\n throw e;\n }\n const scope = scopeFor(mode);\n let shape: DimCycles;\n try {\n shape = dimensionWalk(ast, scope, spliced.slots);\n } catch (e) {\n if (e instanceof UnknownNameError && spliced.slots.size === 0 && !hasOperator(trimmed)) throw notANumber();\n throw e;\n }\n return {\n value: finite(trimmed, numberOf(trimmed, spliced.expr, scope, spliced.slots)),\n dimensioned: spliced.slots.size > 0 || !equals(shape.dim, DIMENSIONLESS),\n dimension: shape.dim,\n notes: spliced.notes,\n cycles: shape.cycles,\n };\n}\n\n/**\n * The same reading as {@link convertValue} when `raw` is a number with an\n * optional unit, and an expression otherwise. The result is in `target`.\n * @internal\n */\nexport function bindingInUnit(\n raw: string,\n target: string,\n reading: TemperatureReading = 'absolute',\n mode: UnitMode = 'si',\n): { value: number; given: string; cycles?: number; affine?: AffineTemperature } {\n // A literal the one unit reader accepts converts exactly, unit to unit; anything else\n // (an expression such as `1Hz + 1/(1s)`) is read as an expression and converted from SI.\n if (readQuantityLiteral(raw, reading) !== null) return convertValue(raw, target, reading);\n const b = readBinding(raw, { reading, mode });\n if (!b.dimensioned) return { value: b.value, given: '' };\n const to = parseUnit(target);\n if (to.affine !== undefined) throw new UnitError(`a declared unit cannot be affine ('${target}')`);\n if (!equals(b.dimension, to.dim)) {\n throw new UnitError(\n `'${raw.trim()}' is ${format(b.dimension)}, but this input is ${format(to.dim)} (${target || 'dimensionless'})`,\n );\n }\n return { value: b.value / to.scale, given: raw.trim(), ...(b.cycles === 0 ? {} : { cycles: b.cycles }) };\n}\n\n/**\n * A parameter whose unit is the SI base of `expected`. A bare number is\n * already in that unit. A dimensioned quantity must match.\n * @internal\n */\nexport function readParameter(raw: string, expected: Dimension): { value: number; notes: readonly string[] } {\n const b = readBinding(raw);\n if (!b.dimensioned) return { value: b.value, notes: b.notes };\n if (!equals(b.dimension, expected)) {\n throw new UnitError(`'${raw}' is ${format(b.dimension)}, but this parameter is ${format(expected)}`);\n }\n return { value: b.value, notes: b.notes };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"christoffel-flat.js","sourceRoot":"","sources":["../../src/numerical/christoffel-flat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"christoffel-flat.js","sourceRoot":"","sources":["../../src/numerical/christoffel-flat.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Flat-array Christoffel evaluator (v0.6.0 Phase 2, Task 2.8 — BR-2 BREAKING).\n *\n * Returns Float64Array(64) instead of nested number[4][4][4]. Layout\n * locked from Task 2.0 profiling: λ-major encoding (16λ + 4μ + ν).\n *\n * Formulas verified against the authoritative fixture at\n * tests/fixtures/schwarzschild.ts:10-18 (Carroll Ch. 5 / Hartle Ch. 9;\n * −,+,+,+ signature). Schwarzschild has 9 non-zero independent Christoffel\n * components, related by symmetry Γ^λ_{μν} = Γ^λ_{νμ} for 13 non-zero\n * array entries out of 64.\n *\n * Nonzero independent components:\n * Γ^t_{tr} = Γ^t_{rt} = r_s / (2·r·(r − r_s))\n * Γ^r_{tt} = c² · r_s · (r − r_s) / (2·r³)\n * Γ^r_{rr} = -r_s / (2·r·(r − r_s))\n * Γ^r_{θθ} = -(r − r_s)\n * Γ^r_{φφ} = -(r − r_s) · sin²θ\n * Γ^θ_{rθ} = Γ^θ_{θr} = 1/r\n * Γ^θ_{φφ} = -sinθ · cosθ\n * Γ^φ_{rφ} = Γ^φ_{φr} = 1/r\n * Γ^φ_{θφ} = Γ^φ_{φθ} = cosθ / sinθ\n *\n * where r_s = 2GM/c². All other entries are zero. Float64Array zero-initialises\n * by default, so we write only the 13 non-zero slots.\n *\n * @module numerical/christoffel-flat\n * @public\n */\n\n// Use canonical SI constants per v0.5.1 PC-1 (do NOT inline truncated literals):\nimport { C_SI, G_SI } from '../core/constants.js';\n\n/**\n * Encodes a Christoffel index triple (λ, μ, ν) into a flat array offset.\n *\n * Layout: λ-major — `16·λ + 4·μ + ν`.\n * Locked from Task 2.0 profiling (dual-condition gate; λ-major is default).\n */\nexport function encodeChristoffelIndex(lambda: number, mu: number, nu: number): number {\n return 16 * lambda + 4 * mu + nu;\n}\n\n/**\n * Returns a Christoffel-symbol closure for the Schwarzschild metric at a\n * given gravitational mass M (SI, kg).\n *\n * The returned closure maps a coordinate 4-vector x = [t, r, θ, φ] to a\n * Float64Array of length 64 containing Γ^λ_{μν} values in λ-major order.\n * Access element (λ, μ, ν) via `encodeChristoffelIndex(λ, μ, ν)`.\n *\n * This is the BR-2 breaking-change replacement for the nested `number[][][]`\n * returned by `schwarzschildChristoffelFn`. Consumer migration lands in Task 2.9.\n *\n * Scratch-buffer reuse (perf): the returned closure accepts an OPTIONAL\n * `out` Float64Array(64). When provided it is filled and returned (no\n * allocation) — the hot geodesic loop passes a single reused buffer to avoid\n * ~160k Float64Array(64) allocations per integration. Only the 13 nonzero\n * Schwarzschild slots are written; the other 51 are always zero, so a buffer\n * reused ONLY by this closure (or a fresh zero buffer) stays correct without\n * re-zeroing. When `out` is omitted a fresh array is allocated — the original\n * (and default) behavior, unchanged for external callers that retain results.\n */\nexport function christoffelFnFlat(\n M: number,\n): (x: [number, number, number, number], out?: Float64Array) => Float64Array {\n return (x, out) => {\n const [_t, r, theta, _phi] = x;\n const r_s = (2 * G_SI * M) / (C_SI * C_SI);\n const arr = out ?? new Float64Array(64); // 64 zeros by default when fresh\n const dr_factor = r - r_s;\n const sinTheta = Math.sin(theta);\n const cosTheta = Math.cos(theta);\n\n const Gt_tr = r_s / (2 * r * dr_factor);\n const Gr_tt = (C_SI * C_SI * r_s * dr_factor) / (2 * r * r * r);\n const Gr_rr = -r_s / (2 * r * dr_factor);\n const Gr_thth = -dr_factor;\n const Gr_phiphi = -dr_factor * sinTheta * sinTheta;\n const Gth_rth = 1 / r;\n const Gth_phiphi = -sinTheta * cosTheta;\n const Gphi_rphi = 1 / r;\n const Gphi_thphi = cosTheta / sinTheta;\n\n // Index encoding: 16*lambda + 4*mu + nu (λ-major)\n arr[16*0 + 4*0 + 1] = Gt_tr; // Γ^t_{tr}\n arr[16*0 + 4*1 + 0] = Gt_tr; // Γ^t_{rt} (symmetric)\n arr[16*1 + 4*0 + 0] = Gr_tt; // Γ^r_{tt}\n arr[16*1 + 4*1 + 1] = Gr_rr; // Γ^r_{rr}\n arr[16*1 + 4*2 + 2] = Gr_thth; // Γ^r_{θθ}\n arr[16*1 + 4*3 + 3] = Gr_phiphi; // Γ^r_{φφ}\n arr[16*2 + 4*1 + 2] = Gth_rth; // Γ^θ_{rθ}\n arr[16*2 + 4*2 + 1] = Gth_rth; // Γ^θ_{θr}\n arr[16*2 + 4*3 + 3] = Gth_phiphi; // Γ^θ_{φφ}\n arr[16*3 + 4*1 + 3] = Gphi_rphi; // Γ^φ_{rφ}\n arr[16*3 + 4*3 + 1] = Gphi_rphi; // Γ^φ_{φr}\n arr[16*3 + 4*2 + 3] = Gphi_thphi; // Γ^φ_{θφ}\n arr[16*3 + 4*3 + 2] = Gphi_thphi; // Γ^φ_{φθ}\n\n return arr;\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-lowering-helpers.js","sourceRoot":"","sources":["../../src/numerical/connection-lowering-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,eAAe,IAAI,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAErF,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,IAAiB;IACzC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,oCAAoC;IACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;QAC7B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,qCAAqC;IACrC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACtG,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAmB,CAAC,MAAM,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACnC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAkB,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;YAChC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,8CAA8C;IAC9C,4EAA4E;IAC5E,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,KAAK,GAAkB,CAAC,IAAI,CAAC,CAAC;IAEpC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC7B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YAC3B,4EAA4E;YAC5E,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,gBAAgB,CAAC,KAA4B;IACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,6DAA6D;IAC7D,MAAM,WAAW,GAAG,CAAC,CAAc,EAAe,EAAE;QAClD,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QACpC,OAAQ,CAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1D,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,CAAe,EAAE,MAAoB;IAClE,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAA4B,EAAE,MAAoB;IAC3E,OAAO,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,KAA4B;IACvE,OAAO,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc,EAAE,KAA4B;IACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,CAAe,EAAE,CAAe,EAAE,MAAoB;IAC9E,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,qBAAqB,CAC7B,8BAA8B,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,KAAK,GAAG,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,CAAe,EACf,CAAe,EACf,IAAY,EACZ,MAAoB;IAEpB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,qBAAqB,CAC7B,oCAAoC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,KAAK,GAAG,CAC/D,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAAsB,EACtB,cAAwC,EACxC,CAAS,EACT,MAAoB;IAEpB,yDAAyD;IACzD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE9C,oEAAoE;IACpE,oFAAoF;IACpF,4EAA4E;IAC5E,iFAAiF;IACjF,qFAAqF;IACrF,+EAA+E;IAC/E,wDAAwD;IACxD,MAAM,OAAO,GAAe,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;IAEhE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,CAAC;QAC9B,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAE,oCAAoC;YAC9D,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC9B,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAE,aAAa;gBACvC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;oBACjC,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU;oBAC5D,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;wBACvB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAA0B,aAAa;wBACjE,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;wBACtB,yCAAyC;wBACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;wBAC9B,yCAAyC;wBACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;wBAC9B,yCAAyC;wBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC9B,GAAG,IAAI,YAAY,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,8BAA8B,CAC5C,SAAmB,EACnB,MAAgB,EAChB,OAA8B,EAC9B,UAAkB,EAClB,QAA2B,EAC3B,CAAS,EACT,MAAoB;IAEpB,8EAA8E;IAC9E,+DAA+D;IAC/D,0EAA0E;IAC1E,yEAAyE;IACzE,0FAA0F;IAC1F,0FAA0F;IAC1F,EAAE;IACF,kFAAkF;IAClF,+DAA+D;IAC/D,sEAAsE;IACtE,oDAAoD;IACpD,EAAE;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,iEAAiE;IACjE,EAAE;IACF,gFAAgF;IAChF,qCAAqC;IAErC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAS,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE/C,mCAAmC;IACnC,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAE1C,kCAAkC;IAClC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B;QACpD,6EAA6E;QAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,oDAAoD;QAEtF,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,uBAAuB;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAEtC,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,MAAM,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC;QAEhC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;YACjC,IAAI,SAAiB,CAAC;YACtB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,6BAA6B;gBAC7B,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,GAAG,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,6BAA6B;gBAC7B,SAAS,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;YACvC,CAAC;YAED,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,GAAG,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YACD,KAAK,IAAI,OAAO,CAAC;QACnB,CAAC;QAED,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAEb,iCAAiC;QACjC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;gBAAE,MAAM;YACrC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AACtE,CAAC;AAED,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,UAAkB,EAClB,EAAU,EACV,QAA6B,EAC7B,CAAS,EACT,iBAA+D;IAE/D,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,KAAK,CAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,0BAA0B;IAC1B,MAAM,GAAG,GAAG,GAAG,UAAU,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;IAChD,MAAM,CAAC,GAAG,iBAAiB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,MAAM,IAAI,qBAAqB,CAC7B,2DAA2D,GAAG,MAAM;YACpE,qEAAqE;YACrE,wCAAwC,GAAG,uBAAuB,EAAE,MAAM,CAC3E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,qBAAqB,CAC7B,2CAA2C,GAAG,UAAU,IAAI,CAAC,MAAM,aAAa;YAChF,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAC7B,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"connection-lowering-helpers.js","sourceRoot":"","sources":["../../src/numerical/connection-lowering-helpers.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Numerical helpers for covariant-derivative lowering (Task 12 [U]).\n *\n * These functions compute Christoffel symbols and tensor corrections from raw\n * metric data WITHOUT going through the christoffel() composite AST. The\n * composite AST is designed for symbolic/dimensional use; numerical lowering\n * builds Γ directly from metric components and metric-derivative arrays.\n *\n * All helpers are engine-agnostic: they operate on flat number[] arrays and\n * produce EngineTensor results via the engine.fromNested() interface.\n *\n * @module numerical/connection-lowering-helpers\n */\n\nimport type { EngineTensor, TensorEngine } from './tensor-engine.js';\nimport type { NestedArray } from './types.js';\nimport { NumericalBackendError } from './errors.js';\nimport { rowMajorStrides as buildStrides, flatIndex, sameShape } from './strides.js';\n\n// ---------------------------------------------------------------------------\n// Flat-array utilities\n// ---------------------------------------------------------------------------\n\n/**\n * Flatten a NestedArray to a plain number[] in row-major order.\n * Canonical implementation for this module. `flattenNestedArray` in\n * lowering.ts wraps this and adds an expectedSize invariant check.\n * `pderiv.ts` previously had its own identical `flattenToNumbers` —\n * consolidated to this function in v0.4.6 (see Task 9 of the v0.4.6 plan).\n */\nexport function flattenNA(data: NestedArray): number[] {\n if (typeof data === 'number') return [data];\n\n // Fast path for 1D arrays (vectors)\n if (data.length > 0 && typeof data[0] === 'number') {\n const len = data.length;\n const out = new Array(len);\n for (let i = 0; i < len; i++) {\n out[i] = data[i] as number;\n }\n return out;\n }\n\n // Fast path for 2D arrays (matrices)\n if (data.length > 0 && Array.isArray(data[0]) && data[0].length > 0 && typeof data[0][0] === 'number') {\n const rows = data.length;\n const cols = (data[0] as NestedArray[]).length;\n const out = new Array(rows * cols);\n let idx = 0;\n for (let i = 0; i < rows; i++) {\n const row = data[i] as NestedArray[];\n for (let j = 0; j < cols; j++) {\n out[idx++] = row[j] as number;\n }\n }\n return out;\n }\n\n // Explicit stack based non-recursive approach\n // We avoid the `for...of` overhead and function call overhead of recursion.\n const out: number[] = [];\n const stack: NestedArray[] = [data];\n\n while (stack.length > 0) {\n const current = stack.pop()!;\n if (typeof current === 'number') {\n out.push(current);\n } else {\n const len = current.length;\n // Push in reverse order to maintain left-to-right output order when popping\n for (let i = len - 1; i >= 0; i--) {\n stack.push(current[i]);\n }\n }\n }\n\n return out;\n}\n\n// ---------------------------------------------------------------------------\n// S2(c) helpers — specified by the Task 12 plan\n// ---------------------------------------------------------------------------\n\n/**\n * Build a properly-nested zero array matching the given shape.\n * engine.fromNested() expects nested arrays, not flat arrays, for rank > 1.\n */\nfunction buildNestedZeros(shape: ReadonlyArray<number>): NestedArray {\n if (shape.length === 0) return 0;\n if (shape.length === 1) return new Array<number>(shape[0]).fill(0);\n const inner = buildNestedZeros(shape.slice(1));\n // Deep-clone each inner node so they are independent arrays.\n const cloneNested = (n: NestedArray): NestedArray => {\n if (typeof n === 'number') return n;\n return (n as NestedArray[]).map(cloneNested);\n };\n const len = shape[0];\n const out = new Array(len);\n for (let i = 0; i < len; i++) out[i] = cloneNested(inner);\n return out;\n}\n\n/**\n * Return a same-shape EngineTensor whose data is all zeros.\n * S2(c) helper spec: returns a fresh zero tensor of the same shape as t.\n */\nexport function zeroTensorLike(t: EngineTensor, engine: TensorEngine): EngineTensor {\n const shape = [...t.shape];\n return engine.fromNested(buildNestedZeros(shape), shape);\n}\n\n/**\n * Return an all-zero EngineTensor of the given shape.\n */\nexport function zeroTensor(shape: ReadonlyArray<number>, engine: TensorEngine): EngineTensor {\n return engine.fromNested(buildNestedZeros([...shape]), [...shape]);\n}\n\n/**\n * Convert a flat number[] to a properly-nested NestedArray matching `shape`.\n * Exported for use in lowering.ts where the engine requires nested structure.\n */\nexport function flatToNested(flat: number[], shape: ReadonlyArray<number>): NestedArray {\n return flatToNestedImpl(flat, shape);\n}\n\nfunction flatToNestedImpl(flat: number[], shape: ReadonlyArray<number>): NestedArray {\n if (shape.length === 0) return flat[0] ?? 0;\n if (shape.length === 1) return flat.slice();\n const stride = flat.length / shape[0];\n const result: NestedArray[] = [];\n for (let i = 0; i < shape[0]; i++) {\n result.push(flatToNestedImpl(flat.slice(i * stride, (i + 1) * stride), shape.slice(1)));\n }\n return result;\n}\n\n/**\n * Elementwise a + b; throws on shape mismatch.\n * S2(c) helper spec.\n */\nexport function tensorAdd(a: EngineTensor, b: EngineTensor, engine: TensorEngine): EngineTensor {\n if (!sameShape(a.shape, b.shape)) {\n throw new NumericalBackendError(\n `tensorAdd: shape mismatch [${a.shape}] vs [${b.shape}]`,\n );\n }\n return engine.add(a, b);\n}\n\n/**\n * Elementwise a[i] + sign * b[i]; throws on shape mismatch.\n * S2(c) helper spec.\n */\nexport function tensorAddScaled(\n a: EngineTensor,\n b: EngineTensor,\n sign: 1 | -1,\n engine: TensorEngine,\n): EngineTensor {\n if (!sameShape(a.shape, b.shape)) {\n throw new NumericalBackendError(\n `tensorAddScaled: shape mismatch [${a.shape}] vs [${b.shape}]`,\n );\n }\n if (sign === 1) return engine.add(a, b);\n return engine.sub(a, b);\n}\n\n// ---------------------------------------------------------------------------\n// Christoffel numerical computation\n// ---------------------------------------------------------------------------\n\n/**\n * Compute the full Christoffel symbol Γ^α_{μν} from raw metric arrays.\n *\n * Γ^α_{μν} = (1/2) g^{αρ} (∂_μ g_{ρν} + ∂_ν g_{ρμ} − ∂_ρ g_{μν})\n *\n * Returns an EngineTensor of shape [N, N, N] indexed [α][μ][ν] (row-major).\n *\n * @param gInverseFlat Flat [N*N] array for g^{αρ} (row-major, α outer)\n * @param getMetricDeriv Function (mu: number) => flat [N*N] ∂_{mu} g (row-major)\n * @param N Dimension\n * @param engine Active TensorEngine\n */\nexport function computeChristoffelTensor(\n gInverseFlat: number[],\n getMetricDeriv: (mu: number) => number[],\n N: number,\n engine: TensorEngine,\n): EngineTensor {\n // Output: Gamma[alpha][mu][nu] stored in row-major order\n const size = N * N * N;\n const Gamma = new Array<number>(size).fill(0);\n\n // Precompute all N metric derivative arrays before the triple loop.\n // For strategy='supplied', getMetricDeriv calls flattenNA on the stored NestedArray\n // each invocation. Precomputing reduces calls from O(N^2 + N^2 + N^3) to N.\n // Per Step 1 verification: getMetricDeriv (backed by getMetricDerivFlat) returns\n // FRESH arrays on every call — 'zero' branch uses new Array().fill(0) and 'supplied'\n // branch calls flattenNA() which allocates a new number[] each time. No cached\n // references exist, so shallow-cloning is NOT required.\n const dMetric: number[][] = new Array(N);\n for (let mu = 0; mu < N; mu++) dMetric[mu] = getMetricDeriv(mu);\n\n for (let alpha = 0; alpha < N; alpha++) {\n const alpha_N = alpha * N;\n const alpha_N_N = alpha_N * N;\n for (let mu = 0; mu < N; mu++) {\n const mu_N = mu * N;\n const dmu = dMetric[mu]; // ∂_μ g_{ρν} — shape [N,N], ρ outer\n for (let nu = 0; nu < N; nu++) {\n let sum = 0;\n const dnu = dMetric[nu]; // ∂_ν g_{ρμ}\n for (let rho = 0; rho < N; rho++) {\n const gInvAlphaRho = gInverseFlat[alpha_N + rho]; // g^{α ρ}\n if (gInvAlphaRho !== 0) {\n const drho = dMetric[rho]; // ∂_ρ g_{μν}\n const rho_N = rho * N;\n // ∂_μ g_{ρν} → index [ρ,ν] in flat ∂_μ g\n const term1 = dmu[rho_N + nu];\n // ∂_ν g_{ρμ} → index [ρ,μ] in flat ∂_ν g\n const term2 = dnu[rho_N + mu];\n // ∂_ρ g_{μν} → index [μ,ν] in flat ∂_ρ g\n const term3 = drho[mu_N + nu];\n sum += gInvAlphaRho * (term1 + term2 - term3);\n }\n }\n Gamma[alpha_N_N + mu_N + nu] = 0.5 * sum;\n }\n }\n }\n\n return engine.fromNested(flatToNestedImpl(Gamma, [N, N, N]), [N, N, N]);\n}\n\n// ---------------------------------------------------------------------------\n// Contraction of Γ with the operand tensor\n// ---------------------------------------------------------------------------\n\n/**\n * Contract Γ^α_{μλ} or Γ^λ_{μα} with the operand tensor along the axis\n * corresponding to `freeIdxPos` (the position of the contracted free index\n * in the operand's flat axis list).\n *\n * S2(c) spec — explicit loop body:\n *\n * Upper case (∇_μ T^α_β):\n * out[α, μ, β, ...] += Γ[α, μ, λ] * T[λ_at_pos, β, ...]\n * i.e., contract over λ (axis `freeIdxPos` of T, axis 2 of Γ)\n *\n * Lower case (∇_μ T_α_β):\n * out[α, μ, β, ...] += Γ[λ, μ, α] * T[λ_at_pos, β, ...]\n * i.e., contract over λ (axis `freeIdxPos` of T, axis 0 of Γ)\n * and α indexes the fixed axis of Γ at position 2.\n *\n * Shape conventions (all row-major):\n * Gamma: shape [N, N, N] — [α or λ, μ, ν or α]\n * ofFlat: flat [totalSize] with strides computed from `ofShape`\n * outputShape: same as the partial-derivative output: [N, ...ofShape]\n * (wrt axis prepended, the freeIdxPos axis contracted out,\n * all other axes kept — but since ∇_μ output equals ∂_μ output shape,\n * we match that shape exactly)\n *\n * @param GammaFlat Flat [N^3] Γ^α_{μν} — [α][μ][ν] row-major\n * @param ofFlat Flat operand data, shape `ofShape`\n * @param ofShape Shape of the operand tensor\n * @param freeIdxPos Position (0-based) of the free index being contracted in `ofShape`\n * @param variance 'upper' → Γ^α_{μλ} contracts λ; 'lower' → Γ^λ_{μα} contracts λ\n * @param N Dimension\n * @param engine Active TensorEngine\n *\n * Returns an EngineTensor of shape [N, ...ofShape_without_freeIdxPos]\n * i.e., the same shape as the partial-derivative output (wrt axis first, others follow).\n */\nexport function contractChristoffelWithOperand(\n GammaFlat: number[],\n ofFlat: number[],\n ofShape: ReadonlyArray<number>,\n freeIdxPos: number,\n variance: 'upper' | 'lower',\n N: number,\n engine: TensorEngine,\n): EngineTensor {\n // Output shape: [N (wrt/mu axis), ...ofShape with freeIdxPos axis removed and\n // replaced by the alpha axis of the Christoffel]\n // Concretely: output has the same shape as ∂_μ T which is [...ofShape, N]\n // with wrtIndex appended. But freeIdx is now contracted (replaced by α):\n // upper: T had axis freeIdxPos as α (upper) → output keeps α at same position, prepends μ\n // lower: T had axis freeIdxPos as α (lower) → output keeps α at same position, prepends μ\n //\n // The output axis order matches ∂_μ T: [...ofShape, N] (wrt axis last? or first?)\n // Actually ∂_μ appends wrt as the LAST axis per v0.3.5 design.\n // So output shape of ∇_μ T = [...ofShape, N] where N is the wrt axis.\n // But the correction term must have the same shape.\n //\n // For the correction: we keep all of T's axes, with freeIdxPos contracting,\n // and add a new μ axis (last, like ∂_μ). The α index replaces the contracted\n // position (same position in the output as freeIdxPos was in T).\n //\n // Output shape = [...ofShape, N] where ofShape[freeIdxPos] stays (α replaces λ)\n // and the last axis N is the μ axis.\n\n const rank = ofShape.length;\n const outShape = [...ofShape, N]; // [...T_shape, mu]\n const outSize = outShape.reduce((a, b) => a * b, 1);\n const out = new Array<number>(outSize).fill(0);\n\n // Build strides for ofFlat and out\n const ofStrides = buildStrides(ofShape);\n const outStrides = buildStrides(outShape);\n\n // Iterate over all output indices\n const outIdx = new Array<number>(outShape.length).fill(0);\n const tIdxBase = new Array<number>(rank).fill(0);\n\n for (let n = 0; n < outSize; n++) {\n const mu = outIdx[rank]; // last axis of output is μ\n // The other axes map to T's indices, with freeIdxPos being the α/result axis\n const alpha = outIdx[freeIdxPos]; // the \"free\" index value (α for upper, α for lower)\n\n let sum = 0;\n\n // Map back to tIdxBase\n for (let k = 0; k < rank; k++) {\n tIdxBase[k] = outIdx[k];\n }\n tIdxBase[freeIdxPos] = 0;\n let tFlat = flatIndex(tIdxBase, ofStrides);\n const tStride = ofStrides[freeIdxPos];\n\n const alpha_N_N = alpha * N * N;\n const mu_N = mu * N;\n const mu_N_alpha = mu_N + alpha;\n\n for (let lam = 0; lam < N; lam++) {\n let gammaFlat: number;\n if (variance === 'upper') {\n // Γ^α_{μλ} — shape [α][μ][λ]\n gammaFlat = alpha_N_N + mu_N + lam;\n } else {\n // Γ^λ_{μα} — shape [λ][μ][α]\n gammaFlat = lam * N * N + mu_N_alpha;\n }\n\n const gVal = GammaFlat[gammaFlat];\n if (gVal !== 0) {\n sum += gVal * ofFlat[tFlat];\n }\n tFlat += tStride;\n }\n\n out[n] = sum;\n\n // Increment multi-index odometer\n for (let k = outShape.length - 1; k >= 0; k--) {\n if (++outIdx[k] < outShape[k]) break;\n outIdx[k] = 0;\n }\n }\n\n return engine.fromNested(flatToNestedImpl(out, outShape), outShape);\n}\n\n// ---------------------------------------------------------------------------\n// Metric-partial-derivative lookup (for 'supplied' strategy)\n// ---------------------------------------------------------------------------\n\n/**\n * Look up ∂_{mu} g from inputs.metricDerivatives.\n * Key format: `${metricName}/${coordLabel}_${mu}` (e.g. 'g/x_0' where\n * 'x' is the coordLabel string and '0' is the mu index). The coordLabel\n * is whatever string the caller passes — typically a coordinate label\n * like 'x', 't', 'r'; the literal Greek letter μ is NOT used as a key.\n * Returns a flat [N*N] array.\n *\n * Strategy 'zero': returns [N*N] zeros.\n * Strategy 'supplied': looks up the key; throws if absent.\n */\nexport function getMetricDerivFlat(\n metricName: string,\n coordLabel: string,\n mu: number,\n strategy: 'zero' | 'supplied',\n N: number,\n metricDerivatives: ReadonlyMap<string, NestedArray> | undefined,\n): number[] {\n if (strategy === 'zero') {\n return new Array<number>(N * N).fill(0);\n }\n // strategy === 'supplied'\n const key = `${metricName}/${coordLabel}_${mu}`;\n const d = metricDerivatives?.get(key);\n if (d === undefined) {\n throw new NumericalBackendError(\n `connection-lowering: no metric derivative supplied for \"${key}\" — ` +\n `a covariant-derivative with derivativeStrategy='supplied' requires ` +\n `inputs.metricDerivatives to contain \"${key}\" (flat [N×N] of ∂_{${mu}} g)`,\n );\n }\n const flat = flattenNA(d);\n if (flat.length !== N * N) {\n throw new NumericalBackendError(\n `connection-lowering: metricDerivatives[\"${key}\"] has ${flat.length} elements, ` +\n `expected ${N * N} (N=${N})`,\n );\n }\n return flat;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"covariant-eikonal.d.ts","sourceRoot":"","sources":["../../src/numerical/covariant-eikonal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAWH;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;2EACuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;OASG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AA2ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiFG;AACH,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"covariant-eikonal.d.ts","sourceRoot":"","sources":["../../src/numerical/covariant-eikonal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAWH;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;2EACuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;OASG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AA2ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiFG;AACH,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAmIjC"}
|
|
@@ -228,8 +228,8 @@ export async function evaluateCovariantEikonalNumerical(inputs) {
|
|
|
228
228
|
try {
|
|
229
229
|
p_r = reconstructNullPr(gInv0, p_t, p_phi);
|
|
230
230
|
}
|
|
231
|
-
catch {
|
|
232
|
-
throw new RangeError(`evaluateCovariantEikonalNumerical: null condition has no real p_r at R_far=${R_far_m} (impact parameter b=${b_m} too large for this geometry)
|
|
231
|
+
catch (cause) {
|
|
232
|
+
throw new RangeError(`evaluateCovariantEikonalNumerical: null condition has no real p_r at R_far=${R_far_m} (impact parameter b=${b_m} too large for this geometry)`, { cause });
|
|
233
233
|
}
|
|
234
234
|
const initialState = {
|
|
235
235
|
x: x0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"covariant-eikonal.js","sourceRoot":"","sources":["../../src/numerical/covariant-eikonal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"covariant-eikonal.js","sourceRoot":"","sources":["../../src/numerical/covariant-eikonal.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Covariant-eikonal method, used by catalog relation be-37.\n *\n * Provides `evaluateCovariantEikonalNumerical`, which encodes the\n * covariant-eikonal equation\n *\n * g^μν ∇_μ ∇_ν S = 0\n *\n * via the connection layer (Tasks 2-3 + 12-14 of v0.4.0). The eikonal\n * residual is **0 by construction**: the null wave-covector\n *\n * k_μ = ∂_μ S = (E, E, 0, 0) (energy + radial component only)\n *\n * satisfies g^μν k_μ k_ν = 0 identically for the +,−,−,− Schwarzschild\n * metric. No numerical integration is performed for this quantity.\n *\n * `shapiroDelaySec` is computed by **GL4-driven null-geodesic integration**\n * on the canonical (x, p) state in the Schwarzschild spacetime (v0.5.0 Task\n * 12, Phase 2c). The photon propagates from `r = R_far_m` down to\n * `r = R_near_m`; coordinate time at the endpoint minus the flat-space\n * straight-line transit time is returned as the Shapiro delay.\n *\n * For the default radial geometry (impact parameter `b_m = 0`) the\n * integrator reproduces the closed-form `(2GM/c³) · ln(R_far/R_near)`\n * (Task 11 cross-checks this to ±2×10⁻³).\n *\n * @see tests/numerical/covariant-eikonal-real.test.ts (Task 12 [U])\n * @see tests/dimensional/covariant-derivative-preview.test.ts (Task 17 [U]/Task 11 [U])\n * @see docs/planning/v0.5.0-Implementation-Plan.md Task 12\n * @module numerical/covariant-eikonal\n * @public\n */\n\nimport { integrateGeodesicGL4 } from './gl4-integrator.js';\nimport { C_SI, G_SI } from '../core/constants.js';\nimport { reconstructNullPr } from './null-ic.js';\n\n// ─── Physical constants (canonical CODATA 2018 + exact-SI definitions) ────\n// Imported from src/core/constants.ts (v0.5.1 PC-1 canonicalization).\nconst c_SI = C_SI;\nconst c2_SI = c_SI * c_SI;\n\n/**\n * Input parameters for the covariant-eikonal method, used by catalog relation be-37.\n * @public\n */\nexport interface CovariantEikonalInputs {\n /** Gravitational source mass in kilograms (must be > 0). */\n readonly M_kg: number;\n /** Far-point radius in metres, i.e. the signal origin (must be > 0). */\n readonly R_far_m: number;\n /** Near-point radius in metres, i.e. the signal destination\n * (must be > 0, ≤ R_far_m, and outside the Schwarzschild horizon). */\n readonly R_near_m: number;\n /**\n * Optional impact parameter `b` in metres for the null geodesic. The\n * photon's angular momentum is set such that the minimum r (closest\n * approach) is `b` in the flat-space limit; `p_φ = b · c` in the\n * affine-parameter normalization used here (`p_t = −c²`).\n *\n * Default `0` — purely radial null geodesic, which reproduces the\n * closed-form `(2GM/c³) · ln(R_far/R_near)` Shapiro delay. Non-zero\n * `b` modifies the geometry and the closed-form comparator changes\n * to `(2GM/c³) · ln((R_far + √(R_far²−b²)) / (R_near + √(R_near²−b²)))`\n * for the single-leg path (closest-approach not crossed).\n *\n * Must satisfy `b ≤ R_near` if non-zero (otherwise the photon cannot\n * reach `R_near` without crossing closest approach).\n */\n readonly b_m?: number;\n /**\n * Optional GL4 step count override. Default `2048` — sufficient for\n * the default radial geometry to reach ≤1e-6 relative agreement with\n * `evaluateShapiroDelay` on Earth/Mars/Sun scales (Task 11).\n */\n readonly steps?: number;\n}\n\n/**\n * Result of `evaluateCovariantEikonalNumerical`.\n * @public\n */\nexport interface CovariantEikonalResult {\n /**\n * Dimensionless relative residual of the eikonal equation g^μν p_μ p_ν = 0,\n * COMPUTED at the initial wave-covector p_μ (whose radial component is solved\n * by `reconstructNullPr` to make the covector genuinely null at r = R_far).\n *\n * Reported as |g^μν p_μ p_ν| normalized by the sum of the |term| magnitudes\n * (the raw contraction is a near-cancellation of ~1e16-scale terms). A\n * well-constructed null covector yields ~machine-ε, confirming the\n * construction numerically rather than asserting it.\n */\n readonly eikonalResidual: number;\n\n /**\n * Shapiro coordinate-time delay in seconds, computed via GL4\n * null-geodesic integration on the canonical (x, p) state.\n *\n * **v0.5.0 Task 12:** real value (was a documented stub returning 0 in\n * v0.4.0). For the default radial geometry (`b_m = 0`) this agrees with\n * the closed-form `(2GM/c³) · ln(R_far/R_near)` to ≤1e-6 relative at\n * the default step count (Task 11 [U]).\n */\n readonly shapiroDelaySec: number;\n\n /**\n * Optional closed-form cross-check value (seconds). Not populated by\n * this evaluator — callers cross-check externally against\n * `evaluateShapiroDelay`.\n */\n readonly closedFormDelaySec?: number;\n}\n\n/**\n * Schwarzschild radius `r_s = 2GM/c²`.\n *\n * Mirrors `tests/fixtures/schwarzschild.ts` (kept private here to avoid\n * a src→tests dependency).\n *\n * @internal\n */\nfunction schwarzschildRs(M_kg: number): number {\n return (2 * G_SI * M_kg) / c2_SI;\n}\n\n/**\n * Returns the contravariant Schwarzschild metric closure g^{μν}(x).\n *\n * SI convention with c² on `g_{tt}` — mirrors the test fixture so the\n * coordinate time `t = x^0` carries seconds and `p_t = −c²` produces\n * `dt/dτ ≈ 1` (τ ≈ coord time far from horizon).\n *\n * @internal\n */\nfunction buildGInverseFn(\n M_kg: number,\n): (x: ReadonlyArray<number>) => Float64Array {\n const r_s = schwarzschildRs(M_kg);\n return function gInverse(x: ReadonlyArray<number>): Float64Array {\n // v0.9.0 O-1: flat row-major Float64Array(16), gInv[mu*4+nu] = g^{μν}.\n const r = x[1];\n const theta = x[2];\n const f = 1 - r_s / r;\n const sinT = Math.sin(theta);\n const gInv = new Float64Array(16);\n gInv[0 * 4 + 0] = -1 / (f * c2_SI);\n gInv[1 * 4 + 1] = f;\n gInv[2 * 4 + 2] = 1 / (r * r);\n gInv[3 * 4 + 3] = 1 / (r * r * sinT * sinT);\n return gInv;\n };\n}\n\n/**\n * Returns ∂_λ g^{μν}(x) as a flat row-major Float64Array(64) with\n * index order `dg[λ*16 + μ*4 + ν]` (v0.9.0 O-1, Decision #1 layout).\n *\n * Only ∂_r and ∂_θ entries are non-zero (static, axisymmetric metric).\n * Sign of `dg[1*16+0*4+0] = ∂_r g^{tt} = +r_s/(r²(1−r_s/r)²c²)` matches the\n * Task 0 fixture fix (positive — incorrectly negative in the v0.5.0\n * pre-Task-3 fixture; reversal would push the photon outward).\n *\n * @internal\n */\nfunction buildDgInverseFn(\n M_kg: number,\n): (x: ReadonlyArray<number>) => Float64Array {\n const r_s = schwarzschildRs(M_kg);\n return function dgInverse(x: ReadonlyArray<number>): Float64Array {\n const r = x[1];\n const theta = x[2];\n const sinT = Math.sin(theta);\n const cosT = Math.cos(theta);\n const f = 1 - r_s / r;\n const dg = new Float64Array(64);\n // ∂_r entries (axis 1)\n dg[1 * 16 + 0 * 4 + 0] = r_s / (r * r * f * f * c2_SI);\n dg[1 * 16 + 1 * 4 + 1] = r_s / (r * r);\n dg[1 * 16 + 2 * 4 + 2] = -2 / (r * r * r);\n dg[1 * 16 + 3 * 4 + 3] = -2 / (r * r * r * sinT * sinT);\n // ∂_θ entry (axis 2)\n dg[2 * 16 + 3 * 4 + 3] = (-2 * cosT) / (r * r * sinT * sinT * sinT);\n return dg;\n };\n}\n\n/**\n * Covariant-eikonal method, used by catalog relation be-37.\n *\n * Returns:\n * - `eikonalResidual`: the computed relative residual of g^μν p_μ p_ν on the\n * null wave-covector (~machine-ε; confirms the null construction).\n * - `shapiroDelaySec`: GL4-integrated coordinate-time delay relative to\n * the flat-space straight-line transit, in seconds.\n *\n * **Algorithm — null geodesic in Schwarzschild via GL4.**\n *\n * 1. Schwarzschild radius `r_s = 2GM/c²`. Domain guard `R_near_m > r_s`\n * (else the photon path crosses the event horizon).\n * 2. Set initial state at `(t=0, r=R_far_m, θ=π/2, φ=0)`. Affine-parameter\n * normalization `p_t = −c²` → `dt/dτ = 1/(1−r_s/r) ≈ 1` far from the\n * horizon (τ ≈ coord time). Set `p_θ = 0` (motion confined to equatorial\n * plane), `p_φ = b_m · c` (Killing-vector angular momentum\n * corresponding to flat-limit impact parameter `b_m`).\n * 3. Solve `p_r` from the null condition `g^μν p_μ p_ν = 0` at the\n * initial point, take the negative root (inward motion: `dr/dτ < 0`\n * since `dr/dτ = g^rr p_r = (1−r_s/r) p_r`).\n * 4. Integrate via `integrateGeodesicGL4` for `tauMax` chosen to overshoot\n * `r = R_near_m` (safety factor 1.5 on the flat-space transit time).\n * 5. Walk snapshots; find the first index where `r ≤ R_near_m`. Linearly\n * interpolate `t` between the bracketing snapshots to land exactly on\n * `r = R_near_m`. Take that `t` as the geodesic coord-time transit.\n * 6. Flat-space reference: for a straight-line null ray with impact\n * parameter `b`, time to go from `r_far` to `r_near` (single leg, no\n * closest-approach crossing) is `(√(r_far²−b²) − √(r_near²−b²))/c`.\n * For `b = 0` (default) this reduces to `(R_far − R_near)/c`.\n * 7. `shapiroDelaySec = t_geodesic − t_flat`.\n *\n * **Sign convention.** Shapiro delay is positive (light slowed by the\n * gravitational potential). A negative result indicates an integration\n * or reference-frame bug.\n *\n * **Impact parameter `b_m`.** Default `0` (radial). The default geometry\n * reproduces the closed-form `evaluateShapiroDelay` to ≤1e-6 relative at\n * 2048 steps for solar-scale Earth/Mars distances (Task 11 cross-check).\n * Non-zero `b_m` requires `b_m ≤ R_near_m` (closest approach `r_min ≈ b`\n * must not lie between R_far and R_near).\n *\n * @param inputs - Source mass + far/near radii (+ optional `b_m`, `steps`):\n * - `M_kg` — gravitational source mass in **kilograms** (SI). Must be a\n * finite positive number.\n * - `R_far_m` — origin radial coordinate in **metres** (SI). The signal\n * start point.\n * - `R_near_m` — destination radial coordinate in **metres** (SI). Must\n * satisfy `0 < R_near_m ≤ R_far_m` and `R_near_m > 1.01 · r_s` (stay\n * comfortably outside the Schwarzschild horizon `r_s = 2GM/c²`).\n * - `b_m` — optional impact parameter in **metres** (SI). Default `0`\n * (purely radial geodesic). Non-zero `b_m` requires `b_m ≤ R_near_m`.\n * - `steps` — optional GL4 integrator step count (dimensionless). Default\n * 2048. Higher = tighter agreement with closed-form Shapiro at\n * additional CPU cost.\n * @returns `{ eikonalResidual, shapiroDelaySec }`:\n * - `eikonalResidual` — **dimensionless** relative residual of\n * `g^μν p_μ p_ν = 0`, computed on the null wave-covector (~machine-ε).\n * - `shapiroDelaySec` — gravitational-time-delay in **seconds** (SI).\n * Positive by sign convention (light is slowed in the potential well).\n * @throws RangeError on out-of-domain inputs.\n *\n * @example\n * ```typescript\n * import { evaluateCovariantEikonalNumerical, G_SI, C_SI } from 'universal-physics-tensor';\n *\n * const M_SUN = 1.989e30; // kg\n * // Radial null geodesic: signal from Earth orbit to solar surface\n * const R_far_m = 1.496e11; // ~1 AU\n * const R_near_m = 6.957e8; // ~solar radius\n *\n * const result = await evaluateCovariantEikonalNumerical({\n * M_kg: M_SUN,\n * R_far_m,\n * R_near_m,\n * });\n * // result.eikonalResidual ≈ 1e-16 (computed; confirms the null construction)\n * // result.shapiroDelaySec ≈ 2e-4 s (Shapiro delay near the Sun)\n * ```\n *\n * @public\n */\nexport async function evaluateCovariantEikonalNumerical(\n inputs: CovariantEikonalInputs,\n): Promise<CovariantEikonalResult> {\n const { M_kg, R_far_m, R_near_m, b_m = 0, steps = 2048 } = inputs;\n\n // ─── Domain guards ──────────────────────────────────────────────────────\n if (!Number.isFinite(M_kg) || M_kg <= 0) {\n throw new RangeError(\n `evaluateCovariantEikonalNumerical: M_kg must be a finite positive number, got ${M_kg}`,\n );\n }\n if (!Number.isFinite(R_far_m) || R_far_m <= 0) {\n throw new RangeError(\n `evaluateCovariantEikonalNumerical: R_far_m must be a finite positive number, got ${R_far_m}`,\n );\n }\n if (!Number.isFinite(R_near_m) || R_near_m <= 0) {\n throw new RangeError(\n `evaluateCovariantEikonalNumerical: R_near_m must be a finite positive number, got ${R_near_m}`,\n );\n }\n if (R_near_m > R_far_m) {\n throw new RangeError(\n `evaluateCovariantEikonalNumerical: R_near_m (${R_near_m}) must be ≤ R_far_m (${R_far_m})`,\n );\n }\n if (!Number.isFinite(b_m) || b_m < 0) {\n throw new RangeError(\n `evaluateCovariantEikonalNumerical: b_m must be a finite non-negative number, got ${b_m}`,\n );\n }\n if (b_m > R_near_m) {\n throw new RangeError(\n `evaluateCovariantEikonalNumerical: b_m (${b_m}) must be ≤ R_near_m (${R_near_m}); closest-approach geometry not supported`,\n );\n }\n const r_s = schwarzschildRs(M_kg);\n if (R_near_m <= r_s * 1.01) {\n throw new RangeError(\n `evaluateCovariantEikonalNumerical: R_near_m (${R_near_m}) must be safely outside the Schwarzschild horizon r_s=${r_s}`,\n );\n }\n\n // ─── Shapiro delay via GL4 null-geodesic integration ────────────────────\n const gInverseFn = buildGInverseFn(M_kg);\n const dgInverseFn = buildDgInverseFn(M_kg);\n\n // Initial state at (t=0, r=R_far, θ=π/2, φ=0). Equatorial plane (p_θ=0).\n // Affine-parameter normalization: p_t = -c² makes dt/dτ ≈ 1 far from\n // horizon, so τ ≈ coord time t and tauMax can be set in units of seconds.\n const x0: number[] = [0, R_far_m, Math.PI / 2, 0];\n const p_t = -c2_SI;\n const p_phi = b_m * c_SI; // Killing-vector conservation: classical b = p_φ/(|p_t|/c²·c) = p_φ/c.\n const p_theta = 0;\n\n // Solve null condition g^μν p_μ p_ν = 0 for p_r at the initial point.\n // Delegated to reconstructNullPr (src/numerical/null-ic.ts) so PC-1.5\n // bench harnesses measure the same production arithmetic.\n const gInv0 = gInverseFn(x0);\n let p_r: number;\n try {\n p_r = reconstructNullPr(gInv0, p_t, p_phi);\n } catch (cause) {\n throw new RangeError(\n `evaluateCovariantEikonalNumerical: null condition has no real p_r at R_far=${R_far_m} (impact parameter b=${b_m} too large for this geometry)`,\n { cause },\n );\n }\n\n const initialState = {\n x: x0,\n p: [p_t, p_r, p_theta, p_phi],\n };\n\n // ─── Eikonal residual ────────────────────────────────────────────────────\n // The eikonal equation is g^μν ∂_μS ∂_νS = 0; the wave-covector is the\n // geodesic momentum p_μ, with p_r solved by reconstructNullPr so the covector\n // is genuinely null at the initial point. Report the ACTUAL contraction\n // g^μν p_μ p_ν, normalized by the sum of |term| magnitudes to a dimensionless\n // relative residual (the raw value is a near-cancellation of ~1e16-scale\n // terms). This is computed, not asserted: ~machine-ε confirms the null\n // construction rather than the earlier hardcoded 0 on a non-null (E,E,0,0).\n let rawResidual = 0;\n let residualScale = 0;\n for (let mu = 0; mu < 4; mu++) {\n for (let nu = 0; nu < 4; nu++) {\n const term = gInv0[mu * 4 + nu] * initialState.p[mu] * initialState.p[nu];\n rawResidual += term;\n residualScale += Math.abs(term);\n }\n }\n const eikonalResidual = residualScale > 0 ? Math.abs(rawResidual) / residualScale : 0;\n\n // Choose tauMax to overshoot R_near with safety margin. With p_t = -c²\n // and far from horizon, dr/dτ ≈ -c for b=0 (radial); slightly slower for\n // non-zero b. Flat-space single-leg time = (√(R_far² − b²) − √(R_near² − b²))/c.\n const flatLegFar = Math.sqrt(R_far_m * R_far_m - b_m * b_m);\n const flatLegNear = Math.sqrt(R_near_m * R_near_m - b_m * b_m);\n const t_flat = (flatLegFar - flatLegNear) / c_SI;\n const tauMax = t_flat * 1.5;\n\n const snapshots = integrateGeodesicGL4(initialState, {\n steps,\n tauMax,\n gInverseFn,\n dgInverseFn,\n domainMinRadius: r_s * 1.01,\n });\n\n // Find the first snapshot with r ≤ R_near_m and linearly interpolate t.\n let t_geodesic: number | undefined;\n for (let i = 1; i < snapshots.length; i++) {\n const rPrev = snapshots[i - 1].x[1];\n const rCurr = snapshots[i].x[1];\n if (rPrev > R_near_m && rCurr <= R_near_m) {\n const tPrev = snapshots[i - 1].x[0];\n const tCurr = snapshots[i].x[0];\n // Linear interpolation: alpha = (R_near - rPrev) / (rCurr - rPrev), in [0, 1].\n const alpha = (R_near_m - rPrev) / (rCurr - rPrev);\n t_geodesic = tPrev + alpha * (tCurr - tPrev);\n break;\n }\n }\n if (t_geodesic === undefined) {\n const rFinal = snapshots[snapshots.length - 1].x[1];\n throw new Error(\n `evaluateCovariantEikonalNumerical: photon did not reach R_near=${R_near_m} within tauMax=${tauMax} s; final r=${rFinal}. Try increasing steps or tauMax.`,\n );\n }\n\n const shapiroDelaySec = t_geodesic - t_flat;\n\n return { eikonalResidual, shapiroDelaySec };\n}\n"]}
|
|
@@ -84,6 +84,26 @@ export declare function dGammaAt(x: ReadonlyArray<number>, gFn: MetricFn, gInver
|
|
|
84
84
|
* σ in the SECOND lower slot of each Γ (F4/S3 correction).
|
|
85
85
|
*/
|
|
86
86
|
export declare function buildRiemann(gamma: GammaTensor, dGamma: DGammaTensor, N: number): number[][][][];
|
|
87
|
+
/**
|
|
88
|
+
* Compute the upper-Riemann tensor R^ρ_{σμν} at coordinate x using the same
|
|
89
|
+
* Γ + ∂Γ pipeline as the riemann-tensor lowering case. Encapsulates the
|
|
90
|
+
* full christoffelAt + dGammaAt + buildRiemann sequence so callers (Task 9
|
|
91
|
+
* Bianchi residual) can sample R at perturbed coordinates without
|
|
92
|
+
* re-implementing the FD machinery. The curvature report of `upt metric`
|
|
93
|
+
* reads it too.
|
|
94
|
+
* @internal
|
|
95
|
+
*/
|
|
96
|
+
export declare function riemannUpperAt(x: ReadonlyArray<number>, gFn: MetricFn, gInverseFn: MetricFn, N: number, engine: TensorEngine, gammaAtX?: number[][][]): number[][][][];
|
|
97
|
+
/**
|
|
98
|
+
* Lower the upper-ρ index of R^ρ_{σμν} via the covariant metric g_{aρ}:
|
|
99
|
+
*
|
|
100
|
+
* R_{aσμν} = Σ_ρ g_{aρ} R^ρ_{σμν}
|
|
101
|
+
*
|
|
102
|
+
* Output index order: `[a][σ][μ][ν]` — all four lower. (a is the freshly
|
|
103
|
+
* lowered index in the first slot.)
|
|
104
|
+
* @internal
|
|
105
|
+
*/
|
|
106
|
+
export declare function lowerFirstIndex(R: number[][][][], gLowerFlat: ReadonlyArray<number>, N: number): number[][][][];
|
|
87
107
|
/**
|
|
88
108
|
* Sample the all-lower Riemann tensor R_{αβγδ}(x) — combines `riemannUpperAt`
|
|
89
109
|
* with `lowerFirstIndex` for the single-coordinate evaluation. Used both as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curvature-lowering-helpers.d.ts","sourceRoot":"","sources":["../../src/numerical/curvature-lowering-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAI/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAKpF;;mEAEmE;AACnE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,YAAY,CAAC;AAOtE;;;sEAGsE;AACtE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC;AAEjE;;;;;;;;GAQG;AACH,KAAK,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAE7E;;qDAEqD;AACrD,KAAK,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AA6I/D;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,EACxB,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,QAAQ,EACpB,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,YAAY,GACnB,MAAM,EAAE,EAAE,EAAE,CAiBd;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,EACxB,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,QAAQ,EACpB,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,YAAY,GACnB,YAAY,CAyCd;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,YAAY,EACpB,CAAC,EAAE,MAAM,GACR,MAAM,EAAE,EAAE,EAAE,EAAE,CAyEhB;
|
|
1
|
+
{"version":3,"file":"curvature-lowering-helpers.d.ts","sourceRoot":"","sources":["../../src/numerical/curvature-lowering-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -308,9 +308,11 @@ export function buildRiemann(gamma, dGamma, N) {
|
|
|
308
308
|
* Γ + ∂Γ pipeline as the riemann-tensor lowering case. Encapsulates the
|
|
309
309
|
* full christoffelAt + dGammaAt + buildRiemann sequence so callers (Task 9
|
|
310
310
|
* Bianchi residual) can sample R at perturbed coordinates without
|
|
311
|
-
* re-implementing the FD machinery.
|
|
311
|
+
* re-implementing the FD machinery. The curvature report of `upt metric`
|
|
312
|
+
* reads it too.
|
|
313
|
+
* @internal
|
|
312
314
|
*/
|
|
313
|
-
function riemannUpperAt(x, gFn, gInverseFn, N, engine,
|
|
315
|
+
export function riemannUpperAt(x, gFn, gInverseFn, N, engine,
|
|
314
316
|
// Optional precomputed Γ^ρ_{σν} at x — `christoffelAt` is a pure function of
|
|
315
317
|
// x, so reusing the caller's center evaluation is numerically identical and
|
|
316
318
|
// avoids one redundant Christoffel compute (the Bianchi path already has it).
|
|
@@ -326,8 +328,9 @@ gammaAtX) {
|
|
|
326
328
|
*
|
|
327
329
|
* Output index order: `[a][σ][μ][ν]` — all four lower. (a is the freshly
|
|
328
330
|
* lowered index in the first slot.)
|
|
331
|
+
* @internal
|
|
329
332
|
*/
|
|
330
|
-
function lowerFirstIndex(R, gLowerFlat, N) {
|
|
333
|
+
export function lowerFirstIndex(R, gLowerFlat, N) {
|
|
331
334
|
// Bolt: Exploit physical 4D spacetime constraints to fully unroll the first-index
|
|
332
335
|
// tensor lowering loop. By eliminating repetitive `a * N + rho` multi-dimensional
|
|
333
336
|
// arithmetic operations and creating fully formed array closures without
|