universal-physics-tensor 0.47.1 → 1.0.2
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/LICENSE +21 -21
- package/README.md +405 -383
- package/bin/upt.mjs +7 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +108 -0
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -0
- package/dist/atlas/benchmark/hybrid-retrieval.js +241 -0
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -0
- package/dist/atlas/catalog-formal-ref.d.ts +24 -0
- package/dist/atlas/catalog-formal-ref.d.ts.map +1 -0
- package/dist/atlas/catalog-formal-ref.js +36 -0
- package/dist/atlas/catalog-formal-ref.js.map +1 -0
- package/dist/atlas/chain-pipeline.d.ts +52 -0
- package/dist/atlas/chain-pipeline.d.ts.map +1 -0
- package/dist/atlas/chain-pipeline.js +176 -0
- package/dist/atlas/chain-pipeline.js.map +1 -0
- package/dist/atlas/composition-table.d.ts +11 -46
- package/dist/atlas/composition-table.d.ts.map +1 -1
- package/dist/atlas/composition-table.js +7 -124
- package/dist/atlas/composition-table.js.map +1 -1
- package/dist/atlas/conventions.d.ts +4 -58
- package/dist/atlas/conventions.d.ts.map +1 -1
- package/dist/atlas/conventions.js +3 -88
- package/dist/atlas/conventions.js.map +1 -1
- package/dist/atlas/derive-evidence.d.ts +50 -3
- package/dist/atlas/derive-evidence.d.ts.map +1 -1
- package/dist/atlas/derive-evidence.js +73 -4
- 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 +5 -1
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
- package/dist/atlas/index.d.ts +9 -7
- package/dist/atlas/index.d.ts.map +1 -1
- package/dist/atlas/index.js +6 -5
- package/dist/atlas/index.js.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.js +6 -0
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts +2 -0
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +11 -19
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.d.ts +93 -0
- package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -0
- package/dist/atlas/oscillators/limit-witnesses.js +152 -0
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -0
- package/dist/atlas/oscillators/models.d.ts +2 -1
- package/dist/atlas/oscillators/models.d.ts.map +1 -1
- package/dist/atlas/oscillators/models.js +4 -3
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport-witness.d.ts +37 -0
- package/dist/atlas/oscillators/norm-transport-witness.d.ts.map +1 -0
- package/dist/atlas/oscillators/norm-transport-witness.js +58 -0
- package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -0
- package/dist/atlas/oscillators/norm-transport.d.ts +44 -0
- package/dist/atlas/oscillators/norm-transport.d.ts.map +1 -0
- package/dist/atlas/oscillators/norm-transport.js +66 -0
- package/dist/atlas/oscillators/norm-transport.js.map +1 -0
- package/dist/atlas/oscillators/norms.d.ts +11 -0
- package/dist/atlas/oscillators/norms.d.ts.map +1 -0
- package/dist/atlas/oscillators/norms.js +11 -0
- package/dist/atlas/oscillators/norms.js.map +1 -0
- package/dist/atlas/oscillators/pendulum-motion.d.ts +38 -0
- package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -0
- package/dist/atlas/oscillators/pendulum-motion.js +122 -0
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -0
- package/dist/atlas/oscillators/phase-carriage.d.ts +38 -0
- package/dist/atlas/oscillators/phase-carriage.d.ts.map +1 -0
- package/dist/atlas/oscillators/phase-carriage.js +96 -0
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -0
- package/dist/atlas/oscillators/phase-translation.d.ts +46 -0
- package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -0
- package/dist/atlas/oscillators/phase-translation.js +178 -0
- package/dist/atlas/oscillators/phase-translation.js.map +1 -0
- package/dist/atlas/oscillators/position-translation.d.ts +59 -0
- package/dist/atlas/oscillators/position-translation.d.ts.map +1 -0
- package/dist/atlas/oscillators/position-translation.js +254 -0
- package/dist/atlas/oscillators/position-translation.js.map +1 -0
- package/dist/atlas/path-bound.d.ts +126 -9
- package/dist/atlas/path-bound.d.ts.map +1 -1
- package/dist/atlas/path-bound.js +372 -23
- package/dist/atlas/path-bound.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +141 -0
- package/dist/atlas/physjs-ref.d.ts.map +1 -0
- package/dist/atlas/physjs-ref.js +878 -0
- package/dist/atlas/physjs-ref.js.map +1 -0
- package/dist/atlas/proof-target.d.ts +32 -0
- package/dist/atlas/proof-target.d.ts.map +1 -0
- package/dist/atlas/proof-target.js +140 -0
- package/dist/atlas/proof-target.js.map +1 -0
- package/dist/atlas/regime.d.ts +12 -136
- package/dist/atlas/regime.d.ts.map +1 -1
- package/dist/atlas/regime.js +8 -254
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/serialize.d.ts.map +1 -1
- package/dist/atlas/serialize.js +25 -0
- package/dist/atlas/serialize.js.map +1 -1
- package/dist/atlas/translation-registry.d.ts +22 -0
- package/dist/atlas/translation-registry.d.ts.map +1 -0
- package/dist/atlas/translation-registry.js +31 -0
- package/dist/atlas/translation-registry.js.map +1 -0
- package/dist/atlas/translation.d.ts +116 -0
- package/dist/atlas/translation.d.ts.map +1 -0
- package/dist/atlas/translation.js +34 -0
- package/dist/atlas/translation.js.map +1 -0
- package/dist/atlas/types.d.ts +74 -240
- package/dist/atlas/types.d.ts.map +1 -1
- package/dist/atlas/types.js +5 -37
- 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 +4 -0
- 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 +3 -0
- package/dist/atlas/waves/bridges.js.map +1 -1
- package/dist/atlas/waves/models.js +1 -1
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/witness-dominance.d.ts +50 -0
- package/dist/atlas/witness-dominance.d.ts.map +1 -0
- package/dist/atlas/witness-dominance.js +86 -0
- package/dist/atlas/witness-dominance.js.map +1 -0
- package/dist/atlas/witness-specs.d.ts +30 -0
- package/dist/atlas/witness-specs.d.ts.map +1 -1
- package/dist/atlas/witness-specs.js +107 -0
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/bridges/be53-yang-mills-confrontation.d.ts +81 -0
- package/dist/bridges/be53-yang-mills-confrontation.d.ts.map +1 -0
- package/dist/bridges/be53-yang-mills-confrontation.js +110 -0
- package/dist/bridges/be53-yang-mills-confrontation.js.map +1 -0
- package/dist/bridges/be63-chandrasekhar-mass.d.ts.map +1 -1
- package/dist/bridges/be63-chandrasekhar-mass.js +1 -3
- package/dist/bridges/be63-chandrasekhar-mass.js.map +1 -1
- package/dist/bridges/confrontation-coverage.d.ts +5 -61
- package/dist/bridges/confrontation-coverage.d.ts.map +1 -1
- package/dist/bridges/confrontation-coverage.js +5 -70
- 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 +291 -3
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/equations/be-13-einstein-trace.d.ts +2 -3
- package/dist/bridges/equations/be-13-einstein-trace.d.ts.map +1 -1
- package/dist/bridges/equations/be-13-einstein-trace.js +2 -3
- package/dist/bridges/equations/be-13-einstein-trace.js.map +1 -1
- package/dist/bridges/equations/be-38-mond.d.ts +7 -5
- package/dist/bridges/equations/be-38-mond.d.ts.map +1 -1
- package/dist/bridges/equations/be-38-mond.js +7 -5
- package/dist/bridges/equations/be-38-mond.js.map +1 -1
- package/dist/bridges/equations/be-42-hawking-temperature.d.ts +3 -0
- package/dist/bridges/equations/be-42-hawking-temperature.d.ts.map +1 -1
- package/dist/bridges/equations/be-42-hawking-temperature.js +8 -1
- package/dist/bridges/equations/be-42-hawking-temperature.js.map +1 -1
- package/dist/bridges/equations/be-53-yang-mills-beta.d.ts +21 -0
- package/dist/bridges/equations/be-53-yang-mills-beta.d.ts.map +1 -1
- package/dist/bridges/equations/be-53-yang-mills-beta.js +12 -0
- package/dist/bridges/equations/be-53-yang-mills-beta.js.map +1 -1
- package/dist/bridges/evaluator-inputs.d.ts +21 -0
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -0
- package/dist/bridges/evaluator-inputs.js +75 -0
- package/dist/bridges/evaluator-inputs.js.map +1 -0
- package/dist/bridges/evaluators.d.ts +46 -0
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +57 -16
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/gravitational-lensing.d.ts +1 -1
- package/dist/bridges/gravitational-lensing.js +1 -1
- package/dist/bridges/index.d.ts +3 -2
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +15 -14
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/observations/types.d.ts +110 -2
- package/dist/bridges/observations/types.d.ts.map +1 -1
- package/dist/bridges/observations/types.js +29 -0
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/perihelion-precession.d.ts +1 -1
- package/dist/bridges/perihelion-precession.js +1 -1
- package/dist/bridges/tensor-index.d.ts +39 -0
- package/dist/bridges/tensor-index.d.ts.map +1 -0
- package/dist/bridges/tensor-index.js +66 -0
- package/dist/bridges/tensor-index.js.map +1 -0
- package/dist/canonical/canonical-equation.d.ts +1 -1
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +32 -10
- package/dist/canonical/entries/atomic.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/mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/mechanics.js +10 -6
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +41 -8
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +5 -5
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +31 -28
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts +17 -0
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +21 -4
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/structural.d.ts +84 -0
- package/dist/canonical/structural.d.ts.map +1 -0
- package/dist/canonical/structural.js +107 -0
- package/dist/canonical/structural.js.map +1 -0
- package/dist/cases/brownian-sphere.d.ts +68 -0
- package/dist/cases/brownian-sphere.d.ts.map +1 -0
- package/dist/cases/brownian-sphere.js +353 -0
- package/dist/cases/brownian-sphere.js.map +1 -0
- package/dist/cases/damped-resonator.d.ts +23 -0
- package/dist/cases/damped-resonator.d.ts.map +1 -0
- package/dist/cases/damped-resonator.js +224 -0
- package/dist/cases/damped-resonator.js.map +1 -0
- package/dist/cases/index.d.ts +11 -0
- package/dist/cases/index.d.ts.map +1 -0
- package/dist/cases/index.js +29 -0
- package/dist/cases/index.js.map +1 -0
- package/dist/cases/kepler-rv.d.ts +13 -0
- package/dist/cases/kepler-rv.d.ts.map +1 -0
- package/dist/cases/kepler-rv.js +168 -0
- package/dist/cases/kepler-rv.js.map +1 -0
- package/dist/cases/lumped-cooling.d.ts +46 -0
- package/dist/cases/lumped-cooling.d.ts.map +1 -0
- package/dist/cases/lumped-cooling.js +261 -0
- package/dist/cases/lumped-cooling.js.map +1 -0
- package/dist/cases/quadrature.d.ts +14 -0
- package/dist/cases/quadrature.d.ts.map +1 -0
- package/dist/cases/quadrature.js +41 -0
- package/dist/cases/quadrature.js.map +1 -0
- package/dist/cases/resistor-noise.d.ts +14 -0
- package/dist/cases/resistor-noise.d.ts.map +1 -0
- package/dist/cases/resistor-noise.js +210 -0
- package/dist/cases/resistor-noise.js.map +1 -0
- package/dist/cases/skin-depth.d.ts +21 -0
- package/dist/cases/skin-depth.d.ts.map +1 -0
- package/dist/cases/skin-depth.js +174 -0
- package/dist/cases/skin-depth.js.map +1 -0
- package/dist/cases/types.d.ts +115 -0
- package/dist/cases/types.d.ts.map +1 -0
- package/dist/cases/types.js +20 -0
- package/dist/cases/types.js.map +1 -0
- package/dist/cli/commands/_atlas-map.d.ts +409 -0
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -0
- package/dist/cli/commands/_atlas-map.js +1014 -0
- package/dist/cli/commands/_atlas-map.js.map +1 -0
- package/dist/cli/commands/_atlas-route.d.ts +111 -0
- package/dist/cli/commands/_atlas-route.d.ts.map +1 -0
- package/dist/cli/commands/_atlas-route.js +140 -0
- package/dist/cli/commands/_atlas-route.js.map +1 -0
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +10 -1
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts +20 -0
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +333 -19
- 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 +12 -3
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.js +4 -4
- package/dist/cli/commands/candidates.d.ts.map +1 -1
- package/dist/cli/commands/candidates.js +3 -2
- package/dist/cli/commands/candidates.js.map +1 -1
- package/dist/cli/commands/canonical.d.ts.map +1 -1
- package/dist/cli/commands/canonical.js +39 -10
- package/dist/cli/commands/canonical.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +210 -28
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.d.ts.map +1 -1
- package/dist/cli/commands/connectors.js +5 -4
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/coverage.js +3 -3
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +22 -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 +149 -32
- 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 +87 -17
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts +30 -0
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +441 -25
- 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 +38 -11
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/frontier.d.ts +3 -0
- package/dist/cli/commands/frontier.d.ts.map +1 -0
- package/dist/cli/commands/frontier.js +28 -0
- package/dist/cli/commands/frontier.js.map +1 -0
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +37 -12
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/index.d.ts +5 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +5 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts +8 -0
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +385 -57
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts +3 -0
- package/dist/cli/commands/metric.d.ts.map +1 -0
- package/dist/cli/commands/metric.js +136 -0
- package/dist/cli/commands/metric.js.map +1 -0
- package/dist/cli/commands/path.d.ts +109 -1
- package/dist/cli/commands/path.d.ts.map +1 -1
- package/dist/cli/commands/path.js +1019 -109
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/predict.d.ts.map +1 -1
- package/dist/cli/commands/predict.js +3 -2
- package/dist/cli/commands/predict.js.map +1 -1
- package/dist/cli/commands/priority.d.ts.map +1 -1
- package/dist/cli/commands/priority.js +3 -2
- package/dist/cli/commands/priority.js.map +1 -1
- package/dist/cli/commands/probe.d.ts +7 -0
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +234 -52
- 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 +17 -6
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +1 -1
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +134 -33
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts +3 -0
- package/dist/cli/commands/retrieve.d.ts.map +1 -0
- package/dist/cli/commands/retrieve.js +65 -0
- package/dist/cli/commands/retrieve.js.map +1 -0
- package/dist/cli/commands/search.d.ts +3 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/search.js +70 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/commands/symbolic.d.ts.map +1 -1
- package/dist/cli/commands/symbolic.js +107 -16
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.d.ts +3 -0
- package/dist/cli/commands/testplan.d.ts.map +1 -0
- package/dist/cli/commands/testplan.js +131 -0
- package/dist/cli/commands/testplan.js.map +1 -0
- package/dist/cli/conventions.d.ts +22 -0
- package/dist/cli/conventions.d.ts.map +1 -0
- package/dist/cli/conventions.js +48 -0
- package/dist/cli/conventions.js.map +1 -0
- package/dist/cli/euler-guard.d.ts +9 -0
- package/dist/cli/euler-guard.d.ts.map +1 -0
- package/dist/cli/euler-guard.js +11 -0
- package/dist/cli/euler-guard.js.map +1 -0
- package/dist/cli/eval-numbers.d.ts +26 -0
- package/dist/cli/eval-numbers.d.ts.map +1 -0
- package/dist/cli/eval-numbers.js +48 -0
- package/dist/cli/eval-numbers.js.map +1 -0
- package/dist/cli/expr-print.d.ts +25 -0
- package/dist/cli/expr-print.d.ts.map +1 -0
- package/dist/cli/expr-print.js +123 -0
- package/dist/cli/expr-print.js.map +1 -0
- package/dist/cli/graphs.d.ts +26 -0
- package/dist/cli/graphs.d.ts.map +1 -1
- package/dist/cli/graphs.js +19 -0
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/main.d.ts +4 -10
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +370 -167
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.d.ts +47 -0
- package/dist/cli/map-evidence.d.ts.map +1 -0
- package/dist/cli/map-evidence.js +53 -0
- package/dist/cli/map-evidence.js.map +1 -0
- package/dist/cli/output.d.ts +21 -1
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +5 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/{composition → cli}/poster-source.d.ts +3 -2
- package/dist/cli/poster-source.d.ts.map +1 -0
- package/dist/{composition → cli}/poster-source.js +2 -1
- package/dist/cli/poster-source.js.map +1 -0
- package/dist/cli/record-reach.d.ts +44 -0
- package/dist/cli/record-reach.d.ts.map +1 -0
- package/dist/cli/record-reach.js +228 -0
- package/dist/cli/record-reach.js.map +1 -0
- package/dist/cli/record-tables.d.ts +38 -0
- package/dist/cli/record-tables.d.ts.map +1 -0
- package/dist/cli/record-tables.js +110 -0
- package/dist/cli/record-tables.js.map +1 -0
- package/dist/cli/record.d.ts +141 -0
- package/dist/cli/record.d.ts.map +1 -0
- package/dist/cli/record.js +612 -0
- package/dist/cli/record.js.map +1 -0
- package/dist/cli/search-index.d.ts +56 -0
- package/dist/cli/search-index.d.ts.map +1 -0
- package/dist/cli/search-index.js +190 -0
- package/dist/cli/search-index.js.map +1 -0
- package/dist/cli/statuses.d.ts +25 -0
- package/dist/cli/statuses.d.ts.map +1 -0
- package/dist/cli/statuses.js +276 -0
- package/dist/cli/statuses.js.map +1 -0
- package/dist/cli/version.d.ts +8 -0
- package/dist/cli/version.d.ts.map +1 -1
- package/dist/cli/version.js +32 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +34 -16
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +32 -12
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/audit-coverage.d.ts +70 -0
- package/dist/composition/audit-coverage.d.ts.map +1 -0
- package/dist/composition/audit-coverage.js +80 -0
- package/dist/composition/audit-coverage.js.map +1 -0
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +2 -1
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/buckingham-filter.d.ts +34 -0
- package/dist/composition/buckingham-filter.d.ts.map +1 -0
- package/dist/composition/buckingham-filter.js +64 -0
- package/dist/composition/buckingham-filter.js.map +1 -0
- package/dist/composition/canonical-compare.d.ts +29 -16
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +355 -59
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +2 -2
- package/dist/composition/canonical-graph.js +3 -3
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-prefactors.d.ts +24 -1
- package/dist/composition/canonical-prefactors.d.ts.map +1 -1
- package/dist/composition/canonical-prefactors.js +97 -1
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts +4 -4
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +6 -4
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +43 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -0
- package/dist/composition/chain-candidate.js +56 -0
- package/dist/composition/chain-candidate.js.map +1 -0
- package/dist/composition/chain-match.d.ts +19 -0
- package/dist/composition/chain-match.d.ts.map +1 -0
- package/dist/composition/chain-match.js +10 -0
- package/dist/composition/chain-match.js.map +1 -0
- package/dist/composition/chain-regime.d.ts +34 -0
- package/dist/composition/chain-regime.d.ts.map +1 -0
- package/dist/composition/chain-regime.js +89 -0
- package/dist/composition/chain-regime.js.map +1 -0
- package/dist/composition/compose-symbolic.js +1 -1
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts +11 -0
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +30 -10
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.d.ts +47 -0
- package/dist/composition/composition-recovery.d.ts.map +1 -0
- package/dist/composition/composition-recovery.js +77 -0
- package/dist/composition/composition-recovery.js.map +1 -0
- package/dist/composition/consequence.d.ts +39 -0
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +37 -0
- package/dist/composition/consequence.js.map +1 -1
- package/dist/{bridges → composition}/descriptor.d.ts +6 -3
- package/dist/composition/descriptor.d.ts.map +1 -0
- package/dist/{bridges → composition}/descriptor.js +7 -4
- package/dist/composition/descriptor.js.map +1 -0
- package/dist/composition/discovery.d.ts +20 -0
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +27 -5
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +1 -1
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/edges/_catalog-helpers.d.ts +4 -0
- package/dist/composition/edges/_catalog-helpers.d.ts.map +1 -1
- package/dist/composition/edges/_catalog-helpers.js +15 -0
- package/dist/composition/edges/_catalog-helpers.js.map +1 -1
- package/dist/composition/edges/calibration.d.ts +0 -9
- package/dist/composition/edges/calibration.d.ts.map +1 -1
- package/dist/composition/edges/calibration.js +85 -0
- package/dist/composition/edges/calibration.js.map +1 -1
- package/dist/composition/edges/catalog-condensed-matter.d.ts +0 -9
- package/dist/composition/edges/catalog-condensed-matter.d.ts.map +1 -1
- package/dist/composition/edges/catalog-condensed-matter.js +32 -1
- package/dist/composition/edges/catalog-condensed-matter.js.map +1 -1
- package/dist/composition/edges/catalog-fields.d.ts.map +1 -1
- package/dist/composition/edges/catalog-fields.js +2 -1
- package/dist/composition/edges/catalog-fields.js.map +1 -1
- package/dist/composition/edges/catalog-full.d.ts +4 -2
- package/dist/composition/edges/catalog-full.d.ts.map +1 -1
- package/dist/composition/edges/catalog-full.js +4 -2
- package/dist/composition/edges/catalog-full.js.map +1 -1
- package/dist/composition/edges/catalog-gravitation-cosmology.d.ts +0 -10
- package/dist/composition/edges/catalog-gravitation-cosmology.d.ts.map +1 -1
- package/dist/composition/edges/catalog-gravitation-cosmology.js +31 -1
- package/dist/composition/edges/catalog-gravitation-cosmology.js.map +1 -1
- package/dist/composition/edges/catalog-quantum.d.ts +0 -10
- package/dist/composition/edges/catalog-quantum.d.ts.map +1 -1
- package/dist/composition/edges/catalog-quantum.js +53 -17
- package/dist/composition/edges/catalog-quantum.js.map +1 -1
- package/dist/composition/edges/catalog-tranche.d.ts +0 -15
- package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
- package/dist/composition/edges/catalog-tranche.js +70 -16
- package/dist/composition/edges/catalog-tranche.js.map +1 -1
- package/dist/composition/edges/proved-seeds.d.ts +39 -0
- package/dist/composition/edges/proved-seeds.d.ts.map +1 -0
- package/dist/composition/edges/proved-seeds.js +197 -0
- package/dist/composition/edges/proved-seeds.js.map +1 -0
- package/dist/composition/enumerate.d.ts +20 -0
- package/dist/composition/enumerate.d.ts.map +1 -1
- package/dist/composition/enumerate.js +23 -0
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/expr-eval.d.ts +5 -4
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +40 -6
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.js +1 -1
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.d.ts +2 -1
- package/dist/composition/expr-subst.d.ts.map +1 -1
- package/dist/composition/expr-subst.js +9 -2
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/frontier-account.d.ts +78 -0
- package/dist/composition/frontier-account.d.ts.map +1 -0
- package/dist/composition/frontier-account.js +127 -0
- package/dist/composition/frontier-account.js.map +1 -0
- package/dist/composition/graph-viz.d.ts +7 -22
- package/dist/composition/graph-viz.d.ts.map +1 -1
- package/dist/composition/graph-viz.js +4 -27
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.d.ts +49 -0
- package/dist/composition/grounding.d.ts.map +1 -1
- package/dist/composition/grounding.js +38 -0
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/index.d.ts +0 -2
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +1 -1
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/not-composable-seeds.d.ts +30 -0
- package/dist/composition/not-composable-seeds.d.ts.map +1 -0
- package/dist/composition/not-composable-seeds.js +90 -0
- package/dist/composition/not-composable-seeds.js.map +1 -0
- package/dist/composition/probe/expression-gaps.d.ts +27 -0
- package/dist/composition/probe/expression-gaps.d.ts.map +1 -0
- package/dist/composition/probe/expression-gaps.js +47 -0
- package/dist/composition/probe/expression-gaps.js.map +1 -0
- package/dist/composition/probe/frontier.d.ts +2 -1
- package/dist/composition/probe/frontier.d.ts.map +1 -1
- package/dist/composition/probe/frontier.js +3 -2
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/index.d.ts +4 -1
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +3 -1
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/pipeline.d.ts +2 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -1
- package/dist/composition/probe/pipeline.js +6 -2
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.d.ts +7 -0
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +15 -5
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/search-budget.d.ts.map +1 -1
- package/dist/composition/probe/search-budget.js +6 -2
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/probe/study.d.ts +340 -0
- package/dist/composition/probe/study.d.ts.map +1 -0
- package/dist/composition/probe/study.js +1519 -0
- package/dist/composition/probe/study.js.map +1 -0
- package/dist/composition/proposed-bridges.js +1 -1
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities/_dims.d.ts +6 -0
- package/dist/composition/quantities/_dims.d.ts.map +1 -1
- package/dist/composition/quantities/_dims.js +6 -0
- package/dist/composition/quantities/_dims.js.map +1 -1
- package/dist/composition/quantities/condensed-matter.d.ts +16 -0
- package/dist/composition/quantities/condensed-matter.d.ts.map +1 -1
- package/dist/composition/quantities/condensed-matter.js +43 -2
- package/dist/composition/quantities/condensed-matter.js.map +1 -1
- package/dist/composition/quantities/fields.d.ts +10 -0
- package/dist/composition/quantities/fields.d.ts.map +1 -1
- package/dist/composition/quantities/fields.js +37 -2
- package/dist/composition/quantities/fields.js.map +1 -1
- package/dist/composition/quantities/gravitation-cosmology.d.ts +4 -0
- package/dist/composition/quantities/gravitation-cosmology.d.ts.map +1 -1
- package/dist/composition/quantities/gravitation-cosmology.js +14 -0
- package/dist/composition/quantities/gravitation-cosmology.js.map +1 -1
- package/dist/composition/quantities/quantum.d.ts +2 -0
- package/dist/composition/quantities/quantum.d.ts.map +1 -1
- package/dist/composition/quantities/quantum.js +7 -0
- package/dist/composition/quantities/quantum.js.map +1 -1
- package/dist/composition/quantities.d.ts +4 -16
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +4 -16
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +6 -2
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.d.ts +1 -1
- package/dist/composition/uncertainty.d.ts.map +1 -1
- package/dist/composition/user-equation.d.ts +79 -8
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +224 -32
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/constants.d.ts +17 -5
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +17 -5
- package/dist/core/constants.js.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +2 -1
- package/dist/core/types.js.map +1 -1
- package/dist/dimensional/curvature.d.ts +7 -56
- package/dist/dimensional/curvature.d.ts.map +1 -1
- package/dist/dimensional/curvature.js +7 -76
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +7 -1
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +131 -3
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/formula-names.d.ts +30 -0
- package/dist/dimensional/formula-names.d.ts.map +1 -0
- package/dist/dimensional/formula-names.js +37 -0
- package/dist/dimensional/formula-names.js.map +1 -0
- package/dist/dimensional/natural-units.d.ts +33 -0
- package/dist/dimensional/natural-units.d.ts.map +1 -0
- package/dist/dimensional/natural-units.js +58 -0
- package/dist/dimensional/natural-units.js.map +1 -0
- package/dist/{composition → dimensional}/symbolic-constants.d.ts +21 -2
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -0
- package/dist/dimensional/symbolic-constants.js +122 -0
- package/dist/dimensional/symbolic-constants.js.map +1 -0
- package/dist/dimensional/unit-convention.d.ts +30 -0
- package/dist/dimensional/unit-convention.d.ts.map +1 -0
- package/dist/dimensional/unit-convention.js +60 -0
- package/dist/dimensional/unit-convention.js.map +1 -0
- package/dist/dimensional/units.d.ts +43 -0
- package/dist/dimensional/units.d.ts.map +1 -0
- package/dist/dimensional/units.js +197 -0
- package/dist/dimensional/units.js.map +1 -0
- package/dist/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.d.ts +55 -0
- package/dist/numerical/bianchi-residual.d.ts.map +1 -0
- package/dist/numerical/bianchi-residual.js +79 -0
- package/dist/numerical/bianchi-residual.js.map +1 -0
- package/dist/numerical/binding-value.d.ts +67 -0
- package/dist/numerical/binding-value.d.ts.map +1 -0
- package/dist/numerical/binding-value.js +349 -0
- package/dist/numerical/binding-value.js.map +1 -0
- package/dist/numerical/connection-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js +13 -26
- package/dist/numerical/connection-lowering-helpers.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +9 -0
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/float64-engine.d.ts.map +1 -1
- package/dist/numerical/float64-engine.js +23 -16
- package/dist/numerical/float64-engine.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +14 -0
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +56 -9
- 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 +75 -6
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/formula.d.ts +33 -0
- package/dist/numerical/formula.d.ts.map +1 -1
- package/dist/numerical/formula.js +75 -6
- package/dist/numerical/formula.js.map +1 -1
- package/dist/numerical/spacetime-metrics.d.ts +243 -0
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -0
- package/dist/numerical/spacetime-metrics.js +1056 -0
- package/dist/numerical/spacetime-metrics.js.map +1 -0
- package/dist/relations/category.d.ts +38 -0
- package/dist/relations/category.d.ts.map +1 -0
- package/dist/relations/category.js +23 -0
- package/dist/relations/category.js.map +1 -0
- package/dist/relations/composition-table.d.ts +61 -0
- package/dist/relations/composition-table.d.ts.map +1 -0
- package/dist/relations/composition-table.js +140 -0
- package/dist/relations/composition-table.js.map +1 -0
- package/dist/relations/conventions.d.ts +63 -0
- package/dist/relations/conventions.d.ts.map +1 -0
- package/dist/relations/conventions.js +93 -0
- package/dist/relations/conventions.js.map +1 -0
- package/dist/relations/regime.d.ts +159 -0
- package/dist/relations/regime.d.ts.map +1 -0
- package/dist/relations/regime.js +304 -0
- package/dist/relations/regime.js.map +1 -0
- package/dist/relations/types.d.ts +257 -0
- package/dist/relations/types.d.ts.map +1 -0
- package/dist/relations/types.js +35 -0
- package/dist/relations/types.js.map +1 -0
- package/package.json +166 -163
- package/dist/bridges/descriptor.d.ts.map +0 -1
- package/dist/bridges/descriptor.js.map +0 -1
- package/dist/composition/poster-source.d.ts.map +0 -1
- package/dist/composition/poster-source.js.map +0 -1
- package/dist/composition/symbolic-constants.d.ts.map +0 -1
- package/dist/composition/symbolic-constants.js +0 -65
- package/dist/composition/symbolic-constants.js.map +0 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The measurements behind the in-process witnesses of the three oscillator
|
|
3
|
+
* bridges that had none: W7 (`ab-pendulum-linear`), W8b (`ab-damped-massless`)
|
|
4
|
+
* and W9 (`ab-chain-wave`).
|
|
5
|
+
*
|
|
6
|
+
* Each one INTEGRATES the premise model's own equation by RK4 and reads the
|
|
7
|
+
* claimed quantity off the motion. None evaluates the closed form its record
|
|
8
|
+
* states, so a test comparing the measurement with that closed form compares
|
|
9
|
+
* two methods, not one method with itself.
|
|
10
|
+
*
|
|
11
|
+
* @module atlas/oscillators/limit-witnesses
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* W7: the pendulum θ'' = −ω0² sin θ at ω0 = 1, released from rest; the
|
|
16
|
+
* amplitude is `theta0 / resolution`, so refinement moves into the θ0 → 0 limit.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare const W7_FIXTURE: {
|
|
21
|
+
readonly theta0: 0.4;
|
|
22
|
+
readonly stepsPerPeriod: 16384;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* T/T0 of the pendulum released from rest at `theta0`, measured by RK4 with
|
|
26
|
+
* `stepsPerPeriod` steps per linear period T0 = 2π (ω0 = 1).
|
|
27
|
+
*
|
|
28
|
+
* @returns NaN unless 0 < theta0 < π.
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export declare function measurePendulumPeriodRatio(theta0: number, stepsPerPeriod?: number): number;
|
|
32
|
+
/**
|
|
33
|
+
* W8b: the damped spring m x'' + b x' + k x = 0 at the record's witness
|
|
34
|
+
* normalisation b = k = x0 = 1, with v0 = 5 (the edge of |v0| ≤ 5). The mass is
|
|
35
|
+
* `m / resolution`. The RK4 step is m/20, so the fast rate b/m is resolved at
|
|
36
|
+
* every mass, and 5m/b is a whole number of steps.
|
|
37
|
+
*
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export declare const W8B_FIXTURE: {
|
|
41
|
+
readonly m: 0.02;
|
|
42
|
+
readonly b: 1;
|
|
43
|
+
readonly k: 1;
|
|
44
|
+
readonly x0: 1;
|
|
45
|
+
readonly v0: 5;
|
|
46
|
+
readonly tEnd: 10;
|
|
47
|
+
readonly stepsPerMass: 20;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* sup |x(t) − x0 e^(−kt/b)| over the RK4 grid on t ∈ [5m/b, tEnd], x from the
|
|
51
|
+
* full second-order model: the norm of `ab-damped-massless`'s bound. The
|
|
52
|
+
* window stops at `tEnd`; both motions there are below x0·e^(−k·tEnd/b).
|
|
53
|
+
*
|
|
54
|
+
* @returns NaN unless m, b and k are positive and finite.
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
export declare function measureMasslessOffset(m: number, fixture?: {
|
|
58
|
+
readonly b: number;
|
|
59
|
+
readonly k: number;
|
|
60
|
+
readonly x0: number;
|
|
61
|
+
readonly v0: number;
|
|
62
|
+
readonly tEnd: number;
|
|
63
|
+
readonly stepsPerMass: number;
|
|
64
|
+
}): number;
|
|
65
|
+
/**
|
|
66
|
+
* W9: a ring of `masses · resolution` masses, m u_n'' = κ(u_{n+1} − 2u_n + u_{n−1}),
|
|
67
|
+
* started at rest in its longest mode u_n = cos(2π n/N). Refinement doubles N, so
|
|
68
|
+
* qa = 2π/N halves.
|
|
69
|
+
*
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
export declare const W9_FIXTURE: {
|
|
73
|
+
readonly masses: 16;
|
|
74
|
+
readonly kappa: 1;
|
|
75
|
+
readonly m: 1;
|
|
76
|
+
readonly a: 1;
|
|
77
|
+
readonly stepsPerUnitTime: 1000;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* 1 − ω/(c q) on a ring of `masses` masses in its longest mode, with ω measured
|
|
81
|
+
* from the first zero of u_0(t) = cos ωt (RK4, cubic Hermite and Newton on the
|
|
82
|
+
* bracketing step) and c = a √(κ/m), q = 2π/(N a).
|
|
83
|
+
*
|
|
84
|
+
* @returns NaN for fewer than 3 masses or no crossing.
|
|
85
|
+
* @internal
|
|
86
|
+
*/
|
|
87
|
+
export declare function measureChainDispersionError(masses: number, fixture?: {
|
|
88
|
+
readonly kappa: number;
|
|
89
|
+
readonly m: number;
|
|
90
|
+
readonly a: number;
|
|
91
|
+
readonly stepsPerUnitTime: number;
|
|
92
|
+
}): number;
|
|
93
|
+
//# sourceMappingURL=limit-witnesses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limit-witnesses.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/limit-witnesses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,UAAU;aAAK,MAAM,EAAE,GAAG;aAAE,cAAc,EAAE,KAAM;CAAW,CAAC;AAE3E;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,GAAE,MAAkC,GAAG,MAAM,CAKrH;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;aAAK,CAAC,EAAE,IAAI;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;aAAE,EAAE,EAAE,CAAC;aAAE,EAAE,EAAE,CAAC;aAAE,IAAI,EAAE,EAAE;aAAE,YAAY,EAAE,EAAE;CAAW,CAAC;AAEtG;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,MAAM,EACT,OAAO,GAAE;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAgB,GAChK,MAAM,CAyBR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;aAAK,MAAM,EAAE,EAAE;aAAE,KAAK,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;aAAE,CAAC,EAAE,CAAC;aAAE,gBAAgB,EAAE,IAAI;CAAW,CAAC;AAEhG;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAAe,GAC1H,MAAM,CAoDR"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The measurements behind the in-process witnesses of the three oscillator
|
|
3
|
+
* bridges that had none: W7 (`ab-pendulum-linear`), W8b (`ab-damped-massless`)
|
|
4
|
+
* and W9 (`ab-chain-wave`).
|
|
5
|
+
*
|
|
6
|
+
* Each one INTEGRATES the premise model's own equation by RK4 and reads the
|
|
7
|
+
* claimed quantity off the motion. None evaluates the closed form its record
|
|
8
|
+
* states, so a test comparing the measurement with that closed form compares
|
|
9
|
+
* two methods, not one method with itself.
|
|
10
|
+
*
|
|
11
|
+
* @module atlas/oscillators/limit-witnesses
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
import { quarterPeriod } from './norm-transport-witness.js';
|
|
15
|
+
/**
|
|
16
|
+
* W7: the pendulum θ'' = −ω0² sin θ at ω0 = 1, released from rest; the
|
|
17
|
+
* amplitude is `theta0 / resolution`, so refinement moves into the θ0 → 0 limit.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export const W7_FIXTURE = { theta0: 0.4, stepsPerPeriod: 16_384 };
|
|
22
|
+
/**
|
|
23
|
+
* T/T0 of the pendulum released from rest at `theta0`, measured by RK4 with
|
|
24
|
+
* `stepsPerPeriod` steps per linear period T0 = 2π (ω0 = 1).
|
|
25
|
+
*
|
|
26
|
+
* @returns NaN unless 0 < theta0 < π.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export function measurePendulumPeriodRatio(theta0, stepsPerPeriod = W7_FIXTURE.stepsPerPeriod) {
|
|
30
|
+
if (!(theta0 > 0 && theta0 < Math.PI))
|
|
31
|
+
return Number.NaN;
|
|
32
|
+
const T0 = 2 * Math.PI;
|
|
33
|
+
const quarter = quarterPeriod((x) => -Math.sin(x), theta0, T0 / stepsPerPeriod, 2 * stepsPerPeriod);
|
|
34
|
+
return (4 * quarter) / T0;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* W8b: the damped spring m x'' + b x' + k x = 0 at the record's witness
|
|
38
|
+
* normalisation b = k = x0 = 1, with v0 = 5 (the edge of |v0| ≤ 5). The mass is
|
|
39
|
+
* `m / resolution`. The RK4 step is m/20, so the fast rate b/m is resolved at
|
|
40
|
+
* every mass, and 5m/b is a whole number of steps.
|
|
41
|
+
*
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
export const W8B_FIXTURE = { m: 0.02, b: 1, k: 1, x0: 1, v0: 5, tEnd: 10, stepsPerMass: 20 };
|
|
45
|
+
/**
|
|
46
|
+
* sup |x(t) − x0 e^(−kt/b)| over the RK4 grid on t ∈ [5m/b, tEnd], x from the
|
|
47
|
+
* full second-order model: the norm of `ab-damped-massless`'s bound. The
|
|
48
|
+
* window stops at `tEnd`; both motions there are below x0·e^(−k·tEnd/b).
|
|
49
|
+
*
|
|
50
|
+
* @returns NaN unless m, b and k are positive and finite.
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
export function measureMasslessOffset(m, fixture = W8B_FIXTURE) {
|
|
54
|
+
const { b, k, x0, v0, tEnd, stepsPerMass } = fixture;
|
|
55
|
+
if (![m, b, k].every((v) => Number.isFinite(v) && v > 0))
|
|
56
|
+
return Number.NaN;
|
|
57
|
+
const h = m / stepsPerMass;
|
|
58
|
+
const layerSteps = Math.ceil((5 * stepsPerMass) / b);
|
|
59
|
+
const steps = Math.ceil(tEnd / h);
|
|
60
|
+
let x = x0;
|
|
61
|
+
let v = v0;
|
|
62
|
+
let sup = 0;
|
|
63
|
+
for (let i = 1; i <= steps; i++) {
|
|
64
|
+
// The damped force reads v as well as x, so the first-order system is stepped here.
|
|
65
|
+
const f = (xx, vv) => -(b * vv + k * xx) / m;
|
|
66
|
+
const k1x = v;
|
|
67
|
+
const k1v = f(x, v);
|
|
68
|
+
const k2x = v + 0.5 * h * k1v;
|
|
69
|
+
const k2v = f(x + 0.5 * h * k1x, v + 0.5 * h * k1v);
|
|
70
|
+
const k3x = v + 0.5 * h * k2v;
|
|
71
|
+
const k3v = f(x + 0.5 * h * k2x, v + 0.5 * h * k2v);
|
|
72
|
+
const k4x = v + h * k3v;
|
|
73
|
+
const k4v = f(x + h * k3x, v + h * k3v);
|
|
74
|
+
x += (h / 6) * (k1x + 2 * k2x + 2 * k3x + k4x);
|
|
75
|
+
v += (h / 6) * (k1v + 2 * k2v + 2 * k3v + k4v);
|
|
76
|
+
if (i >= layerSteps)
|
|
77
|
+
sup = Math.max(sup, Math.abs(x - x0 * Math.exp((-k / b) * i * h)));
|
|
78
|
+
}
|
|
79
|
+
return sup;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* W9: a ring of `masses · resolution` masses, m u_n'' = κ(u_{n+1} − 2u_n + u_{n−1}),
|
|
83
|
+
* started at rest in its longest mode u_n = cos(2π n/N). Refinement doubles N, so
|
|
84
|
+
* qa = 2π/N halves.
|
|
85
|
+
*
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
export const W9_FIXTURE = { masses: 16, kappa: 1, m: 1, a: 1, stepsPerUnitTime: 1000 };
|
|
89
|
+
/**
|
|
90
|
+
* 1 − ω/(c q) on a ring of `masses` masses in its longest mode, with ω measured
|
|
91
|
+
* from the first zero of u_0(t) = cos ωt (RK4, cubic Hermite and Newton on the
|
|
92
|
+
* bracketing step) and c = a √(κ/m), q = 2π/(N a).
|
|
93
|
+
*
|
|
94
|
+
* @returns NaN for fewer than 3 masses or no crossing.
|
|
95
|
+
* @internal
|
|
96
|
+
*/
|
|
97
|
+
export function measureChainDispersionError(masses, fixture = W9_FIXTURE) {
|
|
98
|
+
const N = masses;
|
|
99
|
+
if (!Number.isInteger(N) || N < 3)
|
|
100
|
+
return Number.NaN;
|
|
101
|
+
const { kappa, m, a, stepsPerUnitTime } = fixture;
|
|
102
|
+
const w = kappa / m;
|
|
103
|
+
const accel = (u) => {
|
|
104
|
+
const out = new Float64Array(N);
|
|
105
|
+
for (let n = 0; n < N; n++)
|
|
106
|
+
out[n] = w * (u[(n + 1) % N] - 2 * u[n] + u[(n - 1 + N) % N]);
|
|
107
|
+
return out;
|
|
108
|
+
};
|
|
109
|
+
const axpy = (y, s, x) => {
|
|
110
|
+
const out = new Float64Array(N);
|
|
111
|
+
for (let n = 0; n < N; n++)
|
|
112
|
+
out[n] = y[n] + s * x[n];
|
|
113
|
+
return out;
|
|
114
|
+
};
|
|
115
|
+
const h = 1 / stepsPerUnitTime;
|
|
116
|
+
let u = Float64Array.from({ length: N }, (_, n) => Math.cos((2 * Math.PI * n) / N));
|
|
117
|
+
let v = new Float64Array(N);
|
|
118
|
+
// Twice the lattice quarter period π/(4√(κ/m) sin(π/N)): the crossing is inside.
|
|
119
|
+
const maxSteps = Math.ceil(((2 * Math.PI) / (4 * Math.sqrt(w) * Math.sin(Math.PI / N))) * stepsPerUnitTime);
|
|
120
|
+
for (let i = 0; i < maxSteps; i++) {
|
|
121
|
+
const k1u = v;
|
|
122
|
+
const k1v = accel(u);
|
|
123
|
+
const k2u = axpy(v, 0.5 * h, k1v);
|
|
124
|
+
const k2v = accel(axpy(u, 0.5 * h, k1u));
|
|
125
|
+
const k3u = axpy(v, 0.5 * h, k2v);
|
|
126
|
+
const k3v = accel(axpy(u, 0.5 * h, k2u));
|
|
127
|
+
const k4u = axpy(v, h, k3v);
|
|
128
|
+
const k4v = accel(axpy(u, h, k3u));
|
|
129
|
+
const nu = new Float64Array(N);
|
|
130
|
+
const nv = new Float64Array(N);
|
|
131
|
+
for (let n = 0; n < N; n++) {
|
|
132
|
+
nu[n] = u[n] + (h / 6) * (k1u[n] + 2 * k2u[n] + 2 * k3u[n] + k4u[n]);
|
|
133
|
+
nv[n] = v[n] + (h / 6) * (k1v[n] + 2 * k2v[n] + 2 * k3v[n] + k4v[n]);
|
|
134
|
+
}
|
|
135
|
+
if (u[0] > 0 && nu[0] <= 0) {
|
|
136
|
+
const [p0, m0, p1, m1] = [u[0], v[0] * h, nu[0], nv[0] * h];
|
|
137
|
+
const p = (s) => (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;
|
|
138
|
+
const dp = (s) => (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;
|
|
139
|
+
let s = p0 / (p0 - p1);
|
|
140
|
+
for (let j = 0; j < 8; j++)
|
|
141
|
+
s -= p(s) / dp(s);
|
|
142
|
+
const omega = Math.PI / (2 * (i + s) * h);
|
|
143
|
+
const c = a * Math.sqrt(w);
|
|
144
|
+
const q = (2 * Math.PI) / (N * a);
|
|
145
|
+
return 1 - omega / (c * q);
|
|
146
|
+
}
|
|
147
|
+
u = nu;
|
|
148
|
+
v = nv;
|
|
149
|
+
}
|
|
150
|
+
return Number.NaN;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=limit-witnesses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limit-witnesses.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/limit-witnesses.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
* says "not recorded" where a present empty one would claim "there are none".
|
|
14
14
|
*
|
|
15
15
|
* `canonicalRefs` are restricted to ids that exist in `CANONICAL_EQUATIONS`;
|
|
16
|
-
* `tests/atlas/models.test.ts` resolves every one of them
|
|
16
|
+
* `tests/atlas/models.test.ts` resolves every one of them, and a new one needs
|
|
17
|
+
* a numeric check in `tests/atlas/canonical-links.test.ts`.
|
|
17
18
|
*
|
|
18
19
|
* @module atlas/oscillators/models
|
|
19
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/models.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AASH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6B9C,6EAA6E;AAC7E,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAmH7C,CAAC;AAIF,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAIpD"}
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
* says "not recorded" where a present empty one would claim "there are none".
|
|
14
14
|
*
|
|
15
15
|
* `canonicalRefs` are restricted to ids that exist in `CANONICAL_EQUATIONS`;
|
|
16
|
-
* `tests/atlas/models.test.ts` resolves every one of them
|
|
16
|
+
* `tests/atlas/models.test.ts` resolves every one of them, and a new one needs
|
|
17
|
+
* a numeric check in `tests/atlas/canonical-links.test.ts`.
|
|
17
18
|
*
|
|
18
19
|
* @module atlas/oscillators/models
|
|
19
20
|
*/
|
|
@@ -60,7 +61,7 @@ export const ATLAS_MODELS = [
|
|
|
60
61
|
{ name: 'C', dim: CAPACITANCE },
|
|
61
62
|
],
|
|
62
63
|
dimensionlessInputs: [],
|
|
63
|
-
canonicalRefs: ['CE-lc-resonance'],
|
|
64
|
+
canonicalRefs: ['CE-lc-resonance', 'CE-capacitor-energy'],
|
|
64
65
|
}),
|
|
65
66
|
model({
|
|
66
67
|
id: 'model-damped-spring',
|
|
@@ -98,7 +99,7 @@ export const ATLAS_MODELS = [
|
|
|
98
99
|
{ name: 'ell', dim: LENGTH },
|
|
99
100
|
],
|
|
100
101
|
dimensionlessInputs: ['theta0'],
|
|
101
|
-
canonicalRefs: [],
|
|
102
|
+
canonicalRefs: ['CE-pendulum-period'],
|
|
102
103
|
}),
|
|
103
104
|
model({
|
|
104
105
|
id: 'model-chain',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/models.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The measurement behind W1τ, `ab-spring-lc`'s relative-period norm transport
|
|
3
|
+
* (`./norm-transport.ts`).
|
|
4
|
+
*
|
|
5
|
+
* The pendulum is pushed through the bridge's map q(t_LC) = (q0/θ0)·θ(t),
|
|
6
|
+
* t_LC = t·ω_s/ω_LC, and integrated as its OWN equation in circuit time,
|
|
7
|
+
* q'' = −ω_LC² (q0/θ0) sin(θ0 q/q0). Its period is measured by RK4 and compared
|
|
8
|
+
* with the LC circuit's period 2π√(LC). Nothing here multiplies a pendulum
|
|
9
|
+
* period by a factor: the image is solved where the circuit lives.
|
|
10
|
+
*
|
|
11
|
+
* @module atlas/oscillators/norm-transport-witness
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
/** The circuit and release a measurement uses. @internal */
|
|
15
|
+
export interface TransportCircuit {
|
|
16
|
+
readonly L: number;
|
|
17
|
+
readonly C: number;
|
|
18
|
+
/** Release charge, > 0. */
|
|
19
|
+
readonly q0: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* First downward zero crossing of the release from rest at `q0 > 0`, by cubic
|
|
23
|
+
* Hermite interpolation of the bracketing RK4 step (values and derivatives at
|
|
24
|
+
* both ends), refined by Newton. Released from rest, it is a quarter period.
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export declare function quarterPeriod(accel: (q: number) => number, q0: number, h: number, maxSteps: number): number;
|
|
29
|
+
/**
|
|
30
|
+
* T_image / T_LC − 1: the relative period error of the pendulum's image against
|
|
31
|
+
* the circuit, with `stepsPerPeriod` RK4 steps per LC period.
|
|
32
|
+
*
|
|
33
|
+
* @returns NaN when `theta0` is not in (0, π) or no crossing is found.
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
export declare function measureTransportedPeriodError(theta0: number, stepsPerPeriod: number, circuit?: TransportCircuit): number;
|
|
37
|
+
//# sourceMappingURL=norm-transport-witness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"norm-transport-witness.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/norm-transport-witness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmB3G;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,gBAAgC,GACxC,MAAM,CAOR"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The measurement behind W1τ, `ab-spring-lc`'s relative-period norm transport
|
|
3
|
+
* (`./norm-transport.ts`).
|
|
4
|
+
*
|
|
5
|
+
* The pendulum is pushed through the bridge's map q(t_LC) = (q0/θ0)·θ(t),
|
|
6
|
+
* t_LC = t·ω_s/ω_LC, and integrated as its OWN equation in circuit time,
|
|
7
|
+
* q'' = −ω_LC² (q0/θ0) sin(θ0 q/q0). Its period is measured by RK4 and compared
|
|
8
|
+
* with the LC circuit's period 2π√(LC). Nothing here multiplies a pendulum
|
|
9
|
+
* period by a factor: the image is solved where the circuit lives.
|
|
10
|
+
*
|
|
11
|
+
* @module atlas/oscillators/norm-transport-witness
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
import { rk4Step } from './pendulum-motion.js';
|
|
15
|
+
import { W1TAU_FIXTURE } from './norm-transport.js';
|
|
16
|
+
/**
|
|
17
|
+
* First downward zero crossing of the release from rest at `q0 > 0`, by cubic
|
|
18
|
+
* Hermite interpolation of the bracketing RK4 step (values and derivatives at
|
|
19
|
+
* both ends), refined by Newton. Released from rest, it is a quarter period.
|
|
20
|
+
*
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
export function quarterPeriod(accel, q0, h, maxSteps) {
|
|
24
|
+
let x = q0;
|
|
25
|
+
let v = 0;
|
|
26
|
+
for (let i = 0; i < maxSteps; i++) {
|
|
27
|
+
const [nx, nv] = rk4Step(x, v, h, accel);
|
|
28
|
+
if (x > 0 && nx <= 0) {
|
|
29
|
+
const [p0, m0, p1, m1] = [x, v * h, nx, nv * h];
|
|
30
|
+
const p = (s) => (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;
|
|
31
|
+
const dp = (s) => (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;
|
|
32
|
+
let s = p0 / (p0 - p1);
|
|
33
|
+
for (let k = 0; k < 8; k++)
|
|
34
|
+
s -= p(s) / dp(s);
|
|
35
|
+
return (i + s) * h;
|
|
36
|
+
}
|
|
37
|
+
x = nx;
|
|
38
|
+
v = nv;
|
|
39
|
+
}
|
|
40
|
+
return Number.NaN;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* T_image / T_LC − 1: the relative period error of the pendulum's image against
|
|
44
|
+
* the circuit, with `stepsPerPeriod` RK4 steps per LC period.
|
|
45
|
+
*
|
|
46
|
+
* @returns NaN when `theta0` is not in (0, π) or no crossing is found.
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
export function measureTransportedPeriodError(theta0, stepsPerPeriod, circuit = W1TAU_FIXTURE) {
|
|
50
|
+
if (!(theta0 > 0 && theta0 < Math.PI) || !(circuit.q0 > 0))
|
|
51
|
+
return Number.NaN;
|
|
52
|
+
const omegaLC = 1 / Math.sqrt(circuit.L * circuit.C);
|
|
53
|
+
const tLC = (2 * Math.PI) / omegaLC;
|
|
54
|
+
const accel = (q) => -(omegaLC ** 2) * (circuit.q0 / theta0) * Math.sin((theta0 * q) / circuit.q0);
|
|
55
|
+
const quarter = quarterPeriod(accel, circuit.q0, tLC / stepsPerPeriod, 2 * stepsPerPeriod);
|
|
56
|
+
return (4 * quarter) / tLC - 1;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=norm-transport-witness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"norm-transport-witness.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/norm-transport-witness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ab-spring-lc`'s declared norm transport: the spring → LC map carries a bound
|
|
3
|
+
* in RELATIVE PERIOD ERROR unchanged. Design:
|
|
4
|
+
* `docs/planning/ADR-transported-norm-composition.md`.
|
|
5
|
+
*
|
|
6
|
+
* The bridge's composed map is q(t_LC) = (q0/x0)·x(t) with t_LC = t·ω_s/ω_LC:
|
|
7
|
+
* an amplitude scale and a uniform time scale. A period is a time, so every
|
|
8
|
+
* period on the spring side is multiplied by the same ω_s/ω_LC on the circuit
|
|
9
|
+
* side, and the ratio T_full/T_reduced − 1 is unchanged. K = 1, with no
|
|
10
|
+
* additive term.
|
|
11
|
+
*
|
|
12
|
+
* Declared in ONE direction and ONE norm:
|
|
13
|
+
*
|
|
14
|
+
* - LC → spring is not declared. The same algebra gives K = 1 there too, but no
|
|
15
|
+
* witness checks it and no route in the atlas uses it, and a declaration
|
|
16
|
+
* without its own witness is what the ADR forbids.
|
|
17
|
+
* - The absolute period error (factor ω_s/ω_LC) and the trajectory error
|
|
18
|
+
* (factor q0/x0, metres to coulombs) are not declared: the map is not an
|
|
19
|
+
* isometry of either, and a route in those norms stays refused.
|
|
20
|
+
*
|
|
21
|
+
* @module atlas/oscillators/norm-transport
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
import type { NormTransport } from '../types.js';
|
|
25
|
+
/** @internal */
|
|
26
|
+
export declare const SPRING_LC_TRANSPORT_TEST = "tests/atlas/spring-lc-norm-transport.test.ts";
|
|
27
|
+
/**
|
|
28
|
+
* The circuit W1τ integrates in: L = 0.5, C = 0.25 (W1a's circuit), so
|
|
29
|
+
* ω_LC = 2√2 while the spring side's ω_s = 2 — the time map is not the identity.
|
|
30
|
+
* q0 > 0 is the release charge, and θ0 = 0.5 is the edge of ab-pendulum-linear's
|
|
31
|
+
* domain, where its error is largest.
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export declare const W1TAU_FIXTURE: {
|
|
36
|
+
readonly L: 0.5;
|
|
37
|
+
readonly C: 0.25;
|
|
38
|
+
readonly q0: 0.001;
|
|
39
|
+
readonly theta0: 0.5;
|
|
40
|
+
readonly omegaS: 2;
|
|
41
|
+
};
|
|
42
|
+
/** @internal */
|
|
43
|
+
export declare const SPRING_LC_RELATIVE_PERIOD_TRANSPORT: NormTransport;
|
|
44
|
+
//# sourceMappingURL=norm-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"norm-transport.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/norm-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,gBAAgB;AAChB,eAAO,MAAM,wBAAwB,iDAAiD,CAAC;AAEvF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa;aAAK,CAAC,EAAE,GAAG;aAAE,CAAC,EAAE,IAAI;aAAE,EAAE,EAAE,KAAI;aAAE,MAAM,EAAE,GAAG;aAAE,MAAM,EAAE,CAAC;CAAW,CAAC;AAE5F,gBAAgB;AAChB,eAAO,MAAM,mCAAmC,EAAE,aA+BjD,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ab-spring-lc`'s declared norm transport: the spring → LC map carries a bound
|
|
3
|
+
* in RELATIVE PERIOD ERROR unchanged. Design:
|
|
4
|
+
* `docs/planning/ADR-transported-norm-composition.md`.
|
|
5
|
+
*
|
|
6
|
+
* The bridge's composed map is q(t_LC) = (q0/x0)·x(t) with t_LC = t·ω_s/ω_LC:
|
|
7
|
+
* an amplitude scale and a uniform time scale. A period is a time, so every
|
|
8
|
+
* period on the spring side is multiplied by the same ω_s/ω_LC on the circuit
|
|
9
|
+
* side, and the ratio T_full/T_reduced − 1 is unchanged. K = 1, with no
|
|
10
|
+
* additive term.
|
|
11
|
+
*
|
|
12
|
+
* Declared in ONE direction and ONE norm:
|
|
13
|
+
*
|
|
14
|
+
* - LC → spring is not declared. The same algebra gives K = 1 there too, but no
|
|
15
|
+
* witness checks it and no route in the atlas uses it, and a declaration
|
|
16
|
+
* without its own witness is what the ADR forbids.
|
|
17
|
+
* - The absolute period error (factor ω_s/ω_LC) and the trajectory error
|
|
18
|
+
* (factor q0/x0, metres to coulombs) are not declared: the map is not an
|
|
19
|
+
* isometry of either, and a route in those norms stays refused.
|
|
20
|
+
*
|
|
21
|
+
* @module atlas/oscillators/norm-transport
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
import { RELATIVE_PERIOD_NORM } from './norms.js';
|
|
25
|
+
/** @internal */
|
|
26
|
+
export const SPRING_LC_TRANSPORT_TEST = 'tests/atlas/spring-lc-norm-transport.test.ts';
|
|
27
|
+
/**
|
|
28
|
+
* The circuit W1τ integrates in: L = 0.5, C = 0.25 (W1a's circuit), so
|
|
29
|
+
* ω_LC = 2√2 while the spring side's ω_s = 2 — the time map is not the identity.
|
|
30
|
+
* q0 > 0 is the release charge, and θ0 = 0.5 is the edge of ab-pendulum-linear's
|
|
31
|
+
* domain, where its error is largest.
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export const W1TAU_FIXTURE = { L: 0.5, C: 0.25, q0: 1e-3, theta0: 0.5, omegaS: 2 };
|
|
36
|
+
/** @internal */
|
|
37
|
+
export const SPRING_LC_RELATIVE_PERIOD_TRANSPORT = {
|
|
38
|
+
id: 'nt-spring-lc-relative-period',
|
|
39
|
+
fromModel: 'model-spring',
|
|
40
|
+
toModel: 'model-lc',
|
|
41
|
+
from: RELATIVE_PERIOD_NORM,
|
|
42
|
+
to: RELATIVE_PERIOD_NORM,
|
|
43
|
+
K: 1,
|
|
44
|
+
KAt: () => 1,
|
|
45
|
+
domain: "every m, k, L, C > 0 and x0, q0 ≠ 0 (the bridge's side conditions); K is the same constant throughout",
|
|
46
|
+
derivation: 'q(t_LC) = (q0/x0)·x(t) with t_LC = t·ω_s/ω_LC scales every period by the same ω_s/ω_LC, so a ratio of two ' +
|
|
47
|
+
'periods, T_full/T_reduced − 1, is unchanged: K = 1 and nothing is added',
|
|
48
|
+
timeMap: {
|
|
49
|
+
map: 't_LC = t·ω_s/ω_LC, one constant factor for every t',
|
|
50
|
+
uniform: true,
|
|
51
|
+
horizon: 'a horizon that reads time only through t/T0 holds unchanged with t read on the circuit clock and ' +
|
|
52
|
+
'T0 = 2π√(LC): a uniform time scale leaves t/T0 invariant',
|
|
53
|
+
restateHorizon: (holds) => holds,
|
|
54
|
+
},
|
|
55
|
+
uniformity: "preserved: K is one constant over the whole domain, so the incoming bound's uniformity holds unchanged",
|
|
56
|
+
witness: {
|
|
57
|
+
id: 'W1τ',
|
|
58
|
+
kind: 'numeric',
|
|
59
|
+
test: SPRING_LC_TRANSPORT_TEST,
|
|
60
|
+
tolerance: "RK4 relative period error of the pendulum's image q'' = −ω_LC²(q0/θ0) sin(θ0 q/q0) against the LC period, " +
|
|
61
|
+
'in circuit time (L = 0.5, C = 0.25, ω_LC = 2√2 ≠ ω_s = 2), at 640 steps per LC period within 1e-9 of K ' +
|
|
62
|
+
'times the closed-form elliptic error at θ0 = 0.5; 160 steps is the coarse resolution',
|
|
63
|
+
},
|
|
64
|
+
basis: 'numerically-supported',
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=norm-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"norm-transport.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/norm-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,gBAAgB;AAChB,MAAM,CAAC,MAAM,wBAAwB,GAAG,8CAA8C,CAAC;AAEvF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAW,CAAC;AAE5F,gBAAgB;AAChB,MAAM,CAAC,MAAM,mCAAmC,GAAkB;IAChE,EAAE,EAAE,8BAA8B;IAClC,SAAS,EAAE,cAAc;IACzB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,oBAAoB;IAC1B,EAAE,EAAE,oBAAoB;IACxB,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACZ,MAAM,EAAE,uGAAuG;IAC/G,UAAU,EACR,4GAA4G;QAC5G,yEAAyE;IAC3E,OAAO,EAAE;QACP,GAAG,EAAE,oDAAoD;QACzD,OAAO,EAAE,IAAI;QACb,OAAO,EACL,mGAAmG;YACnG,0DAA0D;QAC5D,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;KACjC;IACD,UAAU,EAAE,wGAAwG;IACpH,OAAO,EAAE;QACP,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,wBAAwB;QAC9B,SAAS,EACP,4GAA4G;YAC5G,yGAAyG;YACzG,sFAAsF;KACzF;IACD,KAAK,EAAE,uBAAuB;CAC/B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Norm names the oscillator records share, so a bound and the transport that
|
|
3
|
+
* carries it name the same norm by the same string. `boundPath` compares norms
|
|
4
|
+
* verbatim, and a norm spelled twice is a norm that can drift.
|
|
5
|
+
*
|
|
6
|
+
* @module atlas/oscillators/norms
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
/** The norm `ab-pendulum-linear` states its bound in. @internal */
|
|
10
|
+
export declare const RELATIVE_PERIOD_NORM = "relative period error, normalized by the value of the reduced model";
|
|
11
|
+
//# sourceMappingURL=norms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"norms.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/norms.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,wEAAwE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Norm names the oscillator records share, so a bound and the transport that
|
|
3
|
+
* carries it name the same norm by the same string. `boundPath` compares norms
|
|
4
|
+
* verbatim, and a norm spelled twice is a norm that can drift.
|
|
5
|
+
*
|
|
6
|
+
* @module atlas/oscillators/norms
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
/** The norm `ab-pendulum-linear` states its bound in. @internal */
|
|
10
|
+
export const RELATIVE_PERIOD_NORM = 'relative period error, normalized by the value of the reduced model';
|
|
11
|
+
//# sourceMappingURL=norms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"norms.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/norms.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,mEAAmE;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAAG,qEAAqE,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The pendulum and its linear oscillator, integrated and read off, for the
|
|
3
|
+
* witnesses of `ab-pendulum-linear`'s declared translations. Time is in units
|
|
4
|
+
* of T0 (ω0 = 2π); both motions are released from rest at θ0.
|
|
5
|
+
*
|
|
6
|
+
* Also the closed forms those translations are built from: θ0 recovered from
|
|
7
|
+
* the bound's ε, and the nome q of the pendulum's elliptic modulus.
|
|
8
|
+
*
|
|
9
|
+
* @module atlas/oscillators/pendulum-motion
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
/** ω0² at T0 = 1. @internal */
|
|
13
|
+
export declare const W2: number;
|
|
14
|
+
/** @internal */
|
|
15
|
+
export declare const pendulumAccel: (x: number) => number;
|
|
16
|
+
/** @internal */
|
|
17
|
+
export declare const linearAccel: (x: number) => number;
|
|
18
|
+
/** One classical RK4 step of x″ = accel(x). @internal */
|
|
19
|
+
export declare function rk4Step(x: number, v: number, h: number, accel: (x: number) => number): [number, number];
|
|
20
|
+
/** Zero-crossing times of a release from rest at `theta0`, over `periods` of T0 = 1. @internal */
|
|
21
|
+
export declare function crossingTimes(accel: (x: number) => number, theta0: number, stepsPerPeriod: number, periods: number): number[];
|
|
22
|
+
/** The phase at `t`, interpolated through the anchors (0, 0) and (c_k, π/2 + kπ). @internal */
|
|
23
|
+
export declare function phaseAt(crossings: readonly number[], t: number): number;
|
|
24
|
+
/**
|
|
25
|
+
* θ0 in [0, π) whose exact relative period error is `eps`, by bisection on the
|
|
26
|
+
* strictly increasing `pendulumPeriodErrorAt`.
|
|
27
|
+
*
|
|
28
|
+
* @returns NaN for a negative or non-finite `eps`.
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export declare function theta0OfPeriodError(eps: number): number;
|
|
32
|
+
/**
|
|
33
|
+
* The nome q = exp(−π K′/K) of the modulus k = sin(θ0/2), with
|
|
34
|
+
* K′/K = AGM(1, cos(θ0/2)) / AGM(1, sin(θ0/2)).
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
export declare function pendulumNome(theta0: number): number;
|
|
38
|
+
//# sourceMappingURL=pendulum-motion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pendulum-motion.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/pendulum-motion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,+BAA+B;AAC/B,eAAO,MAAM,EAAE,QAAqB,CAAC;AACrC,gBAAgB;AAChB,eAAO,MAAM,aAAa,MAAO,MAAM,KAAG,MAA2B,CAAC;AACtE,gBAAgB;AAChB,eAAO,MAAM,WAAW,MAAO,MAAM,KAAG,MAAiB,CAAC;AAE1D,yDAAyD;AACzD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAUvG;AA4BD,kGAAkG;AAClG,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAY7H;AAED,+FAA+F;AAC/F,wBAAgB,OAAO,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAInD"}
|