universal-physics-tensor 9.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 +19 -16
- package/data/atlas/atlas.json +55 -44
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +19 -18
- package/data/atlas/oscillators.json +15 -10
- package/data/atlas/waves.json +23 -18
- package/data/bridge-catalog.json +886 -1473
- package/data/bridge-catalog.schema.json +349 -132
- package/data/quantities.json +53 -19
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +33 -4
- 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.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 +15 -8
- 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.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +79 -45
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +143 -62
- 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.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 +17 -9
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +12 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +171 -8
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +48 -24
- 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 +15 -2
- package/dist/bridges/evaluation-errors.d.ts.map +1 -1
- package/dist/bridges/evaluation-errors.js +20 -2
- package/dist/bridges/evaluation-errors.js.map +1 -1
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +17 -2
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +49 -16
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +27 -4
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +90 -10
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +5 -1
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +18 -3
- 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.js.map +1 -1
- 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.js.map +1 -1
- 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.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.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +4 -4
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +2 -2
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +2 -2
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- 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 +29 -22
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +5 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- 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.js.map +1 -1
- 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.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +42 -7
- 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 +1 -3
- 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 -20
- 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.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 +42 -17
- 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 +15 -9
- 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 +13 -10
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +53 -31
- 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 +14 -7
- 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 +40 -10
- 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 +82 -89
- 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 -18
- 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 +24 -26
- 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 +13 -9
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +1 -1
- package/dist/cli/commands/testplan.js.map +1 -1
- 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.js.map +1 -1
- 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.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.js +1 -1
- 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 +15 -9
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +14 -13
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.js.map +1 -1
- 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 -18
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +57 -47
- 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 +8 -9
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +25 -67
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js.map +1 -1
- 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 +153 -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 +21 -11
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +81 -21
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +19 -8
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +24 -11
- 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.js.map +1 -1
- package/dist/composition/explain.d.ts +14 -9
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +46 -13
- package/dist/composition/explain.js.map +1 -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 +6 -4
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +4 -3
- 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 +11 -4
- 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 +16 -6
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +34 -9
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- 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 +8 -8
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +8 -10
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.js.map +1 -1
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/json-schema.d.ts +1 -1
- package/dist/core/json-schema.d.ts.map +1 -1
- package/dist/core/json-schema.js +31 -7
- package/dist/core/json-schema.js.map +1 -1
- 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.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 +10 -6
- 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 +16 -5
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +16 -4
- 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.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.map +1 -1
- package/dist/dimensional/constant-rows.js +9 -5
- package/dist/dimensional/constant-rows.js.map +1 -1
- package/dist/dimensional/constants.d.ts +5 -6
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +5 -6
- 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 +13 -7
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +49 -23
- 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.js.map +1 -1
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- 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 +13 -0
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +14 -6
- 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.map +1 -1
- package/dist/dimensional/symbolic-constants.js +7 -2
- 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.map +1 -1
- package/dist/dimensional/unit-data.js +9 -5
- package/dist/dimensional/unit-data.js.map +1 -1
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +38 -20
- 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 +50 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -20
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +11 -6
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +126 -122
- 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.map +1 -1
- package/dist/numerical/evaluator-uncertainty.js +19 -2
- package/dist/numerical/evaluator-uncertainty.js.map +1 -1
- package/dist/numerical/formula-contract.d.ts +63 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +61 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +8 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +58 -36
- 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 +5 -2
- 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 +41 -42
- 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 +13 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +126 -248
- 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 +18 -5
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +5 -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
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shape of one atlas family. A leaf module: every family index, the
|
|
3
|
+
* registry (`families.ts`), the serializer and the exporters import the type
|
|
4
|
+
* from here, so no family's index is the owner of a type the others share.
|
|
5
|
+
* The sentence that `AtlasFamily` was declared in `oscillators/index.ts` and
|
|
6
|
+
* imported from there by the other families is the record from before this
|
|
7
|
+
* module.
|
|
8
|
+
*
|
|
9
|
+
* @module atlas/family
|
|
10
|
+
*/
|
|
11
|
+
import type { AtlasModel } from './model.js';
|
|
12
|
+
import type { AtlasBridge, AtlasRejection } from './types.js';
|
|
13
|
+
/**
|
|
14
|
+
* One atlas family: its models, the bridges between them, and the claimed
|
|
15
|
+
* bridges that were refuted. A rejection is evidence, not an omission, so it
|
|
16
|
+
* travels with the family rather than being dropped.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export interface AtlasFamily {
|
|
21
|
+
/** `'oscillators'`. */
|
|
22
|
+
readonly family: string;
|
|
23
|
+
readonly models: readonly AtlasModel[];
|
|
24
|
+
readonly bridges: readonly AtlasBridge[];
|
|
25
|
+
readonly rejections: readonly AtlasRejection[];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=family.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"family.d.ts","sourceRoot":"","sources":["../../src/atlas/family.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;CAChD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shape of one atlas family. A leaf module: every family index, the
|
|
3
|
+
* registry (`families.ts`), the serializer and the exporters import the type
|
|
4
|
+
* from here, so no family's index is the owner of a type the others share.
|
|
5
|
+
* The sentence that `AtlasFamily` was declared in `oscillators/index.ts` and
|
|
6
|
+
* imported from there by the other families is the record from before this
|
|
7
|
+
* module.
|
|
8
|
+
*
|
|
9
|
+
* @module atlas/family
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=family.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"family.js","sourceRoot":"","sources":["../../src/atlas/family.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG","sourcesContent":["/**\n * The shape of one atlas family. A leaf module: every family index, the\n * registry (`families.ts`), the serializer and the exporters import the type\n * from here, so no family's index is the owner of a type the others share.\n * The sentence that `AtlasFamily` was declared in `oscillators/index.ts` and\n * imported from there by the other families is the record from before this\n * module.\n *\n * @module atlas/family\n */\n\nimport type { AtlasModel } from './model.js';\nimport type { AtlasBridge, AtlasRejection } from './types.js';\n\n/**\n * One atlas family: its models, the bridges between them, and the claimed\n * bridges that were refuted. A rejection is evidence, not an omission, so it\n * travels with the family rather than being dropped.\n *\n * @internal\n */\nexport interface AtlasFamily {\n /** `'oscillators'`. */\n readonly family: string;\n readonly models: readonly AtlasModel[];\n readonly bridges: readonly AtlasBridge[];\n readonly rejections: readonly AtlasRejection[];\n}\n"]}
|
package/dist/atlas/index.d.ts
CHANGED
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
* @module atlas
|
|
26
26
|
*/
|
|
27
27
|
export type { RelationType, EvidenceTag, LimitCharacter, RegimeInequality, Regime, ApproximationBound, Witness, Counterexample, AtlasBridge, AtlasRejection, FormalFidelity, FormalRef, FormalRefKind, NormTransport, } from './types.js';
|
|
28
|
-
|
|
28
|
+
/** Thrown by a bound whose `deltaAt`, `horizonHolds` or Lipschitz constant is missing. */
|
|
29
|
+
export { MissingDeltaAtError, MissingHorizonError, MissingLipschitzError } from './types.js';
|
|
29
30
|
export { ALL_EVIDENCE_TAGS } from './types.js';
|
|
30
31
|
export { deriveCompositeEvidence, deriveEvidence, deriveEvidenceForVerdict, NO_PASSING_WITNESSES, provedWithUnresolvedCounterexample } from './derive-evidence.js';
|
|
31
32
|
export type { CounterexampleLike, EvidenceInput, MembershipVerdict, RejectionLike, WitnessLike, } from './derive-evidence.js';
|
|
@@ -41,7 +42,7 @@ export type { RegimeCheck } from './regime.js';
|
|
|
41
42
|
export { CAPACITANCE, CUBIC_STIFFNESS, DAMPING, INDUCTANCE, RESISTANCE, SPRING_CONSTANT, } from './oscillators/dimensions.js';
|
|
42
43
|
export { ATLAS_MODELS, getAtlasModel } from './oscillators/models.js';
|
|
43
44
|
export { OSCILLATOR_FAMILY } from './oscillators/index.js';
|
|
44
|
-
export type { AtlasFamily } from './
|
|
45
|
+
export type { AtlasFamily } from './family.js';
|
|
45
46
|
export { toAtlasJson, ATLAS_RECORD_SCHEMA_VERSION } from './serialize.js';
|
|
46
47
|
export type { AtlasRecordJson, JsonValue } from './serialize.js';
|
|
47
48
|
export { blockingFindings, checkApplicability, } from './applicability.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/atlas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,YAAY,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,MAAM,EACN,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/atlas/index.ts"],"names":[],"mappings":"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"}
|
package/dist/atlas/index.js
CHANGED
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
*
|
|
25
25
|
* @module atlas
|
|
26
26
|
*/
|
|
27
|
-
|
|
27
|
+
/** Thrown by a bound whose `deltaAt`, `horizonHolds` or Lipschitz constant is missing. */
|
|
28
|
+
export { MissingDeltaAtError, MissingHorizonError, MissingLipschitzError } from './types.js';
|
|
28
29
|
export { ALL_EVIDENCE_TAGS } from './types.js';
|
|
29
30
|
// The Phase 1–3 core. Absent from this barrel until the S6.7 API review found
|
|
30
31
|
// the gap: subpath users could not reach evidence derivation, the composition
|
package/dist/atlas/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/atlas/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/atlas/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 0 barrel — the oscillator pilot.\n *\n * Reachable only through the `universal-physics-tensor/atlas` subpath. Not\n * re-exported from the root `universal-physics-tensor` entry before Phase 6.\n *\n * All symbols are `@internal`: these are throwaway pilot types (design note\n * §4), not a stability contract.\n *\n * ⚠ **THE INVARIANT IS: NEVER THE BARREL.** `src/bridges/` and\n * `src/composition/` must not import THIS FILE — `src/atlas/` imports\n * `bridges/*` and `composition/*`, so a barrel import closes a cycle that\n * `bun run docs:deps` reports. Importing a leaf module (`./types.js`,\n * `./regime.js`, `./composition-table.js`, …) is fine. `src/bridges/` does\n * not import this directory. Catalog formal references live in\n * `src/atlas/catalog-formal-ref.ts`.\n *\n * This comment used to say \"TYPES ONLY, and only from `src/atlas/types.js`\",\n * which the tree HAS NEVER SATISFIED while `docs:deps` reported 0 cycles.\n * A rule stricter than the invariant it protects gets silently violated by\n * correct code, and the next reader either believes a false description of\n * the tree or \"fixes\" code that was right. Corrected 2026-09-22 against the\n * same measurement that corrected `CLAUDE.md`.\n *\n * @module atlas\n */\n\nexport type {\n RelationType,\n EvidenceTag,\n LimitCharacter,\n RegimeInequality,\n Regime,\n ApproximationBound,\n Witness,\n Counterexample,\n AtlasBridge,\n AtlasRejection,\n FormalFidelity,\n FormalRef,\n FormalRefKind,\n NormTransport,\n} from './types.js';\n/** Thrown by a bound whose `deltaAt`, `horizonHolds` or Lipschitz constant is missing. */\nexport { MissingDeltaAtError, MissingHorizonError, MissingLipschitzError } from './types.js';\nexport { ALL_EVIDENCE_TAGS } from './types.js';\n\n// The Phase 1–3 core. Absent from this barrel until the S6.7 API review found\n// the gap: subpath users could not reach evidence derivation, the composition\n// table or path bounding at all (tests/atlas/barrel-completeness.test.ts).\nexport { deriveCompositeEvidence, deriveEvidence, deriveEvidenceForVerdict, NO_PASSING_WITNESSES, provedWithUnresolvedCounterexample } from './derive-evidence.js';\nexport type {\n CounterexampleLike,\n EvidenceInput,\n MembershipVerdict,\n RejectionLike,\n WitnessLike,\n} from './derive-evidence.js';\nexport { composeRelation, COMPOSITION_TABLE, NO_COMPOSITE_CLAIM } from './composition-table.js';\nexport type { CompositionResult, NoCompositeClaim } from './composition-table.js';\nexport { boundPath, findAtlasPath, findPath, horizonOnRoute, routeEntryModels } from './path-bound.js';\nexport type { AppliedTransport, NoClaimReason, PathBoundClaim, PathBoundResult, PathNoClaim } from './path-bound.js';\n\nexport type { AtlasModel, ModelId } from './model.js';\n\nexport { composeBounds, composeBoundPath, IDENTITY_BOUND } from './error-algebra.js';\nexport type { BoundPair, ComposedPath } from './error-algebra.js';\n\nexport { deriveRegimeGroups, regimeHolds } from './regime.js';\nexport type { RegimeCheck } from './regime.js';\n\nexport {\n CAPACITANCE,\n CUBIC_STIFFNESS,\n DAMPING,\n INDUCTANCE,\n RESISTANCE,\n SPRING_CONSTANT,\n} from './oscillators/dimensions.js';\n\nexport { ATLAS_MODELS, getAtlasModel } from './oscillators/models.js';\n\nexport { OSCILLATOR_FAMILY } from './oscillators/index.js';\nexport type { AtlasFamily } from './family.js';\n\nexport { toAtlasJson, ATLAS_RECORD_SCHEMA_VERSION } from './serialize.js';\nexport type { AtlasRecordJson, JsonValue } from './serialize.js';\n\nexport {\n blockingFindings,\n checkApplicability,\n} from './applicability.js';\nexport type {\n ApplicabilityFinding,\n ApplicabilityFindingKind,\n ApplicabilityInput,\n ApplicabilitySeverity,\n} from './applicability.js';\n\nexport { passingWitnessIds } from './witness-result.js';\nexport type {\n UnresolvedReason,\n WitnessRunResult,\n WitnessStatus,\n} from './witness-result.js';\n\nexport { ATLAS_FAMILIES } from './families.js';\nexport { runLinkPrediction } from './link-prediction.js';\nexport { ATLAS_ID_PREFIX, toAtlasJsonLd, toCombinedAtlasJson } from './export.js';\nexport type { QudtResolution } from './export.js';\nexport type { LinkPredictionResult, LinkPredictionTrial } from './link-prediction.js';\nexport { DIFFUSION_FAMILY } from './diffusion/index.js';\nexport {\n BRIDGE_HEAT_DIFFUSION,\n BRIDGE_SCHRODINGER_DIFFUSION,\n BRIDGE_WALK_DIFFUSION,\n DIFFUSION_BRIDGES,\n} from './diffusion/bridges.js';\nexport { DIFFUSION_MODELS, getDiffusionModel } from './diffusion/models.js';\nexport { WAVES_FAMILY } from './waves/index.js';\nexport {\n BRIDGE_KLEIN_GORDON_WAVE,\n BRIDGE_SOUND_SPEED,\n BRIDGE_STRING_WAVE,\n BRIDGE_WAVE_DALEMBERT,\n WAVE_BRIDGES,\n} from './waves/bridges.js';\nexport { WAVE_MODELS } from './waves/models.js';\nexport { DIFFUSION_CLOSURE_BRIDGES } from './diffusion/bridges-closure.js';\nexport { WAVE_CLOSURE_BRIDGES } from './waves/bridges-closure.js';\n\n// Phase 5 benchmark: the PURE parts only. `benchmark/loader.ts` reads files and is\n// deliberately not re-exported, so importing this barrel never pulls in file I/O.\nexport { FAILURE_KINDS, HELD_OUT_FAMILY, HELD_OUT_MARKERS } from './benchmark/types.js';\nexport type { Authorship, BenchmarkItem, BenchmarkSplit, FailureKind } from './benchmark/types.js';\nexport { checkRenamedVariants, findCrossSplitLeakage, leakageKey } from './benchmark/leakage.js';\nexport type { LeakageCollision, VariantProblem } from './benchmark/leakage.js';\nexport {\n ABLATION_CONFIGS,\n FULL_CONFIG,\n runAtlasCondition,\n runAtlasOnItem,\n} from './benchmark/run-atlas.js';\nexport type { AtlasRunConfig, AtlasVerdict } from './benchmark/run-atlas.js';\nexport {\n rankBySymbolOverlap,\n rankByStructure,\n rankByTextOverlap,\n recallAtK,\n} from './benchmark/baselines.js';\nexport type { CorpusRecord, Ranking, RetrievalQuery } from './benchmark/baselines.js';\nexport {\n ATLAS_ONLY_NOTE,\n EMBEDDING_INSTRUCTION,\n FROZEN_VECTOR_DIMS,\n FROZEN_VECTOR_SHA256,\n OLLAMA_EMBEDDING_MODEL,\n OLLAMA_TIMEOUT_MS,\n PROPOSAL_NOTE,\n EmbeddingUnavailable,\n canonicalRetrievalCorpus,\n cosine,\n decodeFloat32,\n ollamaEmbedder,\n queryInput,\n rankByCosine,\n retrieveHybrid,\n stubEmbedder,\n stubVector,\n} from './benchmark/hybrid-retrieval.js';\nexport type { Embedder, EmbeddingFallbackReason, HybridRetrieval, OllamaEmbedderOptions } from './benchmark/hybrid-retrieval.js';\nexport { parseBackendResponse } from './benchmark/backend-shapes.js';\nexport {\n cohensKappa,\n mcnemar,\n pairedDifferenceInterval,\n powerReport,\n wilsonInterval,\n Z95,\n} from './benchmark/stats.js';\nexport type { Interval, McNemarResult, PairedTable, PowerReport } from './benchmark/stats.js';\nexport { pairedRejection, scoreAblation, scoreCondition } from './benchmark/study.js';\nexport type {\n AblationRow,\n ConditionAnswer,\n ConditionMetrics,\n ItemLabel,\n PairedRejection,\n} from './benchmark/study.js';\nexport type {\n BackendShapeError,\n BenchmarkBackendRequest,\n BenchmarkBackendResponse,\n} from './benchmark/backend-shapes.js';\n\nexport { runWitnessRegistry, artifactPassingWitnessIds } from './witness-artifact.js';\nexport type { WitnessResultRecord, WitnessResultsArtifact } from './witness-artifact.js';\n\nexport { WITNESS_REGISTRY } from './witness-specs.js';\nexport type {\n RegisteredNumericWitness,\n RegisteredSymbolicWitness,\n RegisteredWitness,\n} from './witness-specs.js';\n\nexport { runSymbolicWitness } from './witness-symbolic.js';\nexport type { SymbolicSimplifier, SymbolicWitnessSpec } from './witness-symbolic.js';\n\nexport { runNumericWitness } from './witness-numeric.js';\nexport type {\n Convergence,\n NumericWitnessRunResult,\n NumericWitnessSpec,\n} from './witness-numeric.js';\n\nexport { contextUnion, statementContextUnion } from './statement.js';\nexport type {\n Context,\n ContextUnionFormed,\n ContextUnionRefused,\n ContextUnionResult,\n NoUnionReason,\n Statement,\n StatementId,\n} from './statement.js';\n\nexport {\n composeDerivations,\n composeDerivationsOrThrow,\n DerivationCompositionError,\n makeDerivation,\n} from './derivation.js';\nexport type {\n CompositeFormed,\n CompositeRefused,\n Derivation,\n DerivationCompositionResult,\n DerivationId,\n DerivationSpec,\n NoCompositeReason,\n} from './derivation.js';\n"]}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* @module atlas/link-prediction
|
|
27
27
|
* @internal
|
|
28
28
|
*/
|
|
29
|
-
import type { AtlasFamily } from './
|
|
29
|
+
import type { AtlasFamily } from './family.js';
|
|
30
30
|
/** One held-out pair and whether each predictor recovered it. @internal */
|
|
31
31
|
export interface LinkPredictionTrial {
|
|
32
32
|
readonly bridgeId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-prediction.d.ts","sourceRoot":"","sources":["../../src/atlas/link-prediction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"link-prediction.d.ts","sourceRoot":"","sources":["../../src/atlas/link-prediction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qFAAqF;IACrF,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAsBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,CAAC,SAAK,GAAG,oBAAoB,CAkEhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-prediction.js","sourceRoot":"","sources":["../../src/atlas/link-prediction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"link-prediction.js","sourceRoot":"","sources":["../../src/atlas/link-prediction.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 6, S6.3 — link prediction over the typed model graph: ONE result,\n * stated as a hypothesis about the representation.\n *\n * Design note: `docs/planning/Atlas-Phase-6-Design.md` §1.\n *\n * The graph: every model in every registered family is a node; every\n * premise→conclusion pair of every bridge is an undirected edge. The test is\n * leave-one-bridge-out: remove a bridge's edges, then ask each predictor to rank\n * the conclusion among every model not already adjacent to the premise. A hit is\n * the held-out conclusion inside the top k.\n *\n * - **structural predictor** — common neighbours in the remaining graph, ties\n * broken by sharing the premise's family, then by id;\n * - **text baseline** — word-token overlap between the models' dynamics and\n * state-space descriptions, ties broken by id.\n *\n * ⚠ **What this result cannot carry.** The graph is small (24 models, 22 pairs)\n * and was curated by the same agent that runs the test, in-distribution. It is a\n * statement about how this representation behaves on its own content — not a\n * discovery claim, not a hub or gap claim, and not evidence about physics the\n * atlas does not contain. ROADMAP Phase 6 asks for it as a hypothesis test, and\n * that is its whole scope. Product A (`src/composition/discovery.ts`) is not\n * touched: a test pins that nothing under `src/atlas/` imports it.\n *\n * @module atlas/link-prediction\n * @internal\n */\n\nimport type { AtlasFamily } from './family.js';\nimport type { AtlasModel } from './model.js';\n\n/** One held-out pair and whether each predictor recovered it. @internal */\nexport interface LinkPredictionTrial {\n readonly bridgeId: string;\n readonly premise: string;\n readonly conclusion: string;\n /** 1-based rank of the held-out conclusion; Infinity when it was not a candidate. */\n readonly structuralRank: number;\n readonly textRank: number;\n /** How many candidates the conclusion competed against. */\n readonly candidates: number;\n}\n\n/** The whole leave-one-bridge-out run. @internal */\nexport interface LinkPredictionResult {\n readonly k: number;\n readonly trials: readonly LinkPredictionTrial[];\n /**\n * Held-out pairs whose endpoints stay adjacent through ANOTHER bridge. Such a\n * pair is not a missing link — the conclusion cannot even be a candidate — so\n * it is excluded from the trials and counted here instead of silently.\n */\n readonly stillConnected: number;\n readonly structuralHits: number;\n readonly textHits: number;\n /**\n * The hit rate a RANDOM ranking would get: the mean over trials of\n * min(k, candidates)/candidates. On a small graph this is high, and a\n * predictor's recall means nothing until it is read against it.\n */\n readonly chanceRecall: number;\n /** Mean reciprocal rank of the held-out conclusion. */\n readonly structuralMrr: number;\n readonly textMrr: number;\n}\n\nconst tokens = (text: string): Set<string> =>\n new Set(text.toLowerCase().split(/[^\\p{L}\\p{N}]+/u).filter((t) => t.length > 0));\n\nconst jaccard = (a: ReadonlySet<string>, b: ReadonlySet<string>): number => {\n if (a.size === 0 && b.size === 0) return 0;\n let inter = 0;\n for (const x of a) if (b.has(x)) inter++;\n return inter / (a.size + b.size - inter);\n};\n\n/** Rank candidates by descending score list (lexicographic), then ascending id. */\nfunction rank(candidates: readonly string[], score: (id: string) => readonly number[]): string[] {\n return [...candidates].sort((x, y) => {\n const sx = score(x);\n const sy = score(y);\n for (let i = 0; i < sx.length; i++) if (sx[i] !== sy[i]) return sy[i]! - sx[i]!;\n return x < y ? -1 : x > y ? 1 : 0;\n });\n}\n\n/**\n * Run leave-one-bridge-out link prediction over the families' model graph.\n *\n * @param families - the atlas families (normally `ATLAS_FAMILIES`).\n * @param k - the depth a hit must fall within (10, as pre-registered for recall).\n * @internal\n */\nexport function runLinkPrediction(families: readonly AtlasFamily[], k = 10): LinkPredictionResult {\n const models = new Map<string, AtlasModel>();\n for (const f of families) for (const m of f.models) models.set(m.id, m);\n const bridges = families.flatMap((f) => f.bridges);\n\n const edgesOf = (b: (typeof bridges)[number]): Array<readonly [string, string]> =>\n b.premises.map((p) => [p, b.conclusion] as const);\n\n const trials: LinkPredictionTrial[] = [];\n let stillConnected = 0;\n for (const held of bridges) {\n // The graph WITHOUT the held-out bridge.\n const adj = new Map<string, Set<string>>();\n for (const id of models.keys()) adj.set(id, new Set());\n for (const b of bridges) {\n if (b === held) continue;\n for (const [u, v] of edgesOf(b)) {\n adj.get(u)?.add(v);\n adj.get(v)?.add(u);\n }\n }\n for (const [premise, conclusion] of edgesOf(held)) {\n const pModel = models.get(premise);\n if (pModel === undefined) continue;\n const neighbours = adj.get(premise) ?? new Set<string>();\n if (neighbours.has(conclusion)) {\n stillConnected++;\n continue;\n }\n const candidates = [...models.keys()].filter((id) => id !== premise && !neighbours.has(id));\n const common = (id: string): number => {\n let n = 0;\n for (const x of adj.get(id) ?? []) if (neighbours.has(x)) n++;\n return n;\n };\n const structural = rank(candidates, (id) => [common(id), models.get(id)!.family === pModel.family ? 1 : 0]);\n const pText = tokens(`${pModel.dynamics} ${pModel.stateSpace}`);\n const text = rank(candidates, (id) => {\n const m = models.get(id)!;\n return [jaccard(pText, tokens(`${m.dynamics} ${m.stateSpace}`))];\n });\n const at = (list: string[]): number => {\n const i = list.indexOf(conclusion);\n return i < 0 ? Number.POSITIVE_INFINITY : i + 1;\n };\n trials.push({\n bridgeId: held.id,\n premise,\n conclusion,\n structuralRank: at(structural),\n textRank: at(text),\n candidates: candidates.length,\n });\n }\n }\n const mean = (xs: readonly number[]): number => (xs.length === 0 ? Number.NaN : xs.reduce((a, b) => a + b, 0) / xs.length);\n return {\n k,\n trials,\n stillConnected,\n structuralHits: trials.filter((t) => t.structuralRank <= k).length,\n textHits: trials.filter((t) => t.textRank <= k).length,\n chanceRecall: mean(trials.map((t) => Math.min(k, t.candidates) / t.candidates)),\n structuralMrr: mean(trials.map((t) => 1 / t.structuralRank)),\n textMrr: mean(trials.map((t) => 1 / t.textRank)),\n };\n}\n"]}
|
package/dist/atlas/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/atlas/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/atlas/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG","sourcesContent":["/**\n * The `Model` record — Phase 3's promotion of the Phase 0 `AtlasModel`.\n *\n * ROADMAP Phase 3 makes the MODEL the unit rather than the equation: state\n * space, dynamics, observables, parameters, boundary/initial data, symmetry\n * group where known, regime. This module is the record's new home; the nine\n * Phase 0 fields are carried over unchanged and three are added.\n *\n * **`boundaryData`, `initialData` and `symmetryGroup` are all OPTIONAL**\n * (`docs/planning/Atlas-Phase-3-Design.md` §4, which supersedes the\n * implementation plan's wording on the first two). No boundary or initial\n * data is recorded for the nine oscillator models, so a required field would\n * force either fabricated values or empty ones asserting \"there are none\".\n * `oscillators/models.ts` refuses exactly that fabrication for `inequalities`.\n * **An absent field says \"not recorded\"; a present empty one says \"there are\n * none\", and only one of those is true here** — so the nine literals stay\n * byte-identical and record nothing they do not have a source for.\n *\n * `src/atlas/serialize.ts` enumerates model fields explicitly, so a model\n * carrying none of the three serializes byte-identically to Phase 0's\n * committed `data/atlas/oscillators.json`.\n *\n * @module atlas/model\n */\n\nimport type { DimensionalVariable } from '../dimensional/buckingham.js';\nimport type { Regime } from './types.js';\n\n/**\n * One model in the atlas.\n *\n * The first nine fields are Phase 0's `AtlasModel` verbatim. The last three\n * are the Phase 3 additions and are omitted, never emptied, when unrecorded.\n *\n * @public\n */\nexport interface AtlasModel {\n /** `'model-spring'`, `'model-lc'`, … */\n readonly id: string;\n readonly family: string;\n readonly stateSpace: string;\n /** Display form of the ODE. */\n readonly dynamics: string;\n readonly observables: readonly string[];\n /** Dimensioned parameters. */\n readonly parameters: readonly DimensionalVariable[];\n /** `'theta0'`, `'qa'` — declared with the zero dimension. */\n readonly dimensionlessInputs: readonly string[];\n /** `'CE-simple-harmonic-frequency'`, … — must resolve in `CANONICAL_EQUATIONS`. */\n readonly canonicalRefs: readonly string[];\n readonly regime: Regime;\n\n // ── Phase 3 additions (OPTIONAL; a model without them is unchanged) ─────\n /**\n * Boundary conditions the model is posed with, each as its stated display\n * form (`'u(0, t) = u(L, t) = 0'`). **Omit when none is recorded** — an\n * empty array would claim the model has no boundary conditions.\n */\n readonly boundaryData?: readonly string[];\n /**\n * Initial conditions the model is posed with (`'x(0) = x₀'`). Omit when\n * none is recorded; see `boundaryData`.\n */\n readonly initialData?: readonly string[];\n /**\n * The symmetry group where it is known, as stated (`'SO(2)'`,\n * `'time translation'`). Omit when unknown — Phase 3 records only\n * symmetries a source states.\n */\n readonly symmetryGroup?: string;\n}\n\n/** A `Model`'s id, as `CanonicalEquation.model` references it. @internal */\nexport type ModelId = string;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-coarse.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-coarse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMjE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1F;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,oEAAoE;AACpE,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"bridges-coarse.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-coarse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMjE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1F;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,oEAAoE;AACpE,eAAO,MAAM,iBAAiB,EAAE,WAkE/B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAwD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-coarse.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-coarse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,GAAG,aAAa,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,CAAS;IAC9E,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,CAAS;IAChF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,cAAc,CAAC,CAAS,EAAE,KAAa,EAAE,CAAS;IAChE,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,CAAS;IACtD,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,4BAA4B,CAAC,EAAU;IACrD,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;AACxB,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,EAAE,EAAE,eAAe;IACnB,QAAQ,EAAE,iBAAiB;IAC3B,QAAQ,EAAE,CAAC,aAAa,CAAC;IACzB,UAAU,EAAE,eAAe;IAC3B,cAAc,EAAE,4CAA4C;IAC5D,SAAS,EAAE;QACT,oCAAoC;QACpC,yBAAyB;QACzB,WAAW;KACZ;IACD,eAAe,EAAE;QACf,oBAAoB;QACpB,0CAA0C;QAC1C,wDAAwD;KACzD;IACD,cAAc,EAAE,CAAC,yBAAyB,CAAC;IAC3C,MAAM,EAAE;QACN,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACnE,gBAAgB,EAAE,kBAAkB,CAClC,MAAM,EACN;YACE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;YACxB,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE;YACvC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE;YAC1B,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;SAC7B,EACD,CAAC,IAAI,CAAC,CACP;KACF;IACD,eAAe,EAAE;QACf;YACE,WAAW,EACT,2EAA2E;gBAC3E,2EAA2E;gBAC3E,mBAAmB;YACrB,OAAO,EAAE,IAAI;SACd;KACF;IACD,
|
|
1
|
+
{"version":3,"file":"bridges-coarse.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-coarse.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Bridge 5 of the oscillator pilot: the COARSE-GRAINING bridge from the\n * discrete mass–spring chain to the 1-D wave equation.\n *\n * This is the only Phase 0 bridge whose relation is `coarse-graining`: the\n * reduction map `u_n(t) ↦ u(x = na, t)` is not invertible, and the\n * short-wavelength half of the lattice Brillouin zone (`q > π/a`) has no image\n * in the continuum model. The information loss is therefore recorded in\n * `doesNotPreserve` and witnessed numerically by `W9`.\n *\n * @module atlas/oscillators/bridges-coarse\n */\n\nimport { LENGTH, MASS, VELOCITY } from '../../dimensional/types.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport type { AtlasBridge, RelationContract } from '../types.js';\nimport { relationContractOf } from './bridges-exact.js';\nimport { SPRING_CONSTANT } from './dimensions.js';\n\nconst FAMILY = 'oscillators';\n\n/**\n * The lattice dispersion relation of `m u_n″ = κ(u_{n+1} − 2u_n + u_{n−1})`:\n * `ω(q) = 2 √(κ/m) |sin(qa/2)|`.\n *\n * @internal\n */\nexport function latticeDispersion(q: number, a: number, kappa: number, m: number): number {\n return 2 * Math.sqrt(kappa / m) * Math.abs(Math.sin((q * a) / 2));\n}\n\n/**\n * The continuum dispersion relation of `u_tt = c² u_xx` with `c² = κ a² / m`:\n * `ω = c q`.\n *\n * @internal\n */\nexport function continuumDispersion(q: number, a: number, kappa: number, m: number): number {\n return Math.sqrt((kappa * a * a) / m) * Math.abs(q);\n}\n\n/** The long-wavelength wave speed `c = a √(κ/m)`. @internal */\nexport function chainWaveSpeed(a: number, kappa: number, m: number): number {\n return a * Math.sqrt(kappa / m);\n}\n\n/**\n * The band edge of the lattice, at `qa = π`: `ω_max = 2 √(κ/m)`.\n * The continuum relation `ω = c q` is unbounded and has no counterpart —\n * that absence IS the information the coarse-graining discards.\n *\n * @internal\n */\nexport function latticeBandEdge(kappa: number, m: number): number {\n return 2 * Math.sqrt(kappa / m);\n}\n\n/**\n * Leading-order relative dispersion error `1 − ω_lattice/ω_continuum`,\n * approximated as `(qa)²/24`.\n *\n * Convention note (fixed for the whole sprint): with `x = qa/2`,\n * `1 − sin x / x = x²/6 − x⁴/120 + …`, so the true relative error is\n * `(qa)²/24 − (qa)⁴/1920`. The quartic term makes `(qa)²/24` an\n * OVERESTIMATE; the signed deviation `(true − approx)/approx` is therefore\n * NEGATIVE and equals `−(qa)²/80` to leading order. The W9 assertion is on\n * the MAGNITUDE, so the sign convention does not change the test — it is\n * stated here so the next reader does not rederive it.\n *\n * @internal\n */\nexport function dispersionErrorApproximation(qa: number): number {\n return (qa * qa) / 24;\n}\n\n/** Bridge 5: chain → wave equation by coarse-graining. @internal */\nexport const BRIDGE_CHAIN_WAVE: AtlasBridge = {\n id: 'ab-chain-wave',\n relation: 'coarse-graining',\n premises: ['model-chain'],\n conclusion: 'model-wave-1d',\n transformation: 'u_n(t) ↦ u(x = n a, t), with c² = κ a² / m',\n preserves: [\n 'long-wavelength dispersion ω ≈ c q',\n 'wave speed c = a √(κ/m)',\n 'linearity',\n ],\n doesNotPreserve: [\n 'modes with q > π/a',\n 'the band edge ω_max = 2 √(κ/m) at qa = π',\n 'the discrete lattice spacing a as an independent scale',\n ],\n sideConditions: ['long-wavelength, qa ≪ 1'],\n regime: {\n family: FAMILY,\n inequalities: [{ group: 'qa', op: '<', bound: 1, alias: 'qa ≪ 1' }],\n groupDefinitions: deriveRegimeGroups(\n FAMILY,\n [\n { name: 'm', dim: MASS },\n { name: 'kappa', dim: SPRING_CONSTANT },\n { name: 'a', dim: LENGTH },\n { name: 'c', dim: VELOCITY },\n ],\n ['qa'],\n ),\n },\n counterexamples: [\n {\n description:\n 'A mode at the band edge qa = π has ω = 2√(κ/m) on the lattice, while the ' +\n 'continuum relation ω = c q is unbounded: the coarse-grained model has no ' +\n 'band edge at all.',\n witness: 'W9',\n },\n ],\n witnesses: [\n {\n id: 'W9',\n kind: 'numeric',\n test: 'tests/atlas/oscillators-coarse.test.ts',\n tolerance: 'relative dispersion error matches (qa)²/24 within 0.5% of itself',\n },\n {\n id: 'W9b',\n kind: 'numeric',\n test: 'tests/atlas/oscillators-coarse.test.ts',\n tolerance:\n 'ring of 64 masses integrated: ω matches the lattice dispersion within 1e-9 and the coarse error ' +\n '(qa)²/24 within 1%; superposition within 1e-10 (linearity); a 10% wrong κ and a cubic on-site force each fail',\n },\n ],\n // The monatomic-chain dispersion omega(q) = 2 sqrt(kappa/m) |sin(qa/2)| and its\n // long-wavelength continuum limit are standard solid-state results. Work and topic are\n // cited rather than a precise section number, which would be fabrication in a more\n // confident costume. This array was EMPTY, which is honest but leaves a textbook result\n // looking unsourced.\n citations: [\n 'Kittel, Introduction to Solid State Physics - Phonons I: the monatomic linear chain, its dispersion relation and the qa << 1 continuum limit',\n 'Ashcroft & Mermin, Solid State Physics - the one-dimensional monatomic Bravais lattice and the first Brillouin zone band edge at qa = pi',\n ],\n reviewStatus: 'proposed',\n};\n\n/**\n * Bridge 5 re-registered through `RelationContract`.\n *\n * `coarse-graining` leaves `bound` OPTIONAL, and this record carries none: the\n * `qa²/24` dispersion residual is a per-mode series term, not a Lipschitz\n * constant with a uniform offset in a stated norm. The union permits the\n * absence rather than forcing an invented `K` and `delta`.\n *\n * No `deltaAt` either, for the same reason and by the same rule: `deltaAt` is\n * the machine form OF a `delta`, so a record with no `delta` has nothing for\n * it to be the machine form of. `admitApproximation` requires `deltaAt` only\n * of an `approximation`, so this record passes admission unchanged.\n *\n * @internal\n */\nexport const CONTRACT_CHAIN_WAVE: RelationContract = relationContractOf(BRIDGE_CHAIN_WAVE);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-exact.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-exact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"bridges-exact.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-exact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAU,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA8CzE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,WA6D9B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAoC/B,CAAC;AAMF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,CAwBxE;AAED,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,gBAAuD,CAAC;AAEzF,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,EAAE,gBAAwD,CAAC"}
|
|
@@ -63,7 +63,6 @@ function bridgeRegime(premiseId, conclusionId) {
|
|
|
63
63
|
groupDefinitions: deriveRegimeGroups(FAMILY, parameters, []),
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
|
-
const evidence = (...tags) => new Set(tags);
|
|
67
66
|
/**
|
|
68
67
|
* Bridge 1 — the lossless spring ↔ LC dictionary.
|
|
69
68
|
*
|
|
@@ -104,7 +103,6 @@ export const BRIDGE_SPRING_LC = {
|
|
|
104
103
|
// DERIVED from `data/atlas/witness-results.json`, where W1s records the CAS
|
|
105
104
|
// check of this bridge's dictionary. A stored copy would be a second source
|
|
106
105
|
// of truth that no run could falsify.
|
|
107
|
-
evidence: evidence('proposed', 'numerically-supported'),
|
|
108
106
|
witnesses: [
|
|
109
107
|
{
|
|
110
108
|
id: 'W1',
|
|
@@ -166,7 +164,6 @@ export const BRIDGE_DAMPED_RLC = {
|
|
|
166
164
|
],
|
|
167
165
|
regime: bridgeRegime('model-damped-spring', 'model-rlc'),
|
|
168
166
|
counterexamples: [],
|
|
169
|
-
evidence: evidence('proposed', 'numerically-supported'),
|
|
170
167
|
witnesses: [
|
|
171
168
|
{
|
|
172
169
|
id: 'W2',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-exact.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-exact.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridges-exact.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-exact.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The two Phase 0 `exact-equivalence` bridges of design note §3.\n *\n * - `ab-spring-lc` — the lossless mechanical/electrical dictionary, exact with\n * no side condition beyond positivity and losslessness.\n * - `ab-damped-rlc` — exact only ON a side condition: the two damping ratios\n * must agree, `b/(2√(mk)) = (R/2)√(C/L)`.\n *\n * **Regimes carry no inequalities.** `RegimeInequality` expresses `<`, `<=`,\n * `>`, `>=` only, so the bridge-2 side condition — an EQUALITY between two\n * derived ratios — cannot be written as one. It is carried in\n * `sideConditions` as prose instead, and the equality is what witness W2\n * executes. Writing an inequality that merely resembles it would be a\n * fabricated constraint, so none is written. `groupDefinitions` is derived\n * from the premise and conclusion parameters by `deriveRegimeGroups`, exactly\n * as the models do; nothing there is hand-authored.\n *\n * **Evidence tags are witness-gated.** A tag appears only because a witness in\n * `tests/atlas/oscillators-exact.test.ts` passes and shows it.\n *\n * @module atlas/oscillators/bridges-exact\n */\n\nimport { physjsFormalRef } from '../physjs-ref.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport { getAtlasModel } from './models.js';\nimport type { AtlasBridge, Regime, RelationContract } from '../types.js';\nimport { SPRING_LC_RELATIVE_PERIOD_TRANSPORT } from './norm-transport.js';\n\nconst FAMILY = 'oscillators';\n\n/** The witness test file every witness below runs in. */\nconst TEST = 'tests/atlas/oscillators-exact.test.ts';\n/** Where the CAS witnesses W1s and W2s are named; the artifact pin runs them. */\nconst WITNESS_RESULTS_TEST = 'tests/atlas/witness-results.test.ts';\n\n/**\n * Literature for the electromechanical analogy, NOT a pointer at our own plan.\n *\n * The previous value here was `docs/planning/Atlas-Phase-0-Design.md §3, §6` - a citation\n * naming the document that ASSERTED the claim. That is circular, and it is worse than an\n * empty array because it LOOKS sourced and would satisfy any check that only asks whether\n * `citations[]` is non-empty. Same failure class as the evidence-tag theatre that\n * `tests/atlas/evidence-rule.test.ts` exists to catch.\n *\n * Work and topic are cited rather than precise section numbers, because a section number\n * stated without checking the edition in hand is the same fabrication in a more confident\n * costume. `reviewStatus` stays 'proposed' until the independent physicist review lands.\n */\nconst CITATIONS: readonly string[] = [\n 'Olson, Dynamical Analogies - the force-voltage (impedance) analogy between a mass-spring–damper and a series RLC circuit',\n 'Feynman, Lectures on Physics Vol. II, chapter on resonance - the LC oscillator and its mechanical counterpart',\n];\n\n/**\n * Regime coordinates spanning a bridge's premise and conclusion parameters.\n *\n * The two models' parameter names are disjoint in both bridges, so the union\n * is a legal `deriveRegimeGroups` input.\n */\nfunction bridgeRegime(premiseId: string, conclusionId: string): Regime {\n const parameters = [\n ...getAtlasModel(premiseId).parameters,\n ...getAtlasModel(conclusionId).parameters,\n ];\n return {\n family: FAMILY,\n inequalities: [],\n groupDefinitions: deriveRegimeGroups(FAMILY, parameters, []),\n };\n}\n\n/**\n * Bridge 1 — the lossless spring ↔ LC dictionary.\n *\n * `m ↔ L`, `k ↔ 1/C`, `x ↔ q`. Under `u = x/x0` (or `q/q0`) and `τ = ω0 t`\n * both systems become `u'' + u = 0`, so the equivalence is exact and\n * invertible.\n *\n * Its counterexample is W2b, which lives on THIS bridge: it shows that adding\n * a resistor to the LC side breaks the equivalence, so bridge 1 is a statement\n * about the LOSSLESS pair only.\n *\n * @internal\n */\nexport const BRIDGE_SPRING_LC: AtlasBridge = {\n id: 'ab-spring-lc',\n relation: 'exact-equivalence',\n premises: ['model-spring'],\n conclusion: 'model-lc',\n // Two nondimensionalizations, each with its own ω0; composed, the spring→LC map is\n // q(t) = (q0/x0)·x(ω_LC t / ω_s). The dimensioned frequencies differ (W1a: ω_s = 2,\n // ω_LC = 2√2); what is preserved is the frequency in units of ω0.\n transformation:\n 'force–voltage analogy m ↔ L, k ↔ 1/C, x ↔ q (so ω0² = k/m ↔ 1/(LC)); ' +\n 'u = x/x0 or q/q0, τ = ω0 t; composed, q(t) = (q0/x0)·x(ω_LC t / ω_s)',\n inverse: 'x = x0 u, t = τ/ω0',\n preserves: ['the natural frequency in units of ω0 (ω = 1 in τ = ω0 t)', 'energy up to scale', 'phase portrait'],\n doesNotPreserve: ['physical interpretation', 'units'],\n sideConditions: ['m, k, L, C > 0', 'lossless', 'unforced', 'x0, q0 nonzero'],\n regime: bridgeRegime('model-spring', 'model-lc'),\n counterexamples: [\n {\n description:\n 'adding R to bridge 1 breaks it: the circuit L = 2, C = 0.125 of witness W2b with R = 4 has ' +\n 'ζ_RLC = (R/2)√(C/L) = 0.5, ' +\n 'which no lossless spring matches — the trajectories separate by more than 1e-2 at τ = π',\n witness: 'W2b',\n },\n ],\n // `symbolically-checked` is NOT stored here any more (Phase 4 S4.3): it is\n // DERIVED from `data/atlas/witness-results.json`, where W1s records the CAS\n // check of this bridge's dictionary. A stored copy would be a second source\n // of truth that no run could falsify.\n witnesses: [\n {\n id: 'W1',\n kind: 'symbolic',\n test: TEST,\n tolerance: 'exact — rational exponent arithmetic, no floating point',\n },\n {\n id: 'W1a',\n kind: 'numeric',\n test: TEST,\n tolerance: '|u_spring − u_lc| < 1e-8; each within 1e-8 of cos τ',\n },\n {\n id: 'W1b',\n kind: 'numeric',\n test: TEST,\n tolerance: 'inverse-mapped trajectory solves m x″ + k x = 0 within 1e-8; a 1% wrong ω0 fails',\n },\n { id: 'W2b', kind: 'numeric', test: TEST, tolerance: 'separation > 1e-2 at τ = π' },\n {\n id: 'W1s',\n kind: 'symbolic',\n test: WITNESS_RESULTS_TEST,\n tolerance: 'CAS: k/m under m ↔ L, k ↔ 1/C minus 1/(LC) simplifies to literal 0',\n },\n ],\n citations: CITATIONS,\n reviewStatus: 'proposed',\n // spring → LC in relative period error only; see ./norm-transport.ts for what is not declared.\n normTransports: [SPRING_LC_RELATIVE_PERIOD_TRANSPORT],\n formalRef: physjsFormalRef('ab-spring-lc'),\n};\n\n/**\n * Bridge 2 — damped spring ↔ RLC, exact ON a side condition.\n *\n * The undamped dictionary of bridge 1 does not extend for free: `b` and `R`\n * are independent parameters, and the nondimensional systems coincide only\n * when the damping ratios match. The side condition is that equality, and W2\n * DERIVES `R` from it rather than assuming a value.\n *\n * @internal\n */\nexport const BRIDGE_DAMPED_RLC: AtlasBridge = {\n id: 'ab-damped-rlc',\n relation: 'exact-equivalence',\n premises: ['model-damped-spring'],\n conclusion: 'model-rlc',\n transformation:\n 'force–voltage analogy m ↔ L, k ↔ 1/C, b ↔ R, x ↔ q; ' +\n 'u = x/x0 or q/q0, τ = ω0 t; composed, q(t) = (q0/x0)·x(ω_RLC t / ω_mech)',\n inverse: 'x = x0 u, t = τ/ω0',\n preserves: ['the natural frequency in units of ω0 (ω = 1 in τ = ω0 t)', 'damping ratio', 'phase portrait'],\n doesNotPreserve: ['physical interpretation', 'units'],\n sideConditions: [\n 'b/√(mk) = R√(C/L), equivalently ζ_mech = b/(2√(mk)) equals ζ_RLC = (R/2)√(C/L)',\n 'm, b, k, L, R, C > 0',\n 'unforced',\n 'x0, q0 nonzero',\n ],\n regime: bridgeRegime('model-damped-spring', 'model-rlc'),\n counterexamples: [],\n witnesses: [\n {\n id: 'W2',\n kind: 'numeric',\n test: TEST,\n tolerance: 'R derived exactly; |u_mech − u_rlc| < 1e-8 at four τ',\n },\n {\n id: 'W2s',\n kind: 'symbolic',\n test: WITNESS_RESULTS_TEST,\n tolerance: 'CAS: b²/(4mk) under m ↔ L, k ↔ 1/C, b ↔ R minus R²C/(4L) simplifies to literal 0',\n },\n ],\n citations: CITATIONS,\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-damped-rlc'),\n};\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Phase 1 re-registration: the Sprint 0 bridges through `RelationContract`\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Re-register an `AtlasBridge` through the Phase 1 `RelationContract` union.\n *\n * `AtlasBridge` states its two conditional requirements — `exact-equivalence`\n * needs `inverse`, `approximation` needs `bound` — only in doc comments, so a\n * record that breaks them type-checks. `RelationContract` states them in the\n * type system. This function is the one place the Sprint 0 records cross from\n * the weaker shape to the stronger one, and it THROWS on the two cases the\n * doc comments could only describe.\n *\n * It copies rather than restates: every field comes off the bridge, so a\n * contract cannot drift from the record it re-registers.\n *\n * @throws TypeError when the bridge omits the field its relation requires.\n * @internal\n */\nexport function relationContractOf(bridge: AtlasBridge): RelationContract {\n const { relation, transformation } = bridge;\n switch (relation) {\n case 'exact-equivalence': {\n if (bridge.inverse === undefined) {\n throw new TypeError(`${bridge.id}: exact-equivalence without an inverse`);\n }\n return { type: relation, transformation, inverse: bridge.inverse };\n }\n case 'approximation': {\n if (bridge.bound === undefined) {\n throw new TypeError(`${bridge.id}: approximation without a bound`);\n }\n return { type: relation, transformation, bound: bridge.bound };\n }\n case 'coarse-graining':\n // `bound` is OPTIONAL here: the chain/wave bridge carries none, and the\n // union allows that rather than forcing an invented one.\n return bridge.bound === undefined\n ? { type: relation, transformation }\n : { type: relation, transformation, bound: bridge.bound };\n default:\n return { type: relation, transformation };\n }\n}\n\n/** Bridge 1 re-registered through the Phase 1 contract. @internal */\nexport const CONTRACT_SPRING_LC: RelationContract = relationContractOf(BRIDGE_SPRING_LC);\n\n/** Bridge 2 re-registered through the Phase 1 contract. @internal */\nexport const CONTRACT_DAMPED_RLC: RelationContract = relationContractOf(BRIDGE_DAMPED_RLC);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-limits.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAU,MAAM,aAAa,CAAC;AAS7F;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,CAO/E;AAED,kFAAkF;AAClF,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAOlD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAItF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAKpF;AAuCD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"bridges-limits.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAU,MAAM,aAAa,CAAC;AAS7F;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,CAO/E;AAED,kFAAkF;AAClF,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAOlD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAItF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAKpF;AAuCD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAgFhC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAmFhC,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAA6C,CAAC;AAE9F;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,EAAE,gBACC,CAAC;AAEzC,gBAAgB;AAChB,eAAO,MAAM,wBAAwB,EAAE,gBACC,CAAC;AAEzC,+DAA+D;AAC/D,eAAO,MAAM,eAAe,EAAE,SAAS,gBAAgB,EAGtD,CAAC"}
|
|
@@ -194,7 +194,6 @@ export const AB_PENDULUM_LINEAR = {
|
|
|
194
194
|
witness: 'W7b',
|
|
195
195
|
},
|
|
196
196
|
],
|
|
197
|
-
evidence: new Set(['numerically-supported']),
|
|
198
197
|
witnesses: [
|
|
199
198
|
{
|
|
200
199
|
id: 'W7',
|
|
@@ -302,7 +301,6 @@ export const AB_DAMPED_MASSLESS = {
|
|
|
302
301
|
witness: 'W8b',
|
|
303
302
|
},
|
|
304
303
|
],
|
|
305
|
-
evidence: new Set(['numerically-supported']),
|
|
306
304
|
witnesses: [
|
|
307
305
|
{
|
|
308
306
|
id: 'W8',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-limits.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-limits.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridges-limits.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-limits.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The two Phase 0 APPROXIMATION bridges — design note §3, bridges 3 and 4.\n *\n * - `ab-pendulum-linear` — a REGULAR limit. `θ'' + ω0² sin θ = 0` reduces to\n * `θ'' + ω0² θ = 0` as `θ0 → 0`. The order of the system does not drop, the\n * error is `O(θ0²)` in the relative period, and the approximation is\n * NON-UNIFORM in time: a fixed relative period error accumulates phase\n * without bound, so the bound carries the horizon `t ≪ 16 T0/θ0²`.\n * - `ab-damped-massless` — a SINGULAR limit. `m x'' + b x' + k x = 0` reduces\n * to `b x' + k x = 0` as `m → 0`. The order DROPS from two to one, one\n * initial condition is lost, and the reduced model cannot satisfy `x'(0)`.\n * The bound therefore holds only OUTSIDE the boundary layer, `t ≥ 5 m/b`.\n *\n * On the position offset of the singular bridge: `x_full − x_red` is an\n * `O((1 + |v0|) m)` deviation that PERSISTS THROUGHOUT THE OUTER REGION and\n * decays only on the slow time scale `b/k`. It is the matched-asymptotics\n * correction, not a boundary-layer transient, and waiting out the fast mode\n * does not remove it. (Design note §9 YELLOW (5) — \"non-vanishing\" was the\n * imprecise wording this replaces: the offset does go to zero as `t → ∞`.)\n *\n * @module atlas/oscillators/bridges-limits\n */\n\nimport { physjsFormalRef } from '../physjs-ref.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport { MissingHorizonError } from '../types.js';\nimport type { ApproximationBound, AtlasBridge, RelationContract, Regime } from '../types.js';\nimport { relationContractOf } from './bridges-exact.js';\nimport { DAMPING, SPRING_CONSTANT } from './dimensions.js';\nimport { RELATIVE_PERIOD_NORM } from './norms.js';\nimport { ACCELERATION, LENGTH, MASS } from '../../dimensional/types.js';\n\nconst FAMILY = 'oscillators';\nconst TEST_FILE = 'tests/atlas/oscillators-limits.test.ts';\n\n/**\n * Build an `ApproximationBound`, rejecting one with no prose horizon.\n *\n * Every `approximation` bridge in this module is constructed through here, so\n * the mandatory-horizon rule of `ApproximationBound` has something that FAILS\n * rather than a comment asking for compliance. `horizonHolds` is mandatory by\n * the type; the prose `horizon` is the field a caller can satisfy with `''`,\n * so it is the one checked at run time. `uniformity: null` is accepted: not\n * yet analysed is a real state, and the refusal lives in `boundPath`.\n *\n * @throws MissingHorizonError if `horizon` is empty or whitespace.\n * @internal\n */\nexport function makeApproximation(bound: ApproximationBound): ApproximationBound {\n if (bound.horizon.trim() === '') {\n throw new MissingHorizonError(\n 'an approximation bound requires a non-empty prose horizon beside horizonHolds',\n );\n }\n return bound;\n}\n\n/** Arithmetic–geometric mean, the standard evaluation route for `K`. @internal */\nexport function agm(a0: number, b0: number): number {\n let a = a0;\n let b = b0;\n for (let i = 0; i < 60 && a !== b; i++) {\n [a, b] = [(a + b) / 2, Math.sqrt(a * b)];\n }\n return a;\n}\n\n/**\n * The EXACT relative period error of the pendulum at amplitude `theta0`:\n * `(2/π) K(sin(θ0/2)) − 1 = 1/AGM(1, cos(θ0/2)) − 1`.\n *\n * This is the machine form of `ab-pendulum-linear`'s `delta`. It is SHARP —\n * the bound equals the error it bounds — and it is strictly increasing in\n * `|θ0|`, so its value at the edge of a declared amplitude range is the\n * supremum over that range. That last property is what lets the record state\n * one scalar for the whole domain honestly.\n *\n * The series `θ0²/16` is the LEADING TERM of this quantity, not an upper bound\n * on it: at the domain edge `θ0 = 0.5` the series gives `0.0156250` while the\n * exact error is `0.0158525311`, so the series UNDERSTATES by 1.456%. A record\n * that declares the series value is violated at its own boundary.\n *\n * @returns `Infinity` outside `|θ0| < π`, where no finite period error exists.\n * @internal\n */\nexport function pendulumPeriodErrorAt(params: Readonly<Record<string, number>>): number {\n const { theta0 } = params;\n if (!Number.isFinite(theta0) || Math.abs(theta0) >= Math.PI) return Infinity;\n return 1 / agm(1, Math.cos(theta0 / 2)) - 1;\n}\n\n/**\n * The position-offset bound of `ab-damped-massless` at a point:\n * `2 (1 + |v0|) m / b`, the formula this record's docstring has always\n * carried. It is a bound ONLY at the witness normalisation `b = k = x0 = 1`:\n * the leading offset is `(m/b)(v0 + k x0/b)`, and the formula has no `k` or\n * `x0` in it. At `m = 1e-3, b = 1, k = 100` (inside `m k/b² < 1/4`) the true\n * error is more than 20 times the formula.\n *\n * @returns `Infinity` unless `m`, `b`, `k`, `x0` and `v0` are all finite and\n * `b = k = x0 = 1` — a missing parameter would otherwise silently return a\n * bound for a normalisation the caller did not ask about.\n * @internal\n */\nexport function dampedOffsetBoundAt(params: Readonly<Record<string, number>>): number {\n const { m, b, k, x0, v0 } = params;\n if (![m, b, k, x0, v0].every(Number.isFinite)) return Infinity;\n if (b !== 1 || k !== 1 || x0 !== 1) return Infinity;\n return (2 * (1 + Math.abs(v0)) * m) / b;\n}\n\n/** Pendulum regime: `θ0 ≤ 0.5 rad`, stated on the dimensionless input. @internal */\nconst PENDULUM_REGIME: Regime = {\n family: FAMILY,\n inequalities: [{ group: 'theta0', op: '<=', bound: 0.5, alias: 'θ0 ≤ 0.5 rad' }],\n groupDefinitions: deriveRegimeGroups(\n FAMILY,\n [\n { name: 'g', dim: ACCELERATION },\n { name: 'ell', dim: LENGTH },\n ],\n ['theta0'],\n ),\n};\n\n/**\n * Damped-spring regime: overdamped, `m k / b² < 1/4`.\n *\n * The inequality is written on the π-group, not on `ζ = ½ (m k / b²)^(−½)`,\n * which is a derived quantity and not a group (`RegimeInequality` doc).\n * `m k / b² < 1/4` is exactly `ζ > 1`, recorded as the display alias.\n *\n * @internal\n */\nconst DAMPED_REGIME: Regime = {\n family: FAMILY,\n inequalities: [{ group: 'm · b^-2 · k', op: '<', bound: 0.25, alias: 'ζ > 1' }],\n groupDefinitions: deriveRegimeGroups(\n FAMILY,\n [\n { name: 'm', dim: MASS },\n { name: 'b', dim: DAMPING },\n { name: 'k', dim: SPRING_CONSTANT },\n ],\n [],\n ),\n};\n\n/**\n * `ab-pendulum-linear` — small-angle pendulum → harmonic spring.\n *\n * `θ0²/16` is the leading term of the exact relative period error\n * `(2/π) K(sin(θ0/2)) − 1`. At `θ0 = 0.2` the residual is `5.744e-6`, which\n * the next series term `11 θ0⁴/3072 = 5.729e-6` accounts for to `1.5e-8`.\n *\n * `delta` is the EXACT error at the edge of the declared range, not that\n * series term. The record previously declared `0.5²/16 = 0.0156250`, which is\n * the series evaluated at `θ0 = 0.5` — and the exact error there is\n * `0.0158525311`, so the declared bound was VIOLATED AT ITS OWN BOUNDARY by\n * 1.456%. A truncated series is an approximation of the error, not a bound on\n * it, and the sign of its omitted tail decides which. Here the tail is\n * positive, so the series sits below what it was asked to cover.\n *\n * @internal\n */\nexport const AB_PENDULUM_LINEAR: AtlasBridge = {\n id: 'ab-pendulum-linear',\n relation: 'approximation',\n premises: ['model-pendulum'],\n conclusion: 'model-spring',\n transformation: 'sin θ → θ, with x ↔ ℓ θ and ω0² = g/ℓ',\n preserves: ['harmonic frequency ω0 to O(θ0²)', 'energy conservation', 'time-reversal symmetry'],\n doesNotPreserve: ['the amplitude dependence of the period', 'phase over times t ≳ 16 T0/θ0²'],\n sideConditions: ['θ0 ≤ 0.5 rad', 'the bound is a PERIOD error and is not uniform in time'],\n bound: makeApproximation({\n K: 1,\n // Sup over `θ0 ≤ 0.5`: the error is strictly increasing in |θ0|, so the\n // edge value IS the supremum. 0.0158525311014... (AGM), independently\n // reproduced by quadrature of the complete elliptic integral.\n delta: pendulumPeriodErrorAt({ theta0: 0.5 }),\n deltaAt: pendulumPeriodErrorAt,\n deltaAtBasis: 'closed-form',\n norm: RELATIVE_PERIOD_NORM,\n domain: 'θ0 ≤ 0.5 rad',\n horizon: 't ≪ 16 T0/θ0²; machine form t < 4 T0/θ0², the π/2-drift time',\n // ⚠ The machine form is a QUARTER of the prose scale, and it must be.\n // `16 T0/θ0²` is the time at which the accumulated phase drift reaches a\n // FULL 2π (measured: 400 T0 at θ0 = 0.2, drift 6.2976 rad) — by then the\n // approximation has lapped, so `t < 16 T0/θ0²` is not a horizon at all.\n // The `≪` is what carries the whole claim, and `<` does not render it.\n // `4 T0/θ0²` is the π/2-drift time, which is exactly what W7b measures\n // independently (99.77 cycles at θ0 = 0.2). It is also what makes\n // `horizonHolds(200 T0)` false and `horizonHolds(10 T0)` true.\n horizonHolds: (t, params) => {\n const { T0, theta0 } = params;\n if (!Number.isFinite(T0) || !Number.isFinite(theta0) || theta0 === 0) return false;\n return t < (4 * T0) / theta0 ** 2;\n },\n parameterRange: 'θ0 ≤ 0.5 rad',\n limitCharacter: 'regular',\n // A period error. The record says it is not uniform in time, so time is\n // not listed.\n uniformity: ['one period, for θ0 in the stated domain'],\n }),\n regime: PENDULUM_REGIME,\n counterexamples: [\n {\n description:\n 'the approximation is non-uniform in time: at θ0 = 0.2 the phase drift reaches π/2 ' +\n 'after ~100 cycles, however small the per-cycle error is',\n witness: 'W7b',\n },\n ],\n witnesses: [\n {\n id: 'W7',\n kind: 'numeric',\n test: TEST_FILE,\n tolerance: 'T/T0 − 1 ∈ [0.002505, 0.002507]; residual ∈ [5.70e-6, 5.76e-6] at θ0 = 0.2',\n },\n {\n id: 'W7b',\n kind: 'numeric',\n test: TEST_FILE,\n tolerance: 'cycles to π/2 drift ∈ [99, 101] at θ0 = 0.2',\n },\n {\n id: 'W7c',\n kind: 'numeric',\n test: TEST_FILE,\n tolerance: 'RK4 zero-crossing lag within 0.05° of the elliptic prediction 89.98°',\n },\n ],\n citations: [\n 'Landau & Lifshitz, Mechanics §11 (pendulum period as a complete elliptic integral)',\n 'Abramowitz & Stegun §17.6 (AGM evaluation of K)',\n ],\n reviewStatus: 'proposed',\n // Milestone 1. The reference is the PhysJS theorem, which imports Physlib's\n // `ClassicalMechanics.SimplePendulum.linearizedEquationOfMotion_iff`. It\n // certifies the TRANSFORMATION (mass mℓ², spring constant mgℓ, ω0² = g/ℓ),\n // not `bound.delta`. Physlib's period results concern `periodFormula`, which\n // its own TODO has not yet tied to the motion. The sanity lemmas instantiate\n // that imported statement. Keyed by `formal/physjs/manifest.json`.\n formalRef: physjsFormalRef('ab-pendulum-linear'),\n};\n\n/**\n * `ab-damped-massless` — the SINGULAR `m → 0` limit of the damped spring.\n *\n * `deltaAt = 2(1 + |v0|) m/b` bounds the position offset outside the boundary\n * layer, and `delta` is its supremum over the declared range rather than its\n * value at one fixture. The lost initial condition is visible in the VELOCITY: inside the\n * layer the reduced model's `x'` is wrong by O(1/m·…), and it is only after\n * `t ≈ 5 m/b` that the fast mode has decayed.\n *\n * @internal\n */\nexport const AB_DAMPED_MASSLESS: AtlasBridge = {\n id: 'ab-damped-massless',\n relation: 'approximation',\n premises: ['model-damped-spring'],\n conclusion: 'model-first-order',\n transformation: 'm → 0, dropping the m x″ term',\n preserves: ['the slow relaxation rate k/b to O(m)', 'the sign and monotonicity of the decay'],\n doesNotPreserve: [\n 'the order of the system (two → one)',\n \"the initial condition x'(0), which the reduced model cannot satisfy\",\n 'the fast mode r ≈ −b/m',\n ],\n sideConditions: [\n 'overdamped: m k / b² < 1/4',\n 'the bound holds only outside the boundary layer, t ≥ 5 m/b',\n ],\n bound: makeApproximation({\n K: 1,\n // Sup over the DECLARED range, not the fixture. `2(1+|v0|)m/b` increases\n // in both m and |v0|, and the declared range is `m k/b² < 1/4` with\n // `|v0| ≤ 5`; at the witness normalisation `b = k = 1` that is `m < 1/4`,\n // so the supremum is `2·(1+5)·(1/4) = 3`, approached at the open edge and\n // not attained. The record previously declared `2·(1+5)·1e-3 = 0.012`,\n // the same formula frozen at the ONE fixture mass `m = 1e-3` — true error\n // there is 5.96e-3, but at m = 0.24 it is 5.19e-1, forty times the\n // declared bound.\n // KNOWN LOOSENESS (0.47.0 persona re-test, L9 residual; documented, not\n // tightened): for x0 = 1 the measured sup of |x − x_reduced| over the whole\n // declared range (m < 1/4, |v0| ≤ 5, t ≥ 5m/b) is 0.524, at m ≈ 0.21 and\n // v0 = +5, and it does not grow toward critical damping (0.514 at\n // m = 0.249999). So δ = 3 holds but is 5.7× loose, and it exceeds the unit\n // signal it bounds. A tighter δ needs a bound with its own basis, not a grid\n // maximum; until then `upt path` withholds the point bound\n // (deltaAtBasis below). Independent check: the persona's\n // checks/recheck_047.py and a 115 × 2 grid over (m, ±5).\n delta: dampedOffsetBoundAt({ m: 0.25, b: 1, k: 1, x0: 1, v0: 5 }),\n deltaAt: dampedOffsetBoundAt,\n // Witness W8b supports it numerically for m ∈ {1e-1, 1e-2, 1e-3}; no proof covers it.\n deltaAtBasis: 'numerically-supported',\n norm: 'sup |x − x_reduced| for t ≥ 5 m/b',\n domain: 't ≥ 5 m/b, overdamped, at the witness normalisation b = k = 1',\n horizon: 't ≥ 5 m/b (outside the boundary layer)',\n horizonHolds: (t, params) => {\n const { m, b } = params;\n if (!Number.isFinite(m) || !Number.isFinite(b) || b === 0) return false;\n return t >= (5 * m) / b;\n },\n parameterRange: 'm k / b² < 1/4, |v0| ≤ 5; with b = k = 1 this is m < 1/4',\n limitCharacter: 'singular',\n uniformity: [\n 't ≥ 5 m/b, overdamped, at the witness normalisation b = k = 1',\n 'm k / b² < 1/4, |v0| ≤ 5',\n ],\n }),\n regime: DAMPED_REGIME,\n counterexamples: [\n {\n description:\n \"inside the boundary layer the reduced model's velocity is wrong by O(1): at \" +\n \"t = 0.5 m/b with v0 = 5 the velocity error is 3.6, against x'_red = −1\",\n witness: 'W8b',\n },\n ],\n witnesses: [\n {\n id: 'W8',\n kind: 'numeric',\n test: TEST_FILE,\n tolerance: '|r_slow + k/b| < 2m and |r_fast·m + b| < 2m for m ∈ {1e-1, 1e-2, 1e-3}',\n },\n {\n id: 'W8b',\n kind: 'numeric',\n test: TEST_FILE,\n tolerance:\n \"|x_full − x_red| < 2(1+v0)·m for t ≥ 5 m/b; |x'| error > 1 at 0.5 m/b and < 0.05 at 5 m/b\",\n },\n ],\n citations: [\n \"Kevorkian & Cole, Multiple Scale and Singular Perturbation Methods §2 (Tikhonov's theorem)\",\n 'Verhulst, Methods and Applications of Singular Perturbations §8 (boundary layers)',\n ],\n reviewStatus: 'proposed',\n};\n\n/** The two approximation bridges of this module, in design-note order. @internal */\nexport const LIMIT_BRIDGES: readonly AtlasBridge[] = [AB_PENDULUM_LINEAR, AB_DAMPED_MASSLESS];\n\n/**\n * The two approximation bridges re-registered through `RelationContract`.\n *\n * The union REQUIRES `bound` on an `approximation`, and `ApproximationBound`\n * requires its own machine `horizonHolds`, so these two lines are what turn\n * Sprint 0's doc-comment requirement into a compile-and-throw one. Both bounds\n * are the records' own, measured ones — nothing is restated here.\n *\n * @internal\n */\nexport const CONTRACT_PENDULUM_LINEAR: RelationContract =\n relationContractOf(AB_PENDULUM_LINEAR);\n\n/** @internal */\nexport const CONTRACT_DAMPED_MASSLESS: RelationContract =\n relationContractOf(AB_DAMPED_MASSLESS);\n\n/** The two limit contracts, in design-note order. @internal */\nexport const LIMIT_CONTRACTS: readonly RelationContract[] = [\n CONTRACT_PENDULUM_LINEAR,\n CONTRACT_DAMPED_MASSLESS,\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dimensions.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/dimensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AAGxD,6FAA6F;AAC7F,MAAM,CAAC,MAAM,WAAW,GAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAExD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,UAAU,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvD,yFAAyF;AACzF,MAAM,CAAC,MAAM,UAAU,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAExD,gEAAgE;AAChE,MAAM,CAAC,MAAM,OAAO,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEhD,qEAAqE;AACrE,MAAM,CAAC,MAAM,eAAe,GAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"dimensions.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/dimensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AAGxD,6FAA6F;AAC7F,MAAM,CAAC,MAAM,WAAW,GAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAExD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,UAAU,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvD,yFAAyF;AACzF,MAAM,CAAC,MAAM,UAAU,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAExD,gEAAgE;AAChE,MAAM,CAAC,MAAM,OAAO,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEhD,qEAAqE;AACrE,MAAM,CAAC,MAAM,eAAe,GAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC","sourcesContent":["/**\n * Dimension constants the oscillator pilot needs that the canonical entry\n * files declare MODULE-LOCAL and do not export.\n *\n * They are redefined here with the same `dim(...)` arguments, quoted from\n * source in design note §10 Q2. `tests/atlas/models.test.ts` asserts the\n * values, so a future divergence in an entry file fails a test.\n *\n * `FREQUENCY`, `MASS`, `LENGTH`, `VELOCITY` and `ACCELERATION` are importable\n * from `src/dimensional/types.ts` and are NOT redefined here.\n *\n * @module atlas/oscillators/dimensions\n */\n\nimport { dim } from '../../dimensional/ast-builders.js';\nimport type { Dimension } from '../../dimensional/types.js';\n\n/** farad, `L^-2 M^-1 T^4 I^2` — `src/canonical/entries/electromagnetism.ts:42`. @internal */\nexport const CAPACITANCE: Dimension = dim(-2, -1, 4, 2);\n\n/** henry, `L^2 M T^-2 I^-2` — `src/canonical/entries/electromagnetism.ts:43`. @internal */\nexport const INDUCTANCE: Dimension = dim(2, 1, -2, -2);\n\n/** ohm, `L^2 M T^-3 I^-2` — `src/canonical/entries/electromagnetism.ts:40`. @internal */\nexport const RESISTANCE: Dimension = dim(2, 1, -3, -2);\n\n/**\n * `M T^-2` — defined TWICE, identically, at\n * `src/canonical/entries/mechanics.ts:35` and\n * `src/canonical/entries/fluids-waves.ts:48`. One definition here; the test\n * asserts agreement with both.\n *\n * @internal\n */\nexport const SPRING_CONSTANT: Dimension = dim(0, 1, -2);\n\n/** `M T^-1` — the `b` of `m x'' + b x' + k x = 0`. @internal */\nexport const DAMPING: Dimension = dim(0, 1, -1);\n\n/** `M L^-2 T^-2` — the `β` of `m x'' + k x + β x³ = 0`. @internal */\nexport const CUBIC_STIFFNESS: Dimension = dim(-2, 1, -2);\n"]}
|
|
@@ -12,22 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @module atlas/oscillators
|
|
14
14
|
*/
|
|
15
|
-
import type {
|
|
16
|
-
import type { AtlasModel } from '../model.js';
|
|
17
|
-
/**
|
|
18
|
-
* One atlas family: its models, the bridges between them, and the claimed
|
|
19
|
-
* bridges that were refuted. A rejection is evidence, not an omission, so it
|
|
20
|
-
* travels with the family rather than being dropped.
|
|
21
|
-
*
|
|
22
|
-
* @internal
|
|
23
|
-
*/
|
|
24
|
-
export interface AtlasFamily {
|
|
25
|
-
/** `'oscillators'`. */
|
|
26
|
-
readonly family: string;
|
|
27
|
-
readonly models: readonly AtlasModel[];
|
|
28
|
-
readonly bridges: readonly AtlasBridge[];
|
|
29
|
-
readonly rejections: readonly AtlasRejection[];
|
|
30
|
-
}
|
|
15
|
+
import type { AtlasFamily } from '../family.js';
|
|
31
16
|
/**
|
|
32
17
|
* The oscillator pilot family, in design-note order: the two exact
|
|
33
18
|
* equivalences, the two approximations, then the coarse-graining.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAOhD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAU/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE;QACP,gBAAgB;QAChB,iBAAiB;QACjB,GAAG,aAAa;QAChB,iBAAiB;KAClB;IACD,UAAU,EAAE,gBAAgB;CAC7B,CAAC","sourcesContent":["/**\n * Oscillator-family assembly (Atlas Phase 0, S0.6).\n *\n * Collects the W1/W2 records — the nine models, the five bridges and the one\n * rejection — into the single value the JSON projection serializes. Assembly\n * only: this module defines no physics and no numbers of its own, so a change\n * to a bridge is a change in ONE place.\n *\n * The design note calls this file `family.ts` (§1 layout); the S0.6 brief\n * places it at `oscillators/index.ts`. The brief is followed, because the\n * package's `exports` map and every other barrel in this tree use `index.ts`.\n *\n * @module atlas/oscillators\n */\n\nimport type { AtlasFamily } from '../family.js';\nimport { ATLAS_MODELS } from './models.js';\nimport { BRIDGE_SPRING_LC, BRIDGE_DAMPED_RLC } from './bridges-exact.js';\nimport { LIMIT_BRIDGES } from './bridges-limits.js';\nimport { BRIDGE_CHAIN_WAVE } from './bridges-coarse.js';\nimport { ATLAS_REJECTIONS } from './rejections.js';\n\n/**\n * The oscillator pilot family, in design-note order: the two exact\n * equivalences, the two approximations, then the coarse-graining.\n *\n * @internal\n */\nexport const OSCILLATOR_FAMILY: AtlasFamily = {\n family: 'oscillators',\n models: ATLAS_MODELS,\n bridges: [\n BRIDGE_SPRING_LC,\n BRIDGE_DAMPED_RLC,\n ...LIMIT_BRIDGES,\n BRIDGE_CHAIN_WAVE,\n ],\n rejections: ATLAS_REJECTIONS,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limit-witnesses.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/limit-witnesses.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"limit-witnesses.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/limit-witnesses.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The measurements behind the in-process witnesses of the three oscillator\n * bridges that had none: W7 (`ab-pendulum-linear`), W8b (`ab-damped-massless`)\n * and W9 (`ab-chain-wave`).\n *\n * Each one INTEGRATES the premise model's own equation with MathTS\n * `solveODESystem` and `dt`, and reads the\n * claimed quantity off the motion. None evaluates the closed form its record\n * states, so a test comparing the measurement with that closed form compares\n * two methods, not one method with itself.\n *\n * @module atlas/oscillators/limit-witnesses\n * @internal\n */\n\nimport { solveODESystem } from '@danielsimonjr/mathts-functions';\nimport { quarterPeriod } from './norm-transport-witness.js';\n\n/**\n * W7: the pendulum θ'' = −ω0² sin θ at ω0 = 1, released from rest; the\n * amplitude is `theta0 / resolution`, so refinement moves into the θ0 → 0 limit.\n *\n * @internal\n */\nexport const W7_FIXTURE = { theta0: 0.4, stepsPerPeriod: 16_384 } as const;\n\n/**\n * T/T0 of the pendulum released from rest at `theta0`, measured by RK4 with\n * `stepsPerPeriod` steps per linear period T0 = 2π (ω0 = 1).\n *\n * @returns NaN unless 0 < theta0 < π.\n * @internal\n */\nexport function measurePendulumPeriodRatio(theta0: number, stepsPerPeriod: number = W7_FIXTURE.stepsPerPeriod): number {\n if (!(theta0 > 0 && theta0 < Math.PI)) return Number.NaN;\n const T0 = 2 * Math.PI;\n const quarter = quarterPeriod((x) => -Math.sin(x), theta0, T0 / stepsPerPeriod, 2 * stepsPerPeriod);\n return (4 * quarter) / T0;\n}\n\n/**\n * W8b: the damped spring m x'' + b x' + k x = 0 at the record's witness\n * normalisation b = k = x0 = 1, with v0 = 5 (the edge of |v0| ≤ 5). The mass is\n * `m / resolution`. The RK4 step is m/20, so the fast rate b/m is resolved at\n * every mass, and 5m/b is a whole number of steps.\n *\n * @internal\n */\nexport const W8B_FIXTURE = { m: 0.02, b: 1, k: 1, x0: 1, v0: 5, tEnd: 10, stepsPerMass: 20 } as const;\n\n/**\n * sup |x(t) − x0 e^(−kt/b)| over the RK4 grid on t ∈ [5m/b, tEnd], x from the\n * full second-order model: the norm of `ab-damped-massless`'s bound. The\n * window stops at `tEnd`; both motions there are below x0·e^(−k·tEnd/b).\n *\n * @returns NaN unless m, b and k are positive and finite.\n * @internal\n */\nexport function measureMasslessOffset(\n m: number,\n fixture: { readonly b: number; readonly k: number; readonly x0: number; readonly v0: number; readonly tEnd: number; readonly stepsPerMass: number } = W8B_FIXTURE,\n): number {\n const { b, k, x0, v0, tEnd, stepsPerMass } = fixture;\n if (![m, b, k].every((v) => Number.isFinite(v) && v > 0)) return Number.NaN;\n const h = m / stepsPerMass;\n const layerSteps = Math.ceil((5 * stepsPerMass) / b);\n const steps = Math.ceil(tEnd / h);\n const sol = solveODESystem(\n (_t, y) => [y[1]!, -(b * y[1]! + k * y[0]!) / m],\n [x0, v0],\n [0, steps * h],\n { dt: h },\n );\n let sup = 0;\n for (let i = layerSteps; i <= steps; i++) {\n const x = sol.y[i]?.[0];\n if (x === undefined) return Number.NaN;\n sup = Math.max(sup, Math.abs(x - x0 * Math.exp((-k / b) * i * h)));\n }\n return sup;\n}\n\n/**\n * W9: a ring of `masses · resolution` masses, m u_n'' = κ(u_{n+1} − 2u_n + u_{n−1}),\n * started at rest in its longest mode u_n = cos(2π n/N). Refinement doubles N, so\n * qa = 2π/N halves.\n *\n * @internal\n */\nexport const W9_FIXTURE = { masses: 16, kappa: 1, m: 1, a: 1, stepsPerUnitTime: 1000 } as const;\n\n/**\n * 1 − ω/(c q) on a ring of `masses` masses in its longest mode, with ω measured\n * from the first zero of u_0(t) = cos ωt (RK4, cubic Hermite and Newton on the\n * bracketing step) and c = a √(κ/m), q = 2π/(N a).\n *\n * @returns NaN for fewer than 3 masses or no crossing.\n * @internal\n */\nexport function measureChainDispersionError(\n masses: number,\n fixture: { readonly kappa: number; readonly m: number; readonly a: number; readonly stepsPerUnitTime: number } = W9_FIXTURE,\n): number {\n const N = masses;\n if (!Number.isInteger(N) || N < 3) return Number.NaN;\n const { kappa, m, a, stepsPerUnitTime } = fixture;\n const w = kappa / m;\n const accel = (u: Float64Array): Float64Array => {\n const out = new Float64Array(N);\n for (let n = 0; n < N; n++) out[n] = w * (u[(n + 1) % N]! - 2 * u[n]! + u[(n - 1 + N) % N]!);\n return out;\n };\n const h = 1 / stepsPerUnitTime;\n let state = [\n ...Float64Array.from({ length: N }, (_, n) => Math.cos((2 * Math.PI * n) / N)),\n ...new Array<number>(N).fill(0),\n ];\n // Twice the lattice quarter period π/(4√(κ/m) sin(π/N)): the crossing is inside.\n const maxSteps = Math.ceil(((2 * Math.PI) / (4 * Math.sqrt(w) * Math.sin(Math.PI / N))) * stepsPerUnitTime);\n for (let i = 0; i < maxSteps; i++) {\n const sol = solveODESystem(\n (_t, y) => {\n const pos = Float64Array.from(y.slice(0, N));\n const vel = y.slice(N);\n const a = accel(pos);\n return [...vel, ...a];\n },\n state,\n [0, h],\n { dt: h },\n );\n const next = sol.y[sol.y.length - 1];\n if (next === undefined) return Number.NaN;\n const u0 = state[0]!;\n const nu0 = next[0]!;\n const v0 = state[N]!;\n const nv0 = next[N]!;\n if (u0 > 0 && nu0 <= 0) {\n const [p0, m0, p1, m1] = [u0, v0 * h, nu0, nv0 * h];\n const p = (s: number): number =>\n (2 * s ** 3 - 3 * s ** 2 + 1) * p0 + (s ** 3 - 2 * s ** 2 + s) * m0 + (-2 * s ** 3 + 3 * s ** 2) * p1 + (s ** 3 - s ** 2) * m1;\n const dp = (s: number): number =>\n (6 * s ** 2 - 6 * s) * p0 + (3 * s ** 2 - 4 * s + 1) * m0 + (-6 * s ** 2 + 6 * s) * p1 + (3 * s ** 2 - 2 * s) * m1;\n let s = p0 / (p0 - p1);\n for (let j = 0; j < 8; j++) s -= p(s) / dp(s);\n const omega = Math.PI / (2 * (i + s) * h);\n const c = a * Math.sqrt(w);\n const q = (2 * Math.PI) / (N * a);\n return 1 - omega / (c * q);\n }\n state = next.slice();\n }\n return Number.NaN;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/models.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The nine oscillator models of design note §3.\n *\n * Each model's `regime` carries the π-groups `deriveRegimeGroups` produces\n * from its own parameters and dimensionless inputs. `inequalities` is EMPTY\n * on every model: Phase 0 states its inequalities on the BRIDGES (which carry\n * the regime of validity), and the design note fixes no per-model inequality.\n * An invented one would be a fabricated constraint, so none is written.\n *\n * The Phase 3 fields `boundaryData`, `initialData` and `symmetryGroup`\n * (`../model.ts`) are ABSENT on all nine for the same reason `inequalities`\n * is empty: no source records them for these ODE models, and an absent field\n * says \"not recorded\" where a present empty one would claim \"there are none\".\n *\n * `canonicalRefs` are restricted to ids that exist in `CANONICAL_EQUATIONS`;\n * `tests/atlas/models.test.ts` resolves every one of them, and a new one needs\n * a numeric check in `tests/atlas/canonical-links.test.ts`.\n *\n * @module atlas/oscillators/models\n */\n\nimport {\n ACCELERATION,\n LENGTH,\n MASS,\n VELOCITY,\n} from '../../dimensional/types.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport type { AtlasModel } from '../model.js';\nimport type { DimensionalVariable } from '../../dimensional/buckingham.js';\nimport {\n CAPACITANCE,\n CUBIC_STIFFNESS,\n DAMPING,\n INDUCTANCE,\n RESISTANCE,\n SPRING_CONSTANT,\n} from './dimensions.js';\n\nconst FAMILY = 'oscillators';\n\nfunction model(\n spec: Omit<AtlasModel, 'family' | 'regime'> & {\n readonly parameters: readonly DimensionalVariable[];\n },\n): AtlasModel {\n return {\n ...spec,\n family: FAMILY,\n regime: {\n family: FAMILY,\n inequalities: [],\n groupDefinitions: deriveRegimeGroups(FAMILY, spec.parameters, spec.dimensionlessInputs),\n },\n };\n}\n\n/** The nine Phase 0 oscillator models, in design-note §3 order. @internal */\nexport const ATLAS_MODELS: readonly AtlasModel[] = [\n model({\n id: 'model-spring',\n stateSpace: '(x, x′) ∈ ℝ²',\n dynamics: 'm x″ + k x = 0',\n observables: ['x', 'x′', 'energy'],\n parameters: [\n { name: 'm', dim: MASS },\n { name: 'k', dim: SPRING_CONSTANT },\n ],\n dimensionlessInputs: [],\n canonicalRefs: [\n 'CE-simple-harmonic-frequency',\n 'CE-spring-potential-energy',\n 'CE-oscillator-energy',\n ],\n }),\n model({\n id: 'model-lc',\n stateSpace: '(q, q′) ∈ ℝ²',\n dynamics: 'L q″ + q/C = 0',\n observables: ['q', 'q′', 'energy'],\n parameters: [\n { name: 'L', dim: INDUCTANCE },\n { name: 'C', dim: CAPACITANCE },\n ],\n dimensionlessInputs: [],\n canonicalRefs: ['CE-lc-resonance', 'CE-capacitor-energy'],\n }),\n model({\n id: 'model-damped-spring',\n stateSpace: '(x, x′) ∈ ℝ²',\n dynamics: 'm x″ + b x′ + k x = 0',\n observables: ['x', 'x′'],\n parameters: [\n { name: 'm', dim: MASS },\n { name: 'b', dim: DAMPING },\n { name: 'k', dim: SPRING_CONSTANT },\n ],\n dimensionlessInputs: [],\n canonicalRefs: [],\n }),\n model({\n id: 'model-rlc',\n stateSpace: '(q, q′) ∈ ℝ²',\n dynamics: 'L q″ + R q′ + q/C = 0',\n observables: ['q', 'q′'],\n parameters: [\n { name: 'L', dim: INDUCTANCE },\n { name: 'R', dim: RESISTANCE },\n { name: 'C', dim: CAPACITANCE },\n ],\n dimensionlessInputs: [],\n canonicalRefs: [],\n }),\n model({\n id: 'model-pendulum',\n stateSpace: '(θ, θ′) ∈ S¹ × ℝ',\n dynamics: 'θ″ + (g/ℓ) sin θ = 0',\n observables: ['theta', 'theta′', 'period'],\n parameters: [\n { name: 'g', dim: ACCELERATION },\n { name: 'ell', dim: LENGTH },\n ],\n dimensionlessInputs: ['theta0'],\n canonicalRefs: ['CE-pendulum-period'],\n }),\n model({\n id: 'model-chain',\n stateSpace: '(u_n, u_n′) ∈ ℝ^N × ℝ^N',\n dynamics: 'm u_n″ = κ(u_{n+1} − 2u_n + u_{n−1})',\n observables: ['u_n', 'u_n′', 'dispersion'],\n parameters: [\n { name: 'm', dim: MASS },\n { name: 'kappa', dim: SPRING_CONSTANT },\n { name: 'a', dim: LENGTH },\n ],\n dimensionlessInputs: ['qa'],\n canonicalRefs: [],\n }),\n model({\n id: 'model-wave-1d',\n stateSpace: 'u(x, t), a field on ℝ × ℝ',\n dynamics: 'u_tt = c² u_xx',\n observables: ['u', 'u_t', 'dispersion'],\n parameters: [{ name: 'c', dim: VELOCITY }],\n dimensionlessInputs: [],\n canonicalRefs: ['CE-wave-speed'],\n }),\n model({\n id: 'model-cubic-spring',\n stateSpace: '(x, x′) ∈ ℝ²',\n dynamics: 'm x″ + k x + β x³ = 0',\n observables: ['x', 'x′', 'amplitude-dependent period'],\n parameters: [\n { name: 'm', dim: MASS },\n { name: 'k', dim: SPRING_CONSTANT },\n { name: 'beta', dim: CUBIC_STIFFNESS },\n { name: 'x0', dim: LENGTH },\n ],\n dimensionlessInputs: [],\n canonicalRefs: [],\n }),\n model({\n id: 'model-first-order',\n stateSpace: 'x ∈ ℝ',\n dynamics: 'b x′ + k x = 0',\n observables: ['x'],\n parameters: [\n { name: 'b', dim: DAMPING },\n { name: 'k', dim: SPRING_CONSTANT },\n ],\n dimensionlessInputs: [],\n canonicalRefs: [],\n }),\n];\n\nconst BY_ID: ReadonlyMap<string, AtlasModel> = new Map(ATLAS_MODELS.map((m) => [m.id, m]));\n\n/** Look up a model by id, throwing on an unknown one. @internal */\nexport function getAtlasModel(id: string): AtlasModel {\n const found = BY_ID.get(id);\n if (found === undefined) throw new Error(`unknown atlas model id: ${id}`);\n return found;\n}\n"]}
|