universal-physics-tensor 0.45.2 → 0.47.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 +85 -66
- package/bin/upt.mjs +22 -22
- package/dist/atlas/applicability.d.ts +108 -0
- package/dist/atlas/applicability.d.ts.map +1 -0
- package/dist/atlas/applicability.js +301 -0
- package/dist/atlas/applicability.js.map +1 -0
- package/dist/atlas/association.d.ts +92 -0
- package/dist/atlas/association.d.ts.map +1 -0
- package/dist/atlas/association.js +112 -0
- package/dist/atlas/association.js.map +1 -0
- package/dist/atlas/benchmark/backend-shapes.d.ts +47 -0
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -0
- package/dist/atlas/benchmark/backend-shapes.js +58 -0
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -0
- package/dist/atlas/benchmark/baselines.d.ts +64 -0
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -0
- package/dist/atlas/benchmark/baselines.js +112 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -0
- package/dist/atlas/benchmark/leakage.d.ts +56 -0
- package/dist/atlas/benchmark/leakage.d.ts.map +1 -0
- package/dist/atlas/benchmark/leakage.js +100 -0
- package/dist/atlas/benchmark/leakage.js.map +1 -0
- package/dist/atlas/benchmark/loader.d.ts +56 -0
- package/dist/atlas/benchmark/loader.d.ts.map +1 -0
- package/dist/atlas/benchmark/loader.js +104 -0
- package/dist/atlas/benchmark/loader.js.map +1 -0
- package/dist/atlas/benchmark/run-atlas.d.ts +72 -0
- package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -0
- package/dist/atlas/benchmark/run-atlas.js +210 -0
- package/dist/atlas/benchmark/run-atlas.js.map +1 -0
- package/dist/atlas/benchmark/stats.d.ts +90 -0
- package/dist/atlas/benchmark/stats.d.ts.map +1 -0
- package/dist/atlas/benchmark/stats.js +159 -0
- package/dist/atlas/benchmark/stats.js.map +1 -0
- package/dist/atlas/benchmark/study.d.ts +120 -0
- package/dist/atlas/benchmark/study.d.ts.map +1 -0
- package/dist/atlas/benchmark/study.js +192 -0
- package/dist/atlas/benchmark/study.js.map +1 -0
- package/dist/atlas/benchmark/types.d.ts +79 -0
- package/dist/atlas/benchmark/types.d.ts.map +1 -0
- package/dist/atlas/benchmark/types.js +46 -0
- package/dist/atlas/benchmark/types.js.map +1 -0
- package/dist/atlas/composition-table.d.ts +55 -0
- package/dist/atlas/composition-table.d.ts.map +1 -0
- package/dist/atlas/composition-table.js +133 -0
- package/dist/atlas/composition-table.js.map +1 -0
- package/dist/atlas/conventions.d.ts +63 -0
- package/dist/atlas/conventions.d.ts.map +1 -0
- package/dist/atlas/conventions.js +93 -0
- package/dist/atlas/conventions.js.map +1 -0
- package/dist/atlas/coverage.d.ts +93 -0
- package/dist/atlas/coverage.d.ts.map +1 -0
- package/dist/atlas/coverage.js +69 -0
- package/dist/atlas/coverage.js.map +1 -0
- package/dist/atlas/derivation.d.ts +137 -0
- package/dist/atlas/derivation.d.ts.map +1 -0
- package/dist/atlas/derivation.js +190 -0
- package/dist/atlas/derivation.js.map +1 -0
- package/dist/atlas/derive-evidence.d.ts +218 -0
- package/dist/atlas/derive-evidence.d.ts.map +1 -0
- package/dist/atlas/derive-evidence.js +225 -0
- package/dist/atlas/derive-evidence.js.map +1 -0
- package/dist/atlas/diffusion/bridges-closure.d.ts +63 -0
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -0
- package/dist/atlas/diffusion/bridges-closure.js +350 -0
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -0
- package/dist/atlas/diffusion/bridges.d.ts +36 -0
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -0
- package/dist/atlas/diffusion/bridges.js +226 -0
- package/dist/atlas/diffusion/bridges.js.map +1 -0
- package/dist/atlas/diffusion/dimensions.d.ts +21 -0
- package/dist/atlas/diffusion/dimensions.d.ts.map +1 -0
- package/dist/atlas/diffusion/dimensions.js +21 -0
- package/dist/atlas/diffusion/dimensions.js.map +1 -0
- package/dist/atlas/diffusion/index.d.ts +16 -0
- package/dist/atlas/diffusion/index.d.ts.map +1 -0
- package/dist/atlas/diffusion/index.js +23 -0
- package/dist/atlas/diffusion/index.js.map +1 -0
- package/dist/atlas/diffusion/models.d.ts +24 -0
- package/dist/atlas/diffusion/models.d.ts.map +1 -0
- package/dist/atlas/diffusion/models.js +139 -0
- package/dist/atlas/diffusion/models.js.map +1 -0
- package/dist/atlas/diffusion/numerics.d.ts +181 -0
- package/dist/atlas/diffusion/numerics.d.ts.map +1 -0
- package/dist/atlas/diffusion/numerics.js +251 -0
- package/dist/atlas/diffusion/numerics.js.map +1 -0
- package/dist/atlas/error-algebra.d.ts +52 -0
- package/dist/atlas/error-algebra.d.ts.map +1 -0
- package/dist/atlas/error-algebra.js +55 -0
- package/dist/atlas/error-algebra.js.map +1 -0
- package/dist/atlas/export.d.ts +48 -0
- package/dist/atlas/export.d.ts.map +1 -0
- package/dist/atlas/export.js +106 -0
- package/dist/atlas/export.js.map +1 -0
- package/dist/atlas/families.d.ts +14 -0
- package/dist/atlas/families.d.ts.map +1 -0
- package/dist/atlas/families.js +20 -0
- package/dist/atlas/families.js.map +1 -0
- package/dist/atlas/index.d.ts +90 -0
- package/dist/atlas/index.d.ts.map +1 -0
- package/dist/atlas/index.js +69 -0
- package/dist/atlas/index.js.map +1 -0
- package/dist/atlas/link-prediction.d.ts +71 -0
- package/dist/atlas/link-prediction.d.ts.map +1 -0
- package/dist/atlas/link-prediction.js +128 -0
- package/dist/atlas/link-prediction.js.map +1 -0
- package/dist/atlas/model.d.ts +70 -0
- package/dist/atlas/model.d.ts.map +1 -0
- package/dist/atlas/model.js +26 -0
- package/dist/atlas/model.js.map +1 -0
- package/dist/atlas/oscillators/bridges-coarse.d.ts +71 -0
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -0
- package/dist/atlas/oscillators/bridges-coarse.js +146 -0
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -0
- package/dist/atlas/oscillators/bridges-exact.d.ts +70 -0
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -0
- package/dist/atlas/oscillators/bridges-exact.js +230 -0
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -0
- package/dist/atlas/oscillators/bridges-limits.d.ts +118 -0
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -0
- package/dist/atlas/oscillators/bridges-limits.js +345 -0
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -0
- package/dist/atlas/oscillators/dimensions.d.ts +34 -0
- package/dist/atlas/oscillators/dimensions.d.ts.map +1 -0
- package/dist/atlas/oscillators/dimensions.js +34 -0
- package/dist/atlas/oscillators/dimensions.js.map +1 -0
- package/dist/atlas/oscillators/index.d.ts +38 -0
- package/dist/atlas/oscillators/index.d.ts.map +1 -0
- package/dist/atlas/oscillators/index.js +37 -0
- package/dist/atlas/oscillators/index.js.map +1 -0
- package/dist/atlas/oscillators/models.d.ts +25 -0
- package/dist/atlas/oscillators/models.d.ts.map +1 -0
- package/dist/atlas/oscillators/models.js +160 -0
- package/dist/atlas/oscillators/models.js.map +1 -0
- package/dist/atlas/oscillators/rejections.d.ts +21 -0
- package/dist/atlas/oscillators/rejections.d.ts.map +1 -0
- package/dist/atlas/oscillators/rejections.js +54 -0
- package/dist/atlas/oscillators/rejections.js.map +1 -0
- package/dist/atlas/path-bound.d.ts +143 -0
- package/dist/atlas/path-bound.d.ts.map +1 -0
- package/dist/atlas/path-bound.js +268 -0
- package/dist/atlas/path-bound.js.map +1 -0
- package/dist/atlas/poster/associations.d.ts +66 -0
- package/dist/atlas/poster/associations.d.ts.map +1 -0
- package/dist/atlas/poster/associations.js +90 -0
- package/dist/atlas/poster/associations.js.map +1 -0
- package/dist/atlas/poster/derivations.d.ts +156 -0
- package/dist/atlas/poster/derivations.d.ts.map +1 -0
- package/dist/atlas/poster/derivations.js +430 -0
- package/dist/atlas/poster/derivations.js.map +1 -0
- package/dist/atlas/poster/statements.d.ts +198 -0
- package/dist/atlas/poster/statements.d.ts.map +1 -0
- package/dist/atlas/poster/statements.js +365 -0
- package/dist/atlas/poster/statements.js.map +1 -0
- package/dist/atlas/public.d.ts +26 -0
- package/dist/atlas/public.d.ts.map +1 -0
- package/dist/atlas/public.js +21 -0
- package/dist/atlas/public.js.map +1 -0
- package/dist/atlas/regime.d.ts +171 -0
- package/dist/atlas/regime.d.ts.map +1 -0
- package/dist/atlas/regime.js +309 -0
- package/dist/atlas/regime.js.map +1 -0
- package/dist/atlas/serialize.d.ts +50 -0
- package/dist/atlas/serialize.d.ts.map +1 -0
- package/dist/atlas/serialize.js +180 -0
- package/dist/atlas/serialize.js.map +1 -0
- package/dist/atlas/statement.d.ts +165 -0
- package/dist/atlas/statement.d.ts.map +1 -0
- package/dist/atlas/statement.js +176 -0
- package/dist/atlas/statement.js.map +1 -0
- package/dist/atlas/types.d.ts +325 -0
- package/dist/atlas/types.d.ts.map +1 -0
- package/dist/atlas/types.js +61 -0
- package/dist/atlas/types.js.map +1 -0
- package/dist/atlas/waves/bridges-closure.d.ts +39 -0
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -0
- package/dist/atlas/waves/bridges-closure.js +226 -0
- package/dist/atlas/waves/bridges-closure.js.map +1 -0
- package/dist/atlas/waves/bridges.d.ts +49 -0
- package/dist/atlas/waves/bridges.d.ts.map +1 -0
- package/dist/atlas/waves/bridges.js +266 -0
- package/dist/atlas/waves/bridges.js.map +1 -0
- package/dist/atlas/waves/index.d.ts +16 -0
- package/dist/atlas/waves/index.d.ts.map +1 -0
- package/dist/atlas/waves/index.js +23 -0
- package/dist/atlas/waves/index.js.map +1 -0
- package/dist/atlas/waves/models.d.ts +29 -0
- package/dist/atlas/waves/models.d.ts.map +1 -0
- package/dist/atlas/waves/models.js +127 -0
- package/dist/atlas/waves/models.js.map +1 -0
- package/dist/atlas/waves/numerics.d.ts +149 -0
- package/dist/atlas/waves/numerics.d.ts.map +1 -0
- package/dist/atlas/waves/numerics.js +218 -0
- package/dist/atlas/waves/numerics.js.map +1 -0
- package/dist/atlas/witness-artifact.d.ts +65 -0
- package/dist/atlas/witness-artifact.d.ts.map +1 -0
- package/dist/atlas/witness-artifact.js +78 -0
- package/dist/atlas/witness-artifact.js.map +1 -0
- package/dist/atlas/witness-numeric.d.ts +81 -0
- package/dist/atlas/witness-numeric.d.ts.map +1 -0
- package/dist/atlas/witness-numeric.js +105 -0
- package/dist/atlas/witness-numeric.js.map +1 -0
- package/dist/atlas/witness-result.d.ts +77 -0
- package/dist/atlas/witness-result.d.ts.map +1 -0
- package/dist/atlas/witness-result.js +39 -0
- package/dist/atlas/witness-result.js.map +1 -0
- package/dist/atlas/witness-specs.d.ts +110 -0
- package/dist/atlas/witness-specs.d.ts.map +1 -0
- package/dist/atlas/witness-specs.js +372 -0
- package/dist/atlas/witness-specs.js.map +1 -0
- package/dist/atlas/witness-symbolic.d.ts +79 -0
- package/dist/atlas/witness-symbolic.d.ts.map +1 -0
- package/dist/atlas/witness-symbolic.js +140 -0
- package/dist/atlas/witness-symbolic.js.map +1 -0
- package/dist/atlas/witnesses/quantum-support.d.ts +50 -0
- package/dist/atlas/witnesses/quantum-support.d.ts.map +1 -0
- package/dist/atlas/witnesses/quantum-support.js +48 -0
- package/dist/atlas/witnesses/quantum-support.js.map +1 -0
- package/dist/bridges/be11-decoherence-confrontation.js.map +1 -1
- package/dist/bridges/be21-kss-confrontation.js.map +1 -1
- package/dist/bridges/be23-planckian-confrontation.js.map +1 -1
- package/dist/bridges/be35-bootstrap-confrontation.js.map +1 -1
- package/dist/bridges/be36-gw170817-confrontation.js.map +1 -1
- package/dist/bridges/be37-cassini-confrontation.js.map +1 -1
- package/dist/bridges/be48-collapse-confrontation.js.map +1 -1
- package/dist/bridges/be51-lensing-confrontation.d.ts.map +1 -1
- package/dist/bridges/be51-lensing-confrontation.js +5 -3
- package/dist/bridges/be51-lensing-confrontation.js.map +1 -1
- package/dist/bridges/be52-mercury-confrontation.d.ts.map +1 -1
- package/dist/bridges/be52-mercury-confrontation.js +4 -1
- package/dist/bridges/be52-mercury-confrontation.js.map +1 -1
- package/dist/bridges/be55-quantum-hall-confrontation.js.map +1 -1
- package/dist/bridges/be56-casimir-confrontation.js.map +1 -1
- package/dist/bridges/be58-johnson-nyquist-confrontation.js.map +1 -1
- package/dist/bridges/be59-ac-josephson-confrontation.js.map +1 -1
- package/dist/bridges/be60-fractional-qh-confrontation.js.map +1 -1
- package/dist/bridges/be61-wiedemann-franz-confrontation.js.map +1 -1
- package/dist/bridges/be62-bcs-gap-confrontation.js.map +1 -1
- package/dist/bridges/be63-chandrasekhar-mass-confrontation.js.map +1 -1
- package/dist/bridges/be64-eddington-luminosity-confrontation.js.map +1 -1
- package/dist/bridges/be65-jeans-mass-confrontation.js.map +1 -1
- package/dist/bridges/bridge-equations.d.ts +2 -2
- package/dist/bridges/bridge-equations.d.ts.map +1 -1
- package/dist/bridges/bridge-equations.js +2 -2
- package/dist/bridges/bridge-equations.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/confrontations.d.ts.map +1 -1
- package/dist/bridges/confrontations.js +7 -0
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/equations/_be-helpers.d.ts +2 -2
- package/dist/bridges/equations/_be-helpers.js +2 -2
- package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +59 -72
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +1 -1
- package/dist/bridges/equations/be-35-conformal-bootstrap.js +66 -98
- package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +1 -1
- package/dist/bridges/equations/be-48-grw-localization.d.ts +9 -8
- package/dist/bridges/equations/be-48-grw-localization.d.ts.map +1 -1
- package/dist/bridges/equations/be-48-grw-localization.js +9 -8
- package/dist/bridges/equations/be-48-grw-localization.js.map +1 -1
- package/dist/bridges/gravitational-lensing.d.ts +10 -0
- package/dist/bridges/gravitational-lensing.d.ts.map +1 -1
- package/dist/bridges/gravitational-lensing.js.map +1 -1
- package/dist/bridges/index.d.ts +125 -7
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +483 -20
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/observations/types.d.ts +14 -0
- package/dist/bridges/observations/types.d.ts.map +1 -1
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/perihelion-precession.d.ts +10 -0
- package/dist/bridges/perihelion-precession.d.ts.map +1 -1
- package/dist/bridges/perihelion-precession.js.map +1 -1
- package/dist/bridges/rhs-registry.js +2 -2
- package/dist/canonical/canonical-equation.d.ts +15 -0
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- package/dist/canonical/entries/_l1-build.d.ts +1 -1
- package/dist/canonical/entries/_l1-build.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +23 -0
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +93 -0
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/residual.d.ts +28 -0
- package/dist/canonical/residual.d.ts.map +1 -0
- package/dist/canonical/residual.js +31 -0
- package/dist/canonical/residual.js.map +1 -0
- package/dist/cli/command.d.ts +8 -0
- package/dist/cli/command.d.ts.map +1 -1
- package/dist/cli/command.js +10 -0
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts +3 -0
- package/dist/cli/commands/atlas.d.ts.map +1 -0
- package/dist/cli/commands/atlas.js +158 -0
- package/dist/cli/commands/atlas.js.map +1 -0
- package/dist/cli/commands/audit.js +3 -3
- package/dist/cli/commands/candidates.js +3 -3
- package/dist/cli/commands/canonical.js +3 -3
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +8 -1
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.js +7 -7
- package/dist/cli/commands/coverage.js +3 -3
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +40 -9
- 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 +46 -27
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +2 -1
- 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 +19 -6
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/index.d.ts +3 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +3 -0
- 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 +187 -36
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/path.d.ts +3 -0
- package/dist/cli/commands/path.d.ts.map +1 -0
- package/dist/cli/commands/path.js +228 -0
- package/dist/cli/commands/path.js.map +1 -0
- package/dist/cli/commands/predict.js +4 -4
- package/dist/cli/commands/priority.js +2 -2
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +59 -2
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/recover.d.ts.map +1 -1
- package/dist/cli/commands/recover.js +25 -6
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +41 -0
- package/dist/cli/commands/regime.d.ts.map +1 -0
- package/dist/cli/commands/regime.js +243 -0
- package/dist/cli/commands/regime.js.map +1 -0
- package/dist/cli/commands/symbolic.js +5 -5
- package/dist/cli/errors.d.ts +13 -1
- package/dist/cli/errors.d.ts.map +1 -1
- package/dist/cli/errors.js +13 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/graphs.d.ts.map +1 -1
- package/dist/cli/graphs.js +5 -1
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +29 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/output.d.ts +6 -1
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +21 -1
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +23 -1
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/bridge-prediction.js +0 -0
- package/dist/composition/bridge-prediction.js.map +1 -1
- package/dist/composition/canonical-compare.d.ts +65 -0
- package/dist/composition/canonical-compare.d.ts.map +1 -0
- package/dist/composition/canonical-compare.js +237 -0
- package/dist/composition/canonical-compare.js.map +1 -0
- package/dist/composition/canonical-graph.d.ts +2 -2
- package/dist/composition/canonical-graph.js +2 -2
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-prefactors.d.ts +32 -0
- package/dist/composition/canonical-prefactors.d.ts.map +1 -0
- package/dist/composition/canonical-prefactors.js +80 -0
- package/dist/composition/canonical-prefactors.js.map +1 -0
- package/dist/composition/compose-symbolic.d.ts.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 +80 -1
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/discovery.d.ts +20 -3
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +30 -4
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +64 -0
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +29 -0
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/edges/calibration.d.ts.map +1 -1
- package/dist/composition/edges/calibration.js +46 -0
- package/dist/composition/edges/calibration.js.map +1 -1
- package/dist/composition/edges/catalog-quantum.d.ts.map +1 -1
- package/dist/composition/edges/catalog-quantum.js +9 -0
- package/dist/composition/edges/catalog-quantum.js.map +1 -1
- package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
- package/dist/composition/edges/catalog-tranche.js +18 -0
- package/dist/composition/edges/catalog-tranche.js.map +1 -1
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/explain.d.ts +9 -1
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +34 -8
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts +13 -0
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +25 -0
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/graph-viz-svg.d.ts.map +1 -1
- package/dist/composition/graph-viz.d.ts +118 -1
- package/dist/composition/graph-viz.d.ts.map +1 -1
- package/dist/composition/graph-viz.js +189 -6
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.d.ts.map +1 -1
- package/dist/composition/grounding.js +6 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +4 -2
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +2 -1
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/poster-source.d.ts +153 -0
- package/dist/composition/poster-source.d.ts.map +1 -0
- package/dist/composition/poster-source.js +183 -0
- package/dist/composition/poster-source.js.map +1 -0
- package/dist/composition/probe/backend-protocol.d.ts +34 -1
- package/dist/composition/probe/backend-protocol.d.ts.map +1 -1
- package/dist/composition/probe/backend-protocol.js +9 -2
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.d.ts.map +1 -1
- package/dist/composition/probe/corpus.d.ts +12 -0
- package/dist/composition/probe/corpus.d.ts.map +1 -1
- package/dist/composition/probe/corpus.js +100 -0
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/generator.d.ts +14 -0
- package/dist/composition/probe/generator.d.ts.map +1 -1
- package/dist/composition/probe/generator.js +24 -2
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/limits.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 +20 -3
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.d.ts.map +1 -1
- package/dist/composition/probe/report.js +2 -0
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.d.ts.map +1 -1
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +2 -2
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +1 -1
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.d.ts +52 -2
- package/dist/composition/uncertainty.d.ts.map +1 -1
- package/dist/composition/uncertainty.js +38 -2
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/core/constants.d.ts +13 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +13 -0
- package/dist/core/constants.js.map +1 -1
- package/dist/core/flux-rules.d.ts.map +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/regime-registry.d.ts.map +1 -1
- package/dist/core/regime-rule-install.js.map +1 -1
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +1 -1
- package/dist/diff/bridge-gradient.js +1 -1
- package/dist/dimensional/ast-types.d.ts +31 -1
- package/dist/dimensional/ast-types.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.d.ts +1 -1
- package/dist/dimensional/bridge-check.js +1 -1
- package/dist/dimensional/buckingham.d.ts.map +1 -1
- package/dist/dimensional/connection.d.ts +2 -0
- package/dist/dimensional/connection.d.ts.map +1 -1
- package/dist/dimensional/connection.js +2 -0
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/curvature-composite.d.ts +5 -3
- package/dist/dimensional/curvature-composite.d.ts.map +1 -1
- package/dist/dimensional/curvature-composite.js +1 -0
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.d.ts +2 -0
- package/dist/dimensional/curvature-invariants.d.ts.map +1 -1
- package/dist/dimensional/curvature-invariants.js +2 -0
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/einstein-equation.d.ts +3 -3
- package/dist/dimensional/einstein-equation.js +3 -3
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/metric.d.ts +5 -2
- package/dist/dimensional/metric.d.ts.map +1 -1
- package/dist/dimensional/metric.js +5 -2
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/tensor-trace.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +3 -2
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +23 -4
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +104 -0
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/float64-engine.d.ts.map +1 -1
- package/dist/numerical/float64-engine.js +51 -24
- package/dist/numerical/float64-engine.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula.d.ts.map +1 -1
- package/dist/numerical/formula.js.map +1 -1
- package/dist/numerical/geometrized.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +3 -3
- package/dist/numerical/gl4-integrator.js +3 -3
- package/dist/numerical/killing.d.ts +47 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js +41 -3
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.d.ts +2 -2
- package/dist/numerical/klein-gordon.js +2 -2
- package/dist/numerical/lowering.d.ts +2 -2
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +5 -3
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/perihelion-finder.d.ts +15 -13
- package/dist/numerical/perihelion-finder.d.ts.map +1 -1
- package/dist/numerical/perihelion-finder.js +15 -13
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/weyl-lowering.d.ts.map +1 -1
- package/dist/numerical/weyl-lowering.js +90 -40
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/package.json +163 -104
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlas Phase 0 pilot types (oscillator pilot).
|
|
3
|
+
*
|
|
4
|
+
* Fixed by `docs/planning/Atlas-Phase-0-Design.md` §2 and the implementation
|
|
5
|
+
* plan's §"S0 types" block, implemented here verbatim.
|
|
6
|
+
*
|
|
7
|
+
* **These are throwaway pilot types** (design note §4). If Phase 1's
|
|
8
|
+
* relation-contract work disagrees with any of them, the Phase 0 type is
|
|
9
|
+
* replaced, not adapted: nothing atlas-side is public before Phase 6 and the
|
|
10
|
+
* only consumers are Phase 0's own tests.
|
|
11
|
+
*
|
|
12
|
+
* Name note: the probe's `RelationKind` and `AuditState` are NOT shadowed —
|
|
13
|
+
* this sprint uses `RelationType` and defines no `AuditState`.
|
|
14
|
+
* `src/composition/bridge-prediction.ts` has a module-local, unexported
|
|
15
|
+
* `interface Regime` for tensor-cell placement; different concept, no
|
|
16
|
+
* import collision.
|
|
17
|
+
*
|
|
18
|
+
* @module atlas/types
|
|
19
|
+
*/
|
|
20
|
+
import type { PiGroup } from '../dimensional/buckingham.js';
|
|
21
|
+
/** The relation a bridge asserts between its premises and its conclusion. @public */
|
|
22
|
+
export type RelationType = 'derivation' | 'exact-equivalence' | 'restriction' | 'approximation' | 'coarse-graining' | 'analytic-continuation' | 'structural-analogy' | 'deformation-quantization';
|
|
23
|
+
/** What kind of support a record carries. Carried only if its witness passes. @public */
|
|
24
|
+
export type EvidenceTag = 'proposed' | 'reviewed' | 'dimension-checked' | 'convention-checked' | 'symbolically-checked' | 'numerically-supported' | 'formally-proved' | 'empirically-supported' | 'contradicted' | 'unresolved';
|
|
25
|
+
/**
|
|
26
|
+
* Every `EvidenceTag`, in declaration order, so a report can name all of them.
|
|
27
|
+
*
|
|
28
|
+
* Lives HERE, not in `coverage.ts` (which re-exports it), because
|
|
29
|
+
* `tests/atlas/derived-tag-literals.test.ts` allows the literals
|
|
30
|
+
* `'formally-proved'` and `'symbolically-checked'` under `src/atlas/` in
|
|
31
|
+
* exactly two files: this one and `derive-evidence.ts`. A tag that can only be
|
|
32
|
+
* DERIVED must not be spellable anywhere a record could hand-set it.
|
|
33
|
+
*
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
export declare const ALL_EVIDENCE_TAGS: readonly ["proposed", "reviewed", "dimension-checked", "convention-checked", "symbolically-checked", "numerically-supported", "formally-proved", "empirically-supported", "contradicted", "unresolved"];
|
|
37
|
+
/**
|
|
38
|
+
* How a formal reference's statement was checked against the physics it claims
|
|
39
|
+
* to state (Phase 4 design note §3).
|
|
40
|
+
*
|
|
41
|
+
* - `'two-formalizers'` — two people formalized it independently and agreed.
|
|
42
|
+
* - `'back-translation'` — a reviewer who had not seen the source translated
|
|
43
|
+
* the formal statement back to prose and it matched.
|
|
44
|
+
* - `'sanity-lemmas'` — the statement was instantiated on known cases in
|
|
45
|
+
* `tests/atlas/formal-sanity.test.ts`.
|
|
46
|
+
* - `'unreviewed'` — recorded, not checked. **Earns no tag, by construction.**
|
|
47
|
+
*
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
50
|
+
export type FormalFidelity = 'two-formalizers' | 'back-translation' | 'sanity-lemmas' | 'unreviewed';
|
|
51
|
+
/**
|
|
52
|
+
* A machine-checked counterpart of a record's claim in a proof assistant.
|
|
53
|
+
*
|
|
54
|
+
* A proof of the WRONG statement proves nothing about the physics, so the
|
|
55
|
+
* reference carries its `fidelity` — how anyone knows the formal statement says
|
|
56
|
+
* what the bridge says. `formally-proved` is derived from it and never set.
|
|
57
|
+
*
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
export interface FormalRef {
|
|
61
|
+
readonly system: 'lean4-physlib' | 'other';
|
|
62
|
+
/** The formal statement's name or text, as it appears in `system`. */
|
|
63
|
+
readonly statement: string;
|
|
64
|
+
/** The library version or commit the statement was checked against. */
|
|
65
|
+
readonly version: string;
|
|
66
|
+
/** Axioms the proof depends on beyond the system's core. */
|
|
67
|
+
readonly axioms: readonly string[];
|
|
68
|
+
readonly fidelity: FormalFidelity;
|
|
69
|
+
}
|
|
70
|
+
/** Whether the limit a bridge takes is regular or singular. @public */
|
|
71
|
+
export type LimitCharacter = 'regular' | 'singular' | 'unknown';
|
|
72
|
+
/**
|
|
73
|
+
* One inequality on a regime coordinate. The coordinate is either a π-group
|
|
74
|
+
* `buckinghamPi` produced from the family's dimensioned parameters (keyed by
|
|
75
|
+
* `PiGroup.formula`), or a dimensionless INPUT of the model (an initial datum
|
|
76
|
+
* such as θ0, a wavenumber-lattice product qa) declared as a
|
|
77
|
+
* `DimensionalVariable` with the zero dimension, which is its own trivial
|
|
78
|
+
* group. Derived quantities such as ζ = ½ (m k / b²)^(−½) are NOT groups:
|
|
79
|
+
* write the inequality on the group (`m k / b² > 1/4`) and record the display
|
|
80
|
+
* alias in `alias`.
|
|
81
|
+
*
|
|
82
|
+
* @public
|
|
83
|
+
*/
|
|
84
|
+
export interface RegimeInequality {
|
|
85
|
+
/** `PiGroup.formula`, or the dimensionless input's name. */
|
|
86
|
+
readonly group: string;
|
|
87
|
+
readonly op: '<' | '<=' | '>' | '>=';
|
|
88
|
+
readonly bound: number;
|
|
89
|
+
/** `'ζ < 1'` — for display only, never evaluated. */
|
|
90
|
+
readonly alias?: string;
|
|
91
|
+
}
|
|
92
|
+
/** Where in parameter space a model or bridge is claimed to apply. @public */
|
|
93
|
+
export interface Regime {
|
|
94
|
+
/** `'oscillators'`. */
|
|
95
|
+
readonly family: string;
|
|
96
|
+
readonly inequalities: readonly RegimeInequality[];
|
|
97
|
+
/** Traceability back to the dimension matrix, keyed by `PiGroup.formula`. */
|
|
98
|
+
readonly groupDefinitions: Readonly<Record<string, PiGroup>>;
|
|
99
|
+
}
|
|
100
|
+
/** A Lipschitz-plus-offset error bound with a mandatory horizon. @public */
|
|
101
|
+
export interface ApproximationBound {
|
|
102
|
+
/** Lipschitz constant of the map, in the stated norm. */
|
|
103
|
+
readonly K: number;
|
|
104
|
+
/**
|
|
105
|
+
* Uniform error, same norm: the SUPREMUM OF THE BOUND OVER THE WHOLE
|
|
106
|
+
* DECLARED DOMAIN (`domain` / `parameterRange`), never a sample of it at
|
|
107
|
+
* one convenient fixture point.
|
|
108
|
+
*
|
|
109
|
+
* A parameter-dependent bound evaluated at a fixture is not a bound on the
|
|
110
|
+
* domain it claims: the record would read as covering every admissible
|
|
111
|
+
* parameter while holding only at the one point it was measured. When the
|
|
112
|
+
* supremum is approached but not attained at an open edge of the domain,
|
|
113
|
+
* `delta` is that supremum, and `deltaAt` is what a caller uses to get the
|
|
114
|
+
* tighter value at its own point.
|
|
115
|
+
*/
|
|
116
|
+
readonly delta: number;
|
|
117
|
+
/**
|
|
118
|
+
* `'relative period error, normalized by the value of the reduced model'`,
|
|
119
|
+
* `'sup |x − x_reduced| for t ≥ 5 m/b'`, …
|
|
120
|
+
*
|
|
121
|
+
* A RELATIVE norm divides |exact − reduced| by the REDUCED model's value, and
|
|
122
|
+
* says so in this string. The other reading, by the exact value, gives a
|
|
123
|
+
* different number: at x = ck/ω₀ = 1 the non-relativistic kinetic frequency
|
|
124
|
+
* exceeds the exact Klein–Gordon one by 20.7% of the exact value, and by
|
|
125
|
+
* 17.2% of its own value. `tests/atlas/relative-norm-convention.test.ts` recomputes
|
|
126
|
+
* every relative `delta` from closed-form physics and pins the convention.
|
|
127
|
+
*/
|
|
128
|
+
readonly norm: string;
|
|
129
|
+
/** Where the bound holds. */
|
|
130
|
+
readonly domain: string;
|
|
131
|
+
/** MANDATORY prose horizon: `'t ≪ 16 T0/θ0²'`. */
|
|
132
|
+
readonly horizon: string;
|
|
133
|
+
/** MANDATORY machine form of `horizon`: true while the bound is claimed to hold. */
|
|
134
|
+
readonly horizonHolds: (t: number, params: Readonly<Record<string, number>>) => boolean;
|
|
135
|
+
/**
|
|
136
|
+
* MACHINE FORM OF `delta`, mirroring what `horizonHolds` is to `horizon`:
|
|
137
|
+
* the bound AT A POINT of the declared domain, in the same norm.
|
|
138
|
+
*
|
|
139
|
+
* `horizon` had a machine counterpart and `delta` had none, so an
|
|
140
|
+
* implementer holding a correct parameter-dependent bound could only freeze
|
|
141
|
+
* it at a single point and hope the reader noticed. `deltaAt` is where that
|
|
142
|
+
* dependence goes; `delta` stays the supremum over the domain, and
|
|
143
|
+
* `deltaAt(p) <= delta` for every admissible `p`.
|
|
144
|
+
*
|
|
145
|
+
* Optional on the interface so a genuinely constant bound need not restate
|
|
146
|
+
* itself, and so `coarse-graining` bounds are unaffected; MANDATORY for an
|
|
147
|
+
* `approximation`, enforced at admission by `admitApproximation`.
|
|
148
|
+
*/
|
|
149
|
+
readonly deltaAt?: (params: Readonly<Record<string, number>>) => number;
|
|
150
|
+
/**
|
|
151
|
+
* What `deltaAt` rests on. `'closed-form'`: it returns the EXACT error in
|
|
152
|
+
* closed form, so it is a proven bound, holding with equality. `'numerically-
|
|
153
|
+
* supported'`: a formula that witnesses support numerically but no proof
|
|
154
|
+
* covers. `upt path` prints a point bound only when every step is closed-form.
|
|
155
|
+
*/
|
|
156
|
+
readonly deltaAtBasis?: 'closed-form' | 'numerically-supported';
|
|
157
|
+
/** `'θ0 ≤ 0.5 rad'`. */
|
|
158
|
+
readonly parameterRange?: string;
|
|
159
|
+
readonly limitCharacter: LimitCharacter;
|
|
160
|
+
/**
|
|
161
|
+
* What the error is uniform in.
|
|
162
|
+
*
|
|
163
|
+
* `null` means NOT YET ANALYSED. That is a legitimate recorded state:
|
|
164
|
+
* `makeApproximation` accepts it, and the check lives at use (`boundPath`),
|
|
165
|
+
* not at construction. An empty array means the same thing — a universal
|
|
166
|
+
* over nothing must not count as analysed. A non-empty array names the
|
|
167
|
+
* scopes the error is uniform in. A variable a side condition says the
|
|
168
|
+
* error is NOT uniform in is not listed.
|
|
169
|
+
*/
|
|
170
|
+
readonly uniformity: readonly string[] | null;
|
|
171
|
+
}
|
|
172
|
+
/** A named check that supports a record, and the test file that runs it. @public */
|
|
173
|
+
export interface Witness {
|
|
174
|
+
/** `'W7b'`. */
|
|
175
|
+
readonly id: string;
|
|
176
|
+
readonly kind: 'symbolic' | 'numeric' | 'formal';
|
|
177
|
+
/** Test file path. */
|
|
178
|
+
readonly test: string;
|
|
179
|
+
/** As stated in the brief. */
|
|
180
|
+
readonly tolerance?: string;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* `AtlasModel` MOVED to `./model.ts` in Phase 3, where it gained
|
|
184
|
+
* `boundaryData?`, `initialData?` and `symmetryGroup?`. It is NOT re-exported
|
|
185
|
+
* from here: `model.ts` imports `Regime` from this module, so a re-export
|
|
186
|
+
* would close a cycle `bun run docs:deps` reports. Import it from
|
|
187
|
+
* `./model.js`.
|
|
188
|
+
*/
|
|
189
|
+
/** A case a bridge does NOT cover, and the witness that shows it. @public */
|
|
190
|
+
export interface Counterexample {
|
|
191
|
+
readonly description: string;
|
|
192
|
+
/** `'W2b'`. */
|
|
193
|
+
readonly witness: string;
|
|
194
|
+
}
|
|
195
|
+
/** Field set = Blueprint v2 §3.1 Bridge record + citations. @internal */
|
|
196
|
+
export interface AtlasBridge {
|
|
197
|
+
/** `'ab-spring-lc'`. */
|
|
198
|
+
readonly id: string;
|
|
199
|
+
readonly relation: RelationType;
|
|
200
|
+
/** Model ids (many). */
|
|
201
|
+
readonly premises: readonly string[];
|
|
202
|
+
/** Model id (one). */
|
|
203
|
+
readonly conclusion: string;
|
|
204
|
+
/** `'u = x/x0 (or q/q0), τ = ω0 t'`. */
|
|
205
|
+
readonly transformation: string;
|
|
206
|
+
/** `'x = x0 u, t = τ/ω0'` — required for `exact-equivalence`. */
|
|
207
|
+
readonly inverse?: string;
|
|
208
|
+
readonly preserves: readonly string[];
|
|
209
|
+
readonly doesNotPreserve: readonly string[];
|
|
210
|
+
readonly sideConditions: readonly string[];
|
|
211
|
+
/** Required iff `relation === 'approximation'`. */
|
|
212
|
+
readonly bound?: ApproximationBound;
|
|
213
|
+
readonly regime: Regime;
|
|
214
|
+
readonly counterexamples: readonly Counterexample[];
|
|
215
|
+
readonly evidence: ReadonlySet<EvidenceTag>;
|
|
216
|
+
readonly witnesses: readonly Witness[];
|
|
217
|
+
readonly citations: readonly string[];
|
|
218
|
+
readonly reviewStatus: 'proposed' | 'reviewed';
|
|
219
|
+
/**
|
|
220
|
+
* A machine-checked counterpart, when one genuinely exists (Phase 4, S4.6).
|
|
221
|
+
* Absent is the honest default: a statement with no checked counterpart gets
|
|
222
|
+
* no reference rather than an `'unreviewed'` placeholder.
|
|
223
|
+
*/
|
|
224
|
+
readonly formalRef?: FormalRef;
|
|
225
|
+
}
|
|
226
|
+
/** A claimed bridge the atlas records as REJECTED, with the reason. @public */
|
|
227
|
+
export interface AtlasRejection {
|
|
228
|
+
/** `'ax-cubic-spring-lc'`. */
|
|
229
|
+
readonly id: string;
|
|
230
|
+
readonly claimed: RelationType;
|
|
231
|
+
readonly premises: readonly string[];
|
|
232
|
+
readonly conclusion: string;
|
|
233
|
+
readonly reason: string;
|
|
234
|
+
/** `'beta·x0²·k⁻¹'`. */
|
|
235
|
+
readonly survivingGroup: string;
|
|
236
|
+
readonly witnesses: readonly Witness[];
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* The relation a record asserts, as a DISCRIMINATED UNION over `RelationType`.
|
|
240
|
+
*
|
|
241
|
+
* This is the Phase 1 overlay (design note §1.2, "One overlay, not two"). Its
|
|
242
|
+
* purpose is to move `AtlasBridge`'s two CONDITIONAL requirements — written
|
|
243
|
+
* there only as doc comments — into the type system:
|
|
244
|
+
*
|
|
245
|
+
* - `approximation` REQUIRES `bound`, and `ApproximationBound` itself
|
|
246
|
+
* mandates `horizon` + `horizonHolds`. So an approximation without a
|
|
247
|
+
* machine horizon is a COMPILE error, not a runtime one.
|
|
248
|
+
* - `exact-equivalence` REQUIRES `inverse`.
|
|
249
|
+
*
|
|
250
|
+
* Deliberately conservative elsewhere. The design note §2.2 names the fields
|
|
251
|
+
* the other members WOULD need (an analyticity domain, a checkable
|
|
252
|
+
* `preserves` set, an ħ-order) and records that none of them exists before
|
|
253
|
+
* Phase 2. Inventing them here would encode claims the data cannot support,
|
|
254
|
+
* so every other member carries only `transformation`.
|
|
255
|
+
*
|
|
256
|
+
* @internal
|
|
257
|
+
*/
|
|
258
|
+
export type RelationContract = {
|
|
259
|
+
readonly type: 'derivation';
|
|
260
|
+
readonly transformation: string;
|
|
261
|
+
} | {
|
|
262
|
+
readonly type: 'exact-equivalence';
|
|
263
|
+
readonly transformation: string;
|
|
264
|
+
/** REQUIRED: `'x = x0 u, t = τ/ω0'`. An equivalence without an inverse is not one. */
|
|
265
|
+
readonly inverse: string;
|
|
266
|
+
} | {
|
|
267
|
+
readonly type: 'restriction';
|
|
268
|
+
readonly transformation: string;
|
|
269
|
+
} | {
|
|
270
|
+
readonly type: 'approximation';
|
|
271
|
+
readonly transformation: string;
|
|
272
|
+
/** REQUIRED, and mandates its own machine horizon. */
|
|
273
|
+
readonly bound: ApproximationBound;
|
|
274
|
+
} | {
|
|
275
|
+
readonly type: 'coarse-graining';
|
|
276
|
+
readonly transformation: string;
|
|
277
|
+
/** Optional: errors accumulate through `composeBounds` when present. */
|
|
278
|
+
readonly bound?: ApproximationBound;
|
|
279
|
+
} | {
|
|
280
|
+
readonly type: 'analytic-continuation';
|
|
281
|
+
readonly transformation: string;
|
|
282
|
+
} | {
|
|
283
|
+
readonly type: 'structural-analogy';
|
|
284
|
+
readonly transformation: string;
|
|
285
|
+
} | {
|
|
286
|
+
readonly type: 'deformation-quantization';
|
|
287
|
+
readonly transformation: string;
|
|
288
|
+
};
|
|
289
|
+
/**
|
|
290
|
+
* Sign and unit choices a record depends on. Every field is optional, and a
|
|
291
|
+
* field is only meaningful when the record actually depends on that choice.
|
|
292
|
+
*
|
|
293
|
+
* Non-emptiness matters downstream: design note §3 requires `conventions` to
|
|
294
|
+
* declare AT LEAST ONE field before `convention-checked` can be derived,
|
|
295
|
+
* because `[].every(…)` is vacuously true and would hand out a free tag.
|
|
296
|
+
*
|
|
297
|
+
* @internal
|
|
298
|
+
*/
|
|
299
|
+
export interface Conventions {
|
|
300
|
+
/** First law as `dU = Q − W` or `dU = Q + W`. */
|
|
301
|
+
readonly heatWorkSign?: 'Q-W' | 'Q+W';
|
|
302
|
+
readonly metricSignature?: '-+++' | '+---';
|
|
303
|
+
readonly fourierNormalization?: 'unitary' | 'physics' | 'none';
|
|
304
|
+
readonly unitSystem?: 'SI' | 'gaussian' | 'natural';
|
|
305
|
+
readonly capacitorChargeSign?: '+' | '-';
|
|
306
|
+
}
|
|
307
|
+
/** Thrown when an `ApproximationBound` is built without its machine horizon. @public */
|
|
308
|
+
export declare class MissingHorizonError extends Error {
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Thrown when an `approximation` bound is built without the machine form of
|
|
312
|
+
* its `delta`.
|
|
313
|
+
*
|
|
314
|
+
* A distinct type rather than a reuse of `MissingHorizonError`: the horizon of
|
|
315
|
+
* such a record is present and correct, and reporting a missing horizon for it
|
|
316
|
+
* would send the next reader to the one field that is not the defect.
|
|
317
|
+
*
|
|
318
|
+
* @internal
|
|
319
|
+
*/
|
|
320
|
+
export declare class MissingDeltaAtError extends Error {
|
|
321
|
+
}
|
|
322
|
+
/** Thrown when a bound path has no Lipschitz constant anywhere but at its end. @public */
|
|
323
|
+
export declare class MissingLipschitzError extends Error {
|
|
324
|
+
}
|
|
325
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/atlas/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlas Phase 0 pilot types (oscillator pilot).
|
|
3
|
+
*
|
|
4
|
+
* Fixed by `docs/planning/Atlas-Phase-0-Design.md` §2 and the implementation
|
|
5
|
+
* plan's §"S0 types" block, implemented here verbatim.
|
|
6
|
+
*
|
|
7
|
+
* **These are throwaway pilot types** (design note §4). If Phase 1's
|
|
8
|
+
* relation-contract work disagrees with any of them, the Phase 0 type is
|
|
9
|
+
* replaced, not adapted: nothing atlas-side is public before Phase 6 and the
|
|
10
|
+
* only consumers are Phase 0's own tests.
|
|
11
|
+
*
|
|
12
|
+
* Name note: the probe's `RelationKind` and `AuditState` are NOT shadowed —
|
|
13
|
+
* this sprint uses `RelationType` and defines no `AuditState`.
|
|
14
|
+
* `src/composition/bridge-prediction.ts` has a module-local, unexported
|
|
15
|
+
* `interface Regime` for tensor-cell placement; different concept, no
|
|
16
|
+
* import collision.
|
|
17
|
+
*
|
|
18
|
+
* @module atlas/types
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Every `EvidenceTag`, in declaration order, so a report can name all of them.
|
|
22
|
+
*
|
|
23
|
+
* Lives HERE, not in `coverage.ts` (which re-exports it), because
|
|
24
|
+
* `tests/atlas/derived-tag-literals.test.ts` allows the literals
|
|
25
|
+
* `'formally-proved'` and `'symbolically-checked'` under `src/atlas/` in
|
|
26
|
+
* exactly two files: this one and `derive-evidence.ts`. A tag that can only be
|
|
27
|
+
* DERIVED must not be spellable anywhere a record could hand-set it.
|
|
28
|
+
*
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export const ALL_EVIDENCE_TAGS = [
|
|
32
|
+
'proposed',
|
|
33
|
+
'reviewed',
|
|
34
|
+
'dimension-checked',
|
|
35
|
+
'convention-checked',
|
|
36
|
+
'symbolically-checked',
|
|
37
|
+
'numerically-supported',
|
|
38
|
+
'formally-proved',
|
|
39
|
+
'empirically-supported',
|
|
40
|
+
'contradicted',
|
|
41
|
+
'unresolved',
|
|
42
|
+
];
|
|
43
|
+
/** Thrown when an `ApproximationBound` is built without its machine horizon. @public */
|
|
44
|
+
export class MissingHorizonError extends Error {
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Thrown when an `approximation` bound is built without the machine form of
|
|
48
|
+
* its `delta`.
|
|
49
|
+
*
|
|
50
|
+
* A distinct type rather than a reuse of `MissingHorizonError`: the horizon of
|
|
51
|
+
* such a record is present and correct, and reporting a missing horizon for it
|
|
52
|
+
* would send the next reader to the one field that is not the defect.
|
|
53
|
+
*
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
export class MissingDeltaAtError extends Error {
|
|
57
|
+
}
|
|
58
|
+
/** Thrown when a bound path has no Lipschitz constant anywhere but at its end. @public */
|
|
59
|
+
export class MissingLipschitzError extends Error {
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/atlas/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AA4BH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,UAAU;IACV,UAAU;IACV,mBAAmB;IACnB,oBAAoB;IACpB,sBAAsB;IACtB,uBAAuB;IACvB,iBAAiB;IACjB,uBAAuB;IACvB,cAAc;IACd,YAAY;CAC6B,CAAC;AA0R5C,wFAAwF;AACxF,MAAM,OAAO,mBAAoB,SAAQ,KAAK;CAAG;AAEjD;;;;;;;;;GASG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;CAAG;AAEjD,0FAA0F;AAC1F,MAAM,OAAO,qBAAsB,SAAQ,KAAK;CAAG"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlas Phase 4 — the three wave-family bridges added to close Sprint 4's
|
|
3
|
+
* "≥ 20 bridges" exit criterion.
|
|
4
|
+
*
|
|
5
|
+
* Design note: `docs/planning/Atlas-Phase-4-Design.md` §4 (Sprint 4 closure).
|
|
6
|
+
*
|
|
7
|
+
* | Bridge | Relation | Witnesses |
|
|
8
|
+
* |---|---|---|
|
|
9
|
+
* | Klein–Gordon → free Schrödinger | `approximation` (ck/ω₀ → 0) | WS5 (convergence), WS5b |
|
|
10
|
+
* | Klein–Gordon → spring | `restriction` (uniform mode) | WS6 (convergence) |
|
|
11
|
+
* | stiff string → string | `approximation` (EIk²/F → 0) | WS7 (convergence), WS7b |
|
|
12
|
+
*
|
|
13
|
+
* Two of these END in other families (`model-schrodinger-free` in diffusion,
|
|
14
|
+
* `model-spring` in oscillators): the atlas is one graph, and
|
|
15
|
+
* `tests/atlas/families.test.ts` resolves endpoints across all of it.
|
|
16
|
+
*
|
|
17
|
+
* @module atlas/waves/bridges-closure
|
|
18
|
+
*/
|
|
19
|
+
import type { AtlasBridge } from '../types.js';
|
|
20
|
+
/** Domain edge of the non-relativistic limit: ck/ω₀ ≤ 0.1. @internal */
|
|
21
|
+
export declare const KG_NR_MAX_X = 0.1;
|
|
22
|
+
/** Domain edge of the flexible-string limit: β = EIk²/F ≤ 0.01. @internal */
|
|
23
|
+
export declare const STIFF_MAX_BETA = 0.01;
|
|
24
|
+
/**
|
|
25
|
+
* Bridge: Klein–Gordon → free Schrödinger, the non-relativistic limit.
|
|
26
|
+
*
|
|
27
|
+
* Factor out the rest-frequency phase e^{−iω₀t}; the remaining envelope obeys
|
|
28
|
+
* the free Schrödinger equation with ħ/m ↦ c²/ω₀ (that is, mc² = ħω₀).
|
|
29
|
+
*
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
export declare const BRIDGE_KG_SCHRODINGER: AtlasBridge;
|
|
33
|
+
/** Bridge: Klein–Gordon → spring, restricted to the spatially uniform mode. @internal */
|
|
34
|
+
export declare const BRIDGE_KG_OSCILLATOR: AtlasBridge;
|
|
35
|
+
/** Bridge: stiff string → flexible string, as bending stiffness → 0. @internal */
|
|
36
|
+
export declare const BRIDGE_STIFF_STRING: AtlasBridge;
|
|
37
|
+
/** The wave-family closure bridges. @internal */
|
|
38
|
+
export declare const WAVE_CLOSURE_BRIDGES: readonly AtlasBridge[];
|
|
39
|
+
//# sourceMappingURL=bridges-closure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridges-closure.d.ts","sourceRoot":"","sources":["../../../src/atlas/waves/bridges-closure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C,wEAAwE;AACxE,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B,6EAA6E;AAC7E,eAAO,MAAM,cAAc,OAAO,CAAC;AAWnC;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,WA+EnC,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,oBAAoB,EAAE,WA+BlC,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,EAAE,WAqEjC,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,EAAE,SAAS,WAAW,EAItD,CAAC"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlas Phase 4 — the three wave-family bridges added to close Sprint 4's
|
|
3
|
+
* "≥ 20 bridges" exit criterion.
|
|
4
|
+
*
|
|
5
|
+
* Design note: `docs/planning/Atlas-Phase-4-Design.md` §4 (Sprint 4 closure).
|
|
6
|
+
*
|
|
7
|
+
* | Bridge | Relation | Witnesses |
|
|
8
|
+
* |---|---|---|
|
|
9
|
+
* | Klein–Gordon → free Schrödinger | `approximation` (ck/ω₀ → 0) | WS5 (convergence), WS5b |
|
|
10
|
+
* | Klein–Gordon → spring | `restriction` (uniform mode) | WS6 (convergence) |
|
|
11
|
+
* | stiff string → string | `approximation` (EIk²/F → 0) | WS7 (convergence), WS7b |
|
|
12
|
+
*
|
|
13
|
+
* Two of these END in other families (`model-schrodinger-free` in diffusion,
|
|
14
|
+
* `model-spring` in oscillators): the atlas is one graph, and
|
|
15
|
+
* `tests/atlas/families.test.ts` resolves endpoints across all of it.
|
|
16
|
+
*
|
|
17
|
+
* @module atlas/waves/bridges-closure
|
|
18
|
+
*/
|
|
19
|
+
import { ACTION, FORCE, FREQUENCY, MASS, VELOCITY } from '../../dimensional/types.js';
|
|
20
|
+
import { makeApproximation } from '../oscillators/bridges-limits.js';
|
|
21
|
+
import { SPRING_CONSTANT } from '../oscillators/dimensions.js';
|
|
22
|
+
import { deriveRegimeGroups } from '../regime.js';
|
|
23
|
+
import { FLEXURAL_RIGIDITY, LINEAR_DENSITY, WAVENUMBER, WAVES_FAMILY_NAME } from './models.js';
|
|
24
|
+
import { kgNonrelativisticError, stiffStringPhaseError } from './numerics.js';
|
|
25
|
+
const TEST = 'tests/atlas/closure.test.ts';
|
|
26
|
+
/** Domain edge of the non-relativistic limit: ck/ω₀ ≤ 0.1. @internal */
|
|
27
|
+
export const KG_NR_MAX_X = 0.1;
|
|
28
|
+
/** Domain edge of the flexible-string limit: β = EIk²/F ≤ 0.01. @internal */
|
|
29
|
+
export const STIFF_MAX_BETA = 0.01;
|
|
30
|
+
const regime = (parameters, inequalities) => ({
|
|
31
|
+
family: WAVES_FAMILY_NAME,
|
|
32
|
+
inequalities,
|
|
33
|
+
groupDefinitions: deriveRegimeGroups(WAVES_FAMILY_NAME, parameters, []),
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Bridge: Klein–Gordon → free Schrödinger, the non-relativistic limit.
|
|
37
|
+
*
|
|
38
|
+
* Factor out the rest-frequency phase e^{−iω₀t}; the remaining envelope obeys
|
|
39
|
+
* the free Schrödinger equation with ħ/m ↦ c²/ω₀ (that is, mc² = ħω₀).
|
|
40
|
+
*
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export const BRIDGE_KG_SCHRODINGER = {
|
|
44
|
+
id: 'ab-kg-schrodinger',
|
|
45
|
+
relation: 'approximation',
|
|
46
|
+
premises: ['model-klein-gordon'],
|
|
47
|
+
conclusion: 'model-schrodinger-free',
|
|
48
|
+
transformation: 'u = Re(ψ e^{−iω₀t}) with ψ slowly varying; ħ/m ↦ c²/ω₀: ω − ω₀ = ω₀(√(1 + x²) − 1) → ω₀x²/2, x = ck/ω₀',
|
|
49
|
+
preserves: ['the kinetic frequency ħk²/(2m) to O(x²)', 'linearity'],
|
|
50
|
+
doesNotPreserve: [
|
|
51
|
+
'the rest-frequency phase e^{−iω₀t}',
|
|
52
|
+
'the negative-frequency branch',
|
|
53
|
+
'relativistic dispersion at x ≳ 1',
|
|
54
|
+
],
|
|
55
|
+
sideConditions: ['non-relativistic modes: x = ck/ω₀ ≤ 0.1', 'the bound is a FREQUENCY error, not uniform in time'],
|
|
56
|
+
bound: makeApproximation({
|
|
57
|
+
K: 1,
|
|
58
|
+
delta: kgNonrelativisticError(KG_NR_MAX_X),
|
|
59
|
+
deltaAt: (p) => {
|
|
60
|
+
const { c, k, omega0 } = p;
|
|
61
|
+
if (c === undefined || k === undefined || omega0 === undefined)
|
|
62
|
+
return Number.NaN;
|
|
63
|
+
return kgNonrelativisticError((c * k) / omega0);
|
|
64
|
+
},
|
|
65
|
+
deltaAtBasis: 'closed-form',
|
|
66
|
+
norm: 'relative error of the kinetic frequency ω − ω₀, normalized by the value of the reduced model',
|
|
67
|
+
domain: 'x = ck/ω₀ ≤ 0.1',
|
|
68
|
+
horizon: 't ≪ π/(δ ω₀ x²): the kinetic-phase drift reaches π/2; machine form t < π/(δ ω₀ x²)',
|
|
69
|
+
horizonHolds: (t, p) => {
|
|
70
|
+
const { c, k, omega0 } = p;
|
|
71
|
+
if (c === undefined || k === undefined || omega0 === undefined)
|
|
72
|
+
return false;
|
|
73
|
+
const x = (c * k) / omega0;
|
|
74
|
+
const delta = kgNonrelativisticError(x);
|
|
75
|
+
if (!Number.isFinite(delta))
|
|
76
|
+
return false;
|
|
77
|
+
if (delta === 0)
|
|
78
|
+
return true;
|
|
79
|
+
return t < Math.PI / (delta * omega0 * x * x);
|
|
80
|
+
},
|
|
81
|
+
parameterRange: 'x = ck/ω₀ ≤ 0.1',
|
|
82
|
+
limitCharacter: 'regular',
|
|
83
|
+
// A frequency error. The record says it is not uniform in time.
|
|
84
|
+
uniformity: ['kinetic frequency of one mode, for x = ck/ω₀ ≤ 0.1'],
|
|
85
|
+
}),
|
|
86
|
+
regime: regime([
|
|
87
|
+
{ name: 'c', dim: VELOCITY },
|
|
88
|
+
{ name: 'omega0', dim: FREQUENCY },
|
|
89
|
+
{ name: 'k', dim: WAVENUMBER },
|
|
90
|
+
{ name: 'hbar', dim: ACTION },
|
|
91
|
+
{ name: 'm', dim: MASS },
|
|
92
|
+
], [{ group: 'c · omega0^-1 · k', op: '<=', bound: KG_NR_MAX_X, alias: 'ck/ω₀ ≤ 0.1' }]),
|
|
93
|
+
counterexamples: [
|
|
94
|
+
{
|
|
95
|
+
description: 'At x = ck/ω₀ = 1 the non-relativistic kinetic frequency ω₀/2 is 20.7% above the exact ' +
|
|
96
|
+
'ω₀(√2 − 1), which is 17.2% of its own value (the normalization of delta): the limit is a ' +
|
|
97
|
+
'long-wavelength statement.',
|
|
98
|
+
witness: 'WS5b',
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
evidence: new Set(['proposed', 'numerically-supported']),
|
|
102
|
+
witnesses: [
|
|
103
|
+
{
|
|
104
|
+
id: 'WS5',
|
|
105
|
+
kind: 'numeric',
|
|
106
|
+
test: TEST,
|
|
107
|
+
tolerance: 'kinetic-frequency error below 1e-3 at x = 0.05; falls ≈4× per halving of x',
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
id: 'WS5b',
|
|
111
|
+
kind: 'numeric',
|
|
112
|
+
test: TEST,
|
|
113
|
+
tolerance: 'relative error 3 − 2√2 = 0.1716 at x = 1, normalized by the reduced value',
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
citations: [
|
|
117
|
+
'Greiner, Relativistic Quantum Mechanics: Wave Equations - Ch. 1, the Klein-Gordon equation and its non-relativistic limit',
|
|
118
|
+
],
|
|
119
|
+
reviewStatus: 'proposed',
|
|
120
|
+
};
|
|
121
|
+
/** Bridge: Klein–Gordon → spring, restricted to the spatially uniform mode. @internal */
|
|
122
|
+
export const BRIDGE_KG_OSCILLATOR = {
|
|
123
|
+
id: 'ab-kg-oscillator',
|
|
124
|
+
relation: 'restriction',
|
|
125
|
+
premises: ['model-klein-gordon'],
|
|
126
|
+
conclusion: 'model-spring',
|
|
127
|
+
transformation: 'u(x, t) = u(t): u_tt = −ω₀² u; u ↦ x, ω₀² ↦ k/m',
|
|
128
|
+
preserves: ['the k = 0 mode exactly', 'the frequency ω₀'],
|
|
129
|
+
doesNotPreserve: ['every mode with k ≠ 0', 'spatial structure'],
|
|
130
|
+
sideConditions: ['spatially uniform initial data', 'periodic or infinite domain (no boundary forcing)'],
|
|
131
|
+
regime: regime([
|
|
132
|
+
{ name: 'omega0', dim: FREQUENCY },
|
|
133
|
+
{ name: 'm', dim: MASS },
|
|
134
|
+
{ name: 'k', dim: SPRING_CONSTANT },
|
|
135
|
+
], []),
|
|
136
|
+
counterexamples: [],
|
|
137
|
+
evidence: new Set(['proposed', 'numerically-supported']),
|
|
138
|
+
witnesses: [
|
|
139
|
+
{
|
|
140
|
+
id: 'WS6',
|
|
141
|
+
kind: 'numeric',
|
|
142
|
+
test: TEST,
|
|
143
|
+
tolerance: 'uniform leapfrog field within 3e-4 of cos(ω₀t) at 100 steps (ω₀ = 2, t = 3); ≈4× per halving',
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
citations: [
|
|
147
|
+
'Whitham, Linear and Nonlinear Waves - §11.1, dispersive waves and the Klein-Gordon equation',
|
|
148
|
+
],
|
|
149
|
+
reviewStatus: 'proposed',
|
|
150
|
+
};
|
|
151
|
+
/** Bridge: stiff string → flexible string, as bending stiffness → 0. @internal */
|
|
152
|
+
export const BRIDGE_STIFF_STRING = {
|
|
153
|
+
id: 'ab-stiff-string',
|
|
154
|
+
relation: 'approximation',
|
|
155
|
+
premises: ['model-stiff-string'],
|
|
156
|
+
conclusion: 'model-string',
|
|
157
|
+
transformation: 'drop EI y_xxxx: ω² = (F/μ)k² + (EI/μ)k⁴ → (F/μ)k²',
|
|
158
|
+
preserves: ['the wave speed √(F/μ) for long wavelengths', 'harmonic partials to O(β)'],
|
|
159
|
+
doesNotPreserve: ['inharmonicity: high partials of a stiff string are sharp', 'the fourth-order boundary conditions'],
|
|
160
|
+
sideConditions: ['β = EIk²/F ≤ 0.01', 'the bound is a PHASE-VELOCITY error, not uniform in time'],
|
|
161
|
+
bound: makeApproximation({
|
|
162
|
+
K: 1,
|
|
163
|
+
delta: stiffStringPhaseError(1, STIFF_MAX_BETA, 1),
|
|
164
|
+
deltaAt: (p) => stiffStringPhaseError(p['F'] ?? Number.NaN, p['EI'] ?? Number.NaN, p['k'] ?? Number.NaN),
|
|
165
|
+
deltaAtBasis: 'closed-form',
|
|
166
|
+
norm: 'relative phase-velocity error of a Fourier mode, normalized by the value of the reduced model',
|
|
167
|
+
domain: 'β = EIk²/F ≤ 0.01',
|
|
168
|
+
horizon: 't ≪ π/(2 c k δ): the phase drift reaches π/2; machine form t < π/(2 √(F/μ) k δ)',
|
|
169
|
+
horizonHolds: (t, p) => {
|
|
170
|
+
const { F, EI, k, mu } = p;
|
|
171
|
+
if (F === undefined || EI === undefined || k === undefined || mu === undefined)
|
|
172
|
+
return false;
|
|
173
|
+
const delta = stiffStringPhaseError(F, EI, k);
|
|
174
|
+
if (!Number.isFinite(delta))
|
|
175
|
+
return false;
|
|
176
|
+
if (delta === 0)
|
|
177
|
+
return true;
|
|
178
|
+
return t < Math.PI / (2 * Math.sqrt(F / mu) * k * delta);
|
|
179
|
+
},
|
|
180
|
+
parameterRange: 'β = EIk²/F ≤ 0.01',
|
|
181
|
+
limitCharacter: 'regular',
|
|
182
|
+
// A phase-velocity error. The record says it is not uniform in time.
|
|
183
|
+
uniformity: ['phase velocity of one Fourier mode, for β = EIk²/F ≤ 0.01'],
|
|
184
|
+
}),
|
|
185
|
+
regime: regime([
|
|
186
|
+
{ name: 'F', dim: FORCE },
|
|
187
|
+
{ name: 'mu', dim: LINEAR_DENSITY },
|
|
188
|
+
{ name: 'EI', dim: FLEXURAL_RIGIDITY },
|
|
189
|
+
{ name: 'k', dim: WAVENUMBER },
|
|
190
|
+
],
|
|
191
|
+
// The derived group is F/(EIk²) = 1/β, so β ≤ 0.01 is F/(EIk²) ≥ 100.
|
|
192
|
+
[{ group: 'F · EI^-1 · k^-2', op: '>=', bound: 1 / STIFF_MAX_BETA, alias: 'β = EIk²/F ≤ 0.01' }]),
|
|
193
|
+
counterexamples: [
|
|
194
|
+
{
|
|
195
|
+
description: 'The partials of a stiff string are sharp: at β = 1 the phase velocity is √2 times the ' +
|
|
196
|
+
'flexible-string value, the inharmonicity piano tuners stretch octaves to accommodate.',
|
|
197
|
+
witness: 'WS7b',
|
|
198
|
+
},
|
|
199
|
+
],
|
|
200
|
+
evidence: new Set(['proposed', 'numerically-supported']),
|
|
201
|
+
witnesses: [
|
|
202
|
+
{
|
|
203
|
+
id: 'WS7',
|
|
204
|
+
kind: 'numeric',
|
|
205
|
+
test: TEST,
|
|
206
|
+
tolerance: 'phase velocity within 0.15 of √(F/μ) = 100 at k = 5 (EI/F = 1e-4); ≈4× per halving of k',
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
id: 'WS7b',
|
|
210
|
+
kind: 'numeric',
|
|
211
|
+
test: TEST,
|
|
212
|
+
tolerance: 'relative phase error √2 − 1 at β = 1',
|
|
213
|
+
},
|
|
214
|
+
],
|
|
215
|
+
citations: [
|
|
216
|
+
'Fletcher, J. Acoust. Soc. Am. 36 (1964) 203 - Normal vibration frequencies of a stiff piano string',
|
|
217
|
+
],
|
|
218
|
+
reviewStatus: 'proposed',
|
|
219
|
+
};
|
|
220
|
+
/** The wave-family closure bridges. @internal */
|
|
221
|
+
export const WAVE_CLOSURE_BRIDGES = [
|
|
222
|
+
BRIDGE_KG_SCHRODINGER,
|
|
223
|
+
BRIDGE_KG_OSCILLATOR,
|
|
224
|
+
BRIDGE_STIFF_STRING,
|
|
225
|
+
];
|
|
226
|
+
//# sourceMappingURL=bridges-closure.js.map
|