universal-physics-tensor 0.4.5
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 -0
- package/README.md +377 -0
- package/dist/bridges/equations/be-11-decoherence-master.d.ts +83 -0
- package/dist/bridges/equations/be-11-decoherence-master.d.ts.map +1 -0
- package/dist/bridges/equations/be-11-decoherence-master.js +116 -0
- package/dist/bridges/equations/be-11-decoherence-master.js.map +1 -0
- package/dist/bridges/equations/be-12-coherence-length.d.ts +80 -0
- package/dist/bridges/equations/be-12-coherence-length.d.ts.map +1 -0
- package/dist/bridges/equations/be-12-coherence-length.js +128 -0
- package/dist/bridges/equations/be-12-coherence-length.js.map +1 -0
- package/dist/bridges/equations/be-13-einstein-trace.d.ts +89 -0
- package/dist/bridges/equations/be-13-einstein-trace.d.ts.map +1 -0
- package/dist/bridges/equations/be-13-einstein-trace.js +143 -0
- package/dist/bridges/equations/be-13-einstein-trace.js.map +1 -0
- package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts +67 -0
- package/dist/bridges/equations/be-14-ryu-takayanagi.d.ts.map +1 -0
- package/dist/bridges/equations/be-14-ryu-takayanagi.js +112 -0
- package/dist/bridges/equations/be-14-ryu-takayanagi.js.map +1 -0
- package/dist/bridges/equations/be-15-emergence.d.ts +164 -0
- package/dist/bridges/equations/be-15-emergence.d.ts.map +1 -0
- package/dist/bridges/equations/be-15-emergence.js +204 -0
- package/dist/bridges/equations/be-15-emergence.js.map +1 -0
- package/dist/bridges/equations/be-16-landauer.d.ts +180 -0
- package/dist/bridges/equations/be-16-landauer.d.ts.map +1 -0
- package/dist/bridges/equations/be-16-landauer.js +206 -0
- package/dist/bridges/equations/be-16-landauer.js.map +1 -0
- package/dist/bridges/equations/be-17-einstein-cartan.d.ts +245 -0
- package/dist/bridges/equations/be-17-einstein-cartan.d.ts.map +1 -0
- package/dist/bridges/equations/be-17-einstein-cartan.js +304 -0
- package/dist/bridges/equations/be-17-einstein-cartan.js.map +1 -0
- package/dist/bridges/equations/be-18-higgs-mass.d.ts +65 -0
- package/dist/bridges/equations/be-18-higgs-mass.d.ts.map +1 -0
- package/dist/bridges/equations/be-18-higgs-mass.js +86 -0
- package/dist/bridges/equations/be-18-higgs-mass.js.map +1 -0
- package/dist/bridges/equations/be-19-quantum-bounce.d.ts +72 -0
- package/dist/bridges/equations/be-19-quantum-bounce.d.ts.map +1 -0
- package/dist/bridges/equations/be-19-quantum-bounce.js +151 -0
- package/dist/bridges/equations/be-19-quantum-bounce.js.map +1 -0
- package/dist/bridges/equations/be-20-vacuum-energy.d.ts +72 -0
- package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +1 -0
- package/dist/bridges/equations/be-20-vacuum-energy.js +115 -0
- package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -0
- package/dist/bridges/equations/be-21-kss-bound.d.ts +72 -0
- package/dist/bridges/equations/be-21-kss-bound.d.ts.map +1 -0
- package/dist/bridges/equations/be-21-kss-bound.js +103 -0
- package/dist/bridges/equations/be-21-kss-bound.js.map +1 -0
- package/dist/bridges/equations/be-22-topological-entanglement.d.ts +90 -0
- package/dist/bridges/equations/be-22-topological-entanglement.d.ts.map +1 -0
- package/dist/bridges/equations/be-22-topological-entanglement.js +123 -0
- package/dist/bridges/equations/be-22-topological-entanglement.js.map +1 -0
- package/dist/bridges/equations/be-23-syk-planckian.d.ts +89 -0
- package/dist/bridges/equations/be-23-syk-planckian.d.ts.map +1 -0
- package/dist/bridges/equations/be-23-syk-planckian.js +155 -0
- package/dist/bridges/equations/be-23-syk-planckian.js.map +1 -0
- package/dist/bridges/equations/be-24-foerster-fret.d.ts +81 -0
- package/dist/bridges/equations/be-24-foerster-fret.d.ts.map +1 -0
- package/dist/bridges/equations/be-24-foerster-fret.js +121 -0
- package/dist/bridges/equations/be-24-foerster-fret.js.map +1 -0
- package/dist/bridges/equations/be-25-iit-phi.d.ts +220 -0
- package/dist/bridges/equations/be-25-iit-phi.d.ts.map +1 -0
- package/dist/bridges/equations/be-25-iit-phi.js +259 -0
- package/dist/bridges/equations/be-25-iit-phi.js.map +1 -0
- package/dist/bridges/equations/be-25-orch-or.d.ts +78 -0
- package/dist/bridges/equations/be-25-orch-or.d.ts.map +1 -0
- package/dist/bridges/equations/be-25-orch-or.js +121 -0
- package/dist/bridges/equations/be-25-orch-or.js.map +1 -0
- package/dist/bridges/equations/be-26-dna-tunneling.d.ts +75 -0
- package/dist/bridges/equations/be-26-dna-tunneling.d.ts.map +1 -0
- package/dist/bridges/equations/be-26-dna-tunneling.js +138 -0
- package/dist/bridges/equations/be-26-dna-tunneling.js.map +1 -0
- package/dist/bridges/equations/be-27-effective-temperature.d.ts +81 -0
- package/dist/bridges/equations/be-27-effective-temperature.d.ts.map +1 -0
- package/dist/bridges/equations/be-27-effective-temperature.js +120 -0
- package/dist/bridges/equations/be-27-effective-temperature.js.map +1 -0
- package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts +175 -0
- package/dist/bridges/equations/be-28-onsager-entropy-production.d.ts.map +1 -0
- package/dist/bridges/equations/be-28-onsager-entropy-production.js +203 -0
- package/dist/bridges/equations/be-28-onsager-entropy-production.js.map +1 -0
- package/dist/bridges/equations/be-29-jarzynski.d.ts +86 -0
- package/dist/bridges/equations/be-29-jarzynski.d.ts.map +1 -0
- package/dist/bridges/equations/be-29-jarzynski.js +132 -0
- package/dist/bridges/equations/be-29-jarzynski.js.map +1 -0
- package/dist/bridges/equations/be-30-flm-first-law.d.ts +93 -0
- package/dist/bridges/equations/be-30-flm-first-law.d.ts.map +1 -0
- package/dist/bridges/equations/be-30-flm-first-law.js +109 -0
- package/dist/bridges/equations/be-30-flm-first-law.js.map +1 -0
- package/dist/bridges/equations/be-31-causal-set-bd.d.ts +96 -0
- package/dist/bridges/equations/be-31-causal-set-bd.d.ts.map +1 -0
- package/dist/bridges/equations/be-31-causal-set-bd.js +133 -0
- package/dist/bridges/equations/be-31-causal-set-bd.js.map +1 -0
- package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts +113 -0
- package/dist/bridges/equations/be-32-quantum-reference-frame.d.ts.map +1 -0
- package/dist/bridges/equations/be-32-quantum-reference-frame.js +155 -0
- package/dist/bridges/equations/be-32-quantum-reference-frame.js.map +1 -0
- package/dist/bridges/equations/be-33-hertz-millis.d.ts +77 -0
- package/dist/bridges/equations/be-33-hertz-millis.d.ts.map +1 -0
- package/dist/bridges/equations/be-33-hertz-millis.js +113 -0
- package/dist/bridges/equations/be-33-hertz-millis.js.map +1 -0
- package/dist/bridges/equations/be-34-kibble-zurek.d.ts +76 -0
- package/dist/bridges/equations/be-34-kibble-zurek.d.ts.map +1 -0
- package/dist/bridges/equations/be-34-kibble-zurek.js +139 -0
- package/dist/bridges/equations/be-34-kibble-zurek.js.map +1 -0
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +117 -0
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +1 -0
- package/dist/bridges/equations/be-35-conformal-bootstrap.js +167 -0
- package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +1 -0
- package/dist/bridges/equations/be-36-gw-speed-bound.d.ts +77 -0
- package/dist/bridges/equations/be-36-gw-speed-bound.d.ts.map +1 -0
- package/dist/bridges/equations/be-36-gw-speed-bound.js +107 -0
- package/dist/bridges/equations/be-36-gw-speed-bound.js.map +1 -0
- package/dist/bridges/equations/be-37-shapiro-delay.d.ts +260 -0
- package/dist/bridges/equations/be-37-shapiro-delay.d.ts.map +1 -0
- package/dist/bridges/equations/be-37-shapiro-delay.js +429 -0
- package/dist/bridges/equations/be-37-shapiro-delay.js.map +1 -0
- package/dist/bridges/equations/be-38-mond.d.ts +86 -0
- package/dist/bridges/equations/be-38-mond.d.ts.map +1 -0
- package/dist/bridges/equations/be-38-mond.js +122 -0
- package/dist/bridges/equations/be-38-mond.js.map +1 -0
- package/dist/bridges/equations/be-39-asymptotic-safety.d.ts +106 -0
- package/dist/bridges/equations/be-39-asymptotic-safety.d.ts.map +1 -0
- package/dist/bridges/equations/be-39-asymptotic-safety.js +155 -0
- package/dist/bridges/equations/be-39-asymptotic-safety.js.map +1 -0
- package/dist/bridges/equations/be-40-composite-higgs.d.ts +81 -0
- package/dist/bridges/equations/be-40-composite-higgs.d.ts.map +1 -0
- package/dist/bridges/equations/be-40-composite-higgs.js +149 -0
- package/dist/bridges/equations/be-40-composite-higgs.js.map +1 -0
- package/dist/bridges/equations/be-41-swampland.d.ts +67 -0
- package/dist/bridges/equations/be-41-swampland.d.ts.map +1 -0
- package/dist/bridges/equations/be-41-swampland.js +109 -0
- package/dist/bridges/equations/be-41-swampland.js.map +1 -0
- package/dist/bridges/equations/be-42-hawking-temperature.d.ts +67 -0
- package/dist/bridges/equations/be-42-hawking-temperature.d.ts.map +1 -0
- package/dist/bridges/equations/be-42-hawking-temperature.js +109 -0
- package/dist/bridges/equations/be-42-hawking-temperature.js.map +1 -0
- package/dist/bridges/equations/be-43-er-epr.d.ts +73 -0
- package/dist/bridges/equations/be-43-er-epr.d.ts.map +1 -0
- package/dist/bridges/equations/be-43-er-epr.js +114 -0
- package/dist/bridges/equations/be-43-er-epr.js.map +1 -0
- package/dist/bridges/equations/be-44-soft-hair.d.ts +151 -0
- package/dist/bridges/equations/be-44-soft-hair.d.ts.map +1 -0
- package/dist/bridges/equations/be-44-soft-hair.js +185 -0
- package/dist/bridges/equations/be-44-soft-hair.js.map +1 -0
- package/dist/bridges/equations/be-45-tcc.d.ts +116 -0
- package/dist/bridges/equations/be-45-tcc.d.ts.map +1 -0
- package/dist/bridges/equations/be-45-tcc.js +157 -0
- package/dist/bridges/equations/be-45-tcc.js.map +1 -0
- package/dist/bridges/equations/be-46-multiverse-measure.d.ts +163 -0
- package/dist/bridges/equations/be-46-multiverse-measure.d.ts.map +1 -0
- package/dist/bridges/equations/be-46-multiverse-measure.js +198 -0
- package/dist/bridges/equations/be-46-multiverse-measure.js.map +1 -0
- package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts +72 -0
- package/dist/bridges/equations/be-47-bbn-dark-sector.d.ts.map +1 -0
- package/dist/bridges/equations/be-47-bbn-dark-sector.js +121 -0
- package/dist/bridges/equations/be-47-bbn-dark-sector.js.map +1 -0
- package/dist/bridges/equations/be-48-grw-localization.d.ts +84 -0
- package/dist/bridges/equations/be-48-grw-localization.d.ts.map +1 -0
- package/dist/bridges/equations/be-48-grw-localization.js +107 -0
- package/dist/bridges/equations/be-48-grw-localization.js.map +1 -0
- package/dist/bridges/equations/be-49-quantum-darwinism.d.ts +97 -0
- package/dist/bridges/equations/be-49-quantum-darwinism.d.ts.map +1 -0
- package/dist/bridges/equations/be-49-quantum-darwinism.js +129 -0
- package/dist/bridges/equations/be-49-quantum-darwinism.js.map +1 -0
- package/dist/bridges/equations/be-50-wheeler-feynman.d.ts +120 -0
- package/dist/bridges/equations/be-50-wheeler-feynman.d.ts.map +1 -0
- package/dist/bridges/equations/be-50-wheeler-feynman.js +151 -0
- package/dist/bridges/equations/be-50-wheeler-feynman.js.map +1 -0
- package/dist/bridges/gravitational-lensing.d.ts +52 -0
- package/dist/bridges/gravitational-lensing.d.ts.map +1 -0
- package/dist/bridges/gravitational-lensing.js +48 -0
- package/dist/bridges/gravitational-lensing.js.map +1 -0
- package/dist/bridges/index.d.ts +104 -0
- package/dist/bridges/index.d.ts.map +1 -0
- package/dist/bridges/index.js +1663 -0
- package/dist/bridges/index.js.map +1 -0
- package/dist/bridges/perihelion-precession.d.ts +62 -0
- package/dist/bridges/perihelion-precession.d.ts.map +1 -0
- package/dist/bridges/perihelion-precession.js +68 -0
- package/dist/bridges/perihelion-precession.js.map +1 -0
- package/dist/core/tensor.d.ts +135 -0
- package/dist/core/tensor.d.ts.map +1 -0
- package/dist/core/tensor.js +376 -0
- package/dist/core/tensor.js.map +1 -0
- package/dist/core/types.d.ts +131 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +25 -0
- package/dist/core/types.js.map +1 -0
- package/dist/dimensional/algebra.d.ts +34 -0
- package/dist/dimensional/algebra.d.ts.map +1 -0
- package/dist/dimensional/algebra.js +90 -0
- package/dist/dimensional/algebra.js.map +1 -0
- package/dist/dimensional/bridge-check.d.ts +48 -0
- package/dist/dimensional/bridge-check.d.ts.map +1 -0
- package/dist/dimensional/bridge-check.js +137 -0
- package/dist/dimensional/bridge-check.js.map +1 -0
- package/dist/dimensional/connection-validators.d.ts +53 -0
- package/dist/dimensional/connection-validators.d.ts.map +1 -0
- package/dist/dimensional/connection-validators.js +84 -0
- package/dist/dimensional/connection-validators.js.map +1 -0
- package/dist/dimensional/connection.d.ts +40 -0
- package/dist/dimensional/connection.d.ts.map +1 -0
- package/dist/dimensional/connection.js +81 -0
- package/dist/dimensional/connection.js.map +1 -0
- package/dist/dimensional/constants.d.ts +30 -0
- package/dist/dimensional/constants.d.ts.map +1 -0
- package/dist/dimensional/constants.js +31 -0
- package/dist/dimensional/constants.js.map +1 -0
- package/dist/dimensional/errors.d.ts +161 -0
- package/dist/dimensional/errors.d.ts.map +1 -0
- package/dist/dimensional/errors.js +254 -0
- package/dist/dimensional/errors.js.map +1 -0
- package/dist/dimensional/fresh-label.d.ts +26 -0
- package/dist/dimensional/fresh-label.d.ts.map +1 -0
- package/dist/dimensional/fresh-label.js +31 -0
- package/dist/dimensional/fresh-label.js.map +1 -0
- package/dist/dimensional/metric-validators.d.ts +124 -0
- package/dist/dimensional/metric-validators.d.ts.map +1 -0
- package/dist/dimensional/metric-validators.js +141 -0
- package/dist/dimensional/metric-validators.js.map +1 -0
- package/dist/dimensional/metric.d.ts +67 -0
- package/dist/dimensional/metric.d.ts.map +1 -0
- package/dist/dimensional/metric.js +177 -0
- package/dist/dimensional/metric.js.map +1 -0
- package/dist/dimensional/tensor.d.ts +153 -0
- package/dist/dimensional/tensor.d.ts.map +1 -0
- package/dist/dimensional/tensor.js +138 -0
- package/dist/dimensional/tensor.js.map +1 -0
- package/dist/dimensional/types.d.ts +50 -0
- package/dist/dimensional/types.d.ts.map +1 -0
- package/dist/dimensional/types.js +66 -0
- package/dist/dimensional/types.js.map +1 -0
- package/dist/dimensional/validator.d.ts +84 -0
- package/dist/dimensional/validator.d.ts.map +1 -0
- package/dist/dimensional/validator.js +505 -0
- package/dist/dimensional/validator.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/numerical/be37-covariant-eikonal.d.ts +90 -0
- package/dist/numerical/be37-covariant-eikonal.d.ts.map +1 -0
- package/dist/numerical/be37-covariant-eikonal.js +79 -0
- package/dist/numerical/be37-covariant-eikonal.js.map +1 -0
- package/dist/numerical/connection-lowering-helpers.d.ts +107 -0
- package/dist/numerical/connection-lowering-helpers.d.ts.map +1 -0
- package/dist/numerical/connection-lowering-helpers.js +315 -0
- package/dist/numerical/connection-lowering-helpers.js.map +1 -0
- package/dist/numerical/engine-registry.d.ts +50 -0
- package/dist/numerical/engine-registry.d.ts.map +1 -0
- package/dist/numerical/engine-registry.js +82 -0
- package/dist/numerical/engine-registry.js.map +1 -0
- package/dist/numerical/errors.d.ts +28 -0
- package/dist/numerical/errors.d.ts.map +1 -0
- package/dist/numerical/errors.js +39 -0
- package/dist/numerical/errors.js.map +1 -0
- package/dist/numerical/float64-engine.d.ts +53 -0
- package/dist/numerical/float64-engine.d.ts.map +1 -0
- package/dist/numerical/float64-engine.js +638 -0
- package/dist/numerical/float64-engine.js.map +1 -0
- package/dist/numerical/geodesic-integrator.d.ts +62 -0
- package/dist/numerical/geodesic-integrator.d.ts.map +1 -0
- package/dist/numerical/geodesic-integrator.js +103 -0
- package/dist/numerical/geodesic-integrator.js.map +1 -0
- package/dist/numerical/grid-field.d.ts +24 -0
- package/dist/numerical/grid-field.d.ts.map +1 -0
- package/dist/numerical/grid-field.js +2 -0
- package/dist/numerical/grid-field.js.map +1 -0
- package/dist/numerical/index.d.ts +80 -0
- package/dist/numerical/index.d.ts.map +1 -0
- package/dist/numerical/index.js +75 -0
- package/dist/numerical/index.js.map +1 -0
- package/dist/numerical/lowering.d.ts +48 -0
- package/dist/numerical/lowering.d.ts.map +1 -0
- package/dist/numerical/lowering.js +443 -0
- package/dist/numerical/lowering.js.map +1 -0
- package/dist/numerical/mathts-engine.d.ts +55 -0
- package/dist/numerical/mathts-engine.d.ts.map +1 -0
- package/dist/numerical/mathts-engine.js +164 -0
- package/dist/numerical/mathts-engine.js.map +1 -0
- package/dist/numerical/metric-inverse.d.ts +31 -0
- package/dist/numerical/metric-inverse.d.ts.map +1 -0
- package/dist/numerical/metric-inverse.js +68 -0
- package/dist/numerical/metric-inverse.js.map +1 -0
- package/dist/numerical/null-ray-integrator.d.ts +13 -0
- package/dist/numerical/null-ray-integrator.d.ts.map +1 -0
- package/dist/numerical/null-ray-integrator.js +53 -0
- package/dist/numerical/null-ray-integrator.js.map +1 -0
- package/dist/numerical/pderiv.d.ts +43 -0
- package/dist/numerical/pderiv.d.ts.map +1 -0
- package/dist/numerical/pderiv.js +121 -0
- package/dist/numerical/pderiv.js.map +1 -0
- package/dist/numerical/tensor-engine.d.ts +114 -0
- package/dist/numerical/tensor-engine.d.ts.map +1 -0
- package/dist/numerical/tensor-engine.js +64 -0
- package/dist/numerical/tensor-engine.js.map +1 -0
- package/dist/numerical/types.d.ts +37 -0
- package/dist/numerical/types.d.ts.map +1 -0
- package/dist/numerical/types.js +8 -0
- package/dist/numerical/types.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal Physics Tensor
|
|
3
|
+
*
|
|
4
|
+
* Core implementation of the rank-N tensor living in product space:
|
|
5
|
+
* Π ∈ H_scale ⊗ H_force ⊗ H_symmetry ⊗ H_info ⊗ H_dim ⊗ H_topo
|
|
6
|
+
*
|
|
7
|
+
* Decomposition: Π = L + B + E
|
|
8
|
+
* Where:
|
|
9
|
+
* - L: Known laws (diagonal elements)
|
|
10
|
+
* - B: Bridge equations (off-diagonal elements)
|
|
11
|
+
* - E: Emergent phenomena (higher-order correlations)
|
|
12
|
+
*/
|
|
13
|
+
export class UniversalTensor {
|
|
14
|
+
config;
|
|
15
|
+
knownLaws;
|
|
16
|
+
bridgeEquations;
|
|
17
|
+
emergentPhenomena;
|
|
18
|
+
/**
|
|
19
|
+
* Sparse tensor storage: only store non-zero elements.
|
|
20
|
+
* Key: serialized tensor indices
|
|
21
|
+
* Value: set of equation IDs occupying that cell (multiple laws/bridges
|
|
22
|
+
* may coexist in a single tensor cell without overwriting each other).
|
|
23
|
+
*/
|
|
24
|
+
tensorData;
|
|
25
|
+
constructor(config) {
|
|
26
|
+
// Runtime validation (strict TS catches these at compile time, but JS
|
|
27
|
+
// consumers bypass the type system — we validate defensively here).
|
|
28
|
+
if (![3, 4, 5, 6].includes(config.rank)) {
|
|
29
|
+
throw new RangeError(`TensorConfig.rank must be 3, 4, 5, or 6; got ${config.rank}`);
|
|
30
|
+
}
|
|
31
|
+
if (!Array.isArray(config.scales) || config.scales.length === 0) {
|
|
32
|
+
throw new TypeError('TensorConfig.scales must be a non-empty array');
|
|
33
|
+
}
|
|
34
|
+
if (!Array.isArray(config.forces) || config.forces.length === 0) {
|
|
35
|
+
throw new TypeError('TensorConfig.forces must be a non-empty array');
|
|
36
|
+
}
|
|
37
|
+
// Apply defaults
|
|
38
|
+
this.config = {
|
|
39
|
+
rank: config.rank,
|
|
40
|
+
scales: config.scales,
|
|
41
|
+
forces: config.forces,
|
|
42
|
+
symmetries: config.symmetries && config.symmetries.length > 0
|
|
43
|
+
? config.symmetries
|
|
44
|
+
: ['poincare', 'gauge'],
|
|
45
|
+
informationMeasures: config.informationMeasures && config.informationMeasures.length > 0
|
|
46
|
+
? config.informationMeasures
|
|
47
|
+
: ['vonNeumann', 'shannon'],
|
|
48
|
+
sparse: config.sparse ?? true,
|
|
49
|
+
};
|
|
50
|
+
this.knownLaws = new Map();
|
|
51
|
+
this.bridgeEquations = new Map();
|
|
52
|
+
this.emergentPhenomena = new Map();
|
|
53
|
+
this.tensorData = new Map();
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Add a known physical law to the tensor.
|
|
57
|
+
* Returns true if newly added, false if it replaced an existing law with the same id.
|
|
58
|
+
* If replacing, stale cell entries from the previous law are removed first.
|
|
59
|
+
*/
|
|
60
|
+
addLaw(law) {
|
|
61
|
+
this.validateId(law.id, 'PhysicalLaw');
|
|
62
|
+
if (!(law.confidence >= 0 && law.confidence <= 1)) {
|
|
63
|
+
throw new RangeError(`PhysicalLaw.confidence must be in [0,1]; got ${law.confidence}`);
|
|
64
|
+
}
|
|
65
|
+
this.validateAxisMembership(law.scales, 'scales', this.config.scales);
|
|
66
|
+
this.validateAxisMembership(law.forces, 'forces', this.config.forces);
|
|
67
|
+
this.validateAxisMembership(law.symmetries, 'symmetries', this.config.symmetries);
|
|
68
|
+
this.validateAxisMembership(law.informationMeasures, 'informationMeasures', this.config.informationMeasures);
|
|
69
|
+
this.validateFiniteIntegerArray(law.dimensions, 'dimensions');
|
|
70
|
+
this.validateFiniteIntegerArray(law.topologies, 'topologies');
|
|
71
|
+
const previous = this.knownLaws.get(law.id);
|
|
72
|
+
if (previous) {
|
|
73
|
+
// Remove stale cell entries from the prior version before writing new ones.
|
|
74
|
+
for (const scale of previous.scales) {
|
|
75
|
+
for (const force of previous.forces) {
|
|
76
|
+
this.removeFromCell(this.serializeIndices({ scale, force }), law.id);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
this.knownLaws.set(law.id, law);
|
|
81
|
+
// Store in diagonal elements for all scale/force combinations.
|
|
82
|
+
// Multiple laws may occupy the same cell; we accumulate rather than overwrite.
|
|
83
|
+
for (const scale of law.scales) {
|
|
84
|
+
for (const force of law.forces) {
|
|
85
|
+
const key = this.serializeIndices({ scale, force });
|
|
86
|
+
this.addToCell(key, law.id);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return previous === undefined;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Add a bridge equation connecting regimes.
|
|
93
|
+
* Returns true if newly added, false if it replaced an existing bridge with the same id.
|
|
94
|
+
* If replacing, stale cell entries from the previous bridge are removed first.
|
|
95
|
+
*/
|
|
96
|
+
addBridge(bridge) {
|
|
97
|
+
this.validateId(bridge.id, 'BridgeEquation');
|
|
98
|
+
if (!(bridge.confidence >= 0 && bridge.confidence <= 1)) {
|
|
99
|
+
throw new RangeError(`BridgeEquation.confidence must be in [0,1]; got ${bridge.confidence}`);
|
|
100
|
+
}
|
|
101
|
+
// Bridges are off-diagonal by definition — reject source == target
|
|
102
|
+
// (including the degenerate case where both are empty {}).
|
|
103
|
+
const sourceKey = this.serializeIndices(bridge.source);
|
|
104
|
+
const targetKey = this.serializeIndices(bridge.target);
|
|
105
|
+
if (sourceKey === targetKey) {
|
|
106
|
+
throw new RangeError(`BridgeEquation source must differ from target in at least one index; id=${bridge.id}` +
|
|
107
|
+
(sourceKey === '' ? ' (both were empty {})' : ''));
|
|
108
|
+
}
|
|
109
|
+
const previous = this.bridgeEquations.get(bridge.id);
|
|
110
|
+
if (previous) {
|
|
111
|
+
this.removeFromCell(this.bridgeCellKey(previous.source, previous.target), bridge.id);
|
|
112
|
+
}
|
|
113
|
+
this.bridgeEquations.set(bridge.id, bridge);
|
|
114
|
+
// Store in off-diagonal elements. Multiple bridges between the same
|
|
115
|
+
// source/target regime pair are accumulated in the same cell.
|
|
116
|
+
this.addToCell(this.bridgeCellKey(bridge.source, bridge.target), bridge.id);
|
|
117
|
+
return previous === undefined;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Reject empty or whitespace-only IDs — almost always caller error.
|
|
121
|
+
*/
|
|
122
|
+
validateId(id, kind) {
|
|
123
|
+
if (typeof id !== 'string' || id.trim() === '') {
|
|
124
|
+
throw new TypeError(`${kind}.id must be a non-empty string`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Reject axis values that are not declared in the tensor's config.
|
|
129
|
+
* Prevents silent drift between TensorConfig (declared axes) and actual stored content.
|
|
130
|
+
*/
|
|
131
|
+
validateAxisMembership(values, axisName, declared) {
|
|
132
|
+
if (!values)
|
|
133
|
+
return;
|
|
134
|
+
for (const v of values) {
|
|
135
|
+
if (!declared.includes(v)) {
|
|
136
|
+
throw new RangeError(`${axisName} value '${v}' is not declared in TensorConfig.${axisName}=[${declared.join(', ')}]`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Reject non-finite or non-integer numeric axis values (dimensions, topologies).
|
|
142
|
+
* Integer values (including 0, negative integers) are allowed;
|
|
143
|
+
* NaN, Infinity, and non-integers are rejected.
|
|
144
|
+
*/
|
|
145
|
+
validateFiniteIntegerArray(values, axisName) {
|
|
146
|
+
if (!values)
|
|
147
|
+
return;
|
|
148
|
+
for (const v of values) {
|
|
149
|
+
if (!Number.isFinite(v) || !Number.isInteger(v)) {
|
|
150
|
+
throw new RangeError(`${axisName} values must be finite integers; got ${v}`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Compose the cell key for a bridge equation's source→target indices.
|
|
156
|
+
*/
|
|
157
|
+
bridgeCellKey(source, target) {
|
|
158
|
+
return this.serializeIndices(source) + ' -> ' + this.serializeIndices(target);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Accumulate an equation ID into the tensor cell at the given key.
|
|
162
|
+
* Creates a new Set if the cell is empty.
|
|
163
|
+
*/
|
|
164
|
+
addToCell(key, equationId) {
|
|
165
|
+
let cell = this.tensorData.get(key);
|
|
166
|
+
if (!cell) {
|
|
167
|
+
cell = new Set();
|
|
168
|
+
this.tensorData.set(key, cell);
|
|
169
|
+
}
|
|
170
|
+
cell.add(equationId);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Remove an equation ID from a tensor cell. Prunes empty cells.
|
|
174
|
+
*/
|
|
175
|
+
removeFromCell(key, equationId) {
|
|
176
|
+
const cell = this.tensorData.get(key);
|
|
177
|
+
if (!cell)
|
|
178
|
+
return;
|
|
179
|
+
cell.delete(equationId);
|
|
180
|
+
if (cell.size === 0)
|
|
181
|
+
this.tensorData.delete(key);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Add an emergent phenomenon.
|
|
185
|
+
* Returns true if newly added, false if it replaced an existing phenomenon.
|
|
186
|
+
*/
|
|
187
|
+
addEmergence(phenomenon) {
|
|
188
|
+
this.validateId(phenomenon.id, 'EmergentPhenomenon');
|
|
189
|
+
if (!Number.isInteger(phenomenon.order) || phenomenon.order < 3) {
|
|
190
|
+
throw new RangeError(`EmergentPhenomenon.order must be an integer >= 3 (higher-order correlations); got ${phenomenon.order}`);
|
|
191
|
+
}
|
|
192
|
+
if (!(phenomenon.confidence >= 0 && phenomenon.confidence <= 1)) {
|
|
193
|
+
throw new RangeError(`EmergentPhenomenon.confidence must be in [0,1]; got ${phenomenon.confidence}`);
|
|
194
|
+
}
|
|
195
|
+
const previous = this.emergentPhenomena.get(phenomenon.id);
|
|
196
|
+
if (previous) {
|
|
197
|
+
for (const indices of previous.indices) {
|
|
198
|
+
const key = this.serializeIndices(indices);
|
|
199
|
+
if (key)
|
|
200
|
+
this.removeFromCell(key, phenomenon.id);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
this.emergentPhenomena.set(phenomenon.id, phenomenon);
|
|
204
|
+
// Populate tensorData at each declared index-tuple, matching the L and B
|
|
205
|
+
// components' storage pattern so the Π = L + B + E decomposition is
|
|
206
|
+
// uniformly represented in the sparse tensor.
|
|
207
|
+
for (const indices of phenomenon.indices) {
|
|
208
|
+
const key = this.serializeIndices(indices);
|
|
209
|
+
if (key)
|
|
210
|
+
this.addToCell(key, phenomenon.id);
|
|
211
|
+
}
|
|
212
|
+
return previous === undefined;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Return the IDs of laws and emergent phenomena stored at the diagonal cell
|
|
216
|
+
* addressed by the given indices.
|
|
217
|
+
* For bridge-equation cells (off-diagonal, source→target), use getBridgeCellContents instead.
|
|
218
|
+
*/
|
|
219
|
+
getCellContents(indices) {
|
|
220
|
+
const key = this.serializeIndices(indices);
|
|
221
|
+
const cell = this.tensorData.get(key);
|
|
222
|
+
return cell ? Array.from(cell) : [];
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Return the IDs of bridge equations stored at the off-diagonal cell
|
|
226
|
+
* addressed by the given source/target indices.
|
|
227
|
+
*/
|
|
228
|
+
getBridgeCellContents(source, target) {
|
|
229
|
+
const key = this.bridgeCellKey(source, target);
|
|
230
|
+
const cell = this.tensorData.get(key);
|
|
231
|
+
return cell ? Array.from(cell) : [];
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Query tensor for laws applicable to specific regime
|
|
235
|
+
*/
|
|
236
|
+
queryLaws(indices) {
|
|
237
|
+
const results = [];
|
|
238
|
+
for (const law of this.knownLaws.values()) {
|
|
239
|
+
if (this.lawMatchesQuery(law, indices)) {
|
|
240
|
+
results.push(law);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return results;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Find bridge equations connecting two regimes
|
|
247
|
+
*/
|
|
248
|
+
findBridges(source, target) {
|
|
249
|
+
const results = [];
|
|
250
|
+
for (const bridge of this.bridgeEquations.values()) {
|
|
251
|
+
if (this.indicesMatch(bridge.source, source) &&
|
|
252
|
+
this.indicesMatch(bridge.target, target)) {
|
|
253
|
+
results.push(bridge);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return results;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Get all known laws
|
|
260
|
+
*/
|
|
261
|
+
getLaws() {
|
|
262
|
+
return Array.from(this.knownLaws.values());
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Get all bridge equations
|
|
266
|
+
*/
|
|
267
|
+
getBridges() {
|
|
268
|
+
return Array.from(this.bridgeEquations.values());
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Get all emergent phenomena
|
|
272
|
+
*/
|
|
273
|
+
getEmergence() {
|
|
274
|
+
return Array.from(this.emergentPhenomena.values());
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Get tensor statistics
|
|
278
|
+
*/
|
|
279
|
+
getStats() {
|
|
280
|
+
// occupiedCells = number of distinct (diagonal or off-diagonal) tensor cells
|
|
281
|
+
// that hold at least one equation ID. Each cell may hold multiple IDs (Set).
|
|
282
|
+
let totalEntries = 0;
|
|
283
|
+
for (const cell of this.tensorData.values())
|
|
284
|
+
totalEntries += cell.size;
|
|
285
|
+
return {
|
|
286
|
+
rank: this.config.rank,
|
|
287
|
+
knownLaws: this.knownLaws.size,
|
|
288
|
+
bridgeEquations: this.bridgeEquations.size,
|
|
289
|
+
emergentPhenomena: this.emergentPhenomena.size,
|
|
290
|
+
occupiedCells: this.tensorData.size,
|
|
291
|
+
totalEntries,
|
|
292
|
+
sparse: this.config.sparse,
|
|
293
|
+
/** @deprecated use occupiedCells (cell count) or totalEntries (sum of set sizes) */
|
|
294
|
+
totalElements: this.tensorData.size,
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Serialize tensor indices to string key.
|
|
299
|
+
* Uses !== undefined checks so that dimension/topology values of 0
|
|
300
|
+
* (e.g., trivial winding number, genus-0 surface) are preserved.
|
|
301
|
+
*/
|
|
302
|
+
serializeIndices(indices) {
|
|
303
|
+
const parts = [];
|
|
304
|
+
if (indices.scale !== undefined)
|
|
305
|
+
parts.push(`scale:${indices.scale}`);
|
|
306
|
+
if (indices.force !== undefined)
|
|
307
|
+
parts.push(`force:${indices.force}`);
|
|
308
|
+
if (indices.symmetry !== undefined)
|
|
309
|
+
parts.push(`sym:${indices.symmetry}`);
|
|
310
|
+
if (indices.information !== undefined)
|
|
311
|
+
parts.push(`info:${indices.information}`);
|
|
312
|
+
if (indices.dimension !== undefined)
|
|
313
|
+
parts.push(`dim:${indices.dimension}`);
|
|
314
|
+
if (indices.topology !== undefined)
|
|
315
|
+
parts.push(`topo:${indices.topology}`);
|
|
316
|
+
return parts.join('|');
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Check if a law matches query indices.
|
|
320
|
+
* If the query specifies an index dimension that the law does not declare
|
|
321
|
+
* (e.g., the law has no informationMeasures but the query asks for one),
|
|
322
|
+
* the law is excluded — querying on an undeclared index cannot match.
|
|
323
|
+
*/
|
|
324
|
+
lawMatchesQuery(law, query) {
|
|
325
|
+
if (query.scale && !law.scales.includes(query.scale)) {
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
if (query.force && !law.forces.includes(query.force)) {
|
|
329
|
+
return false;
|
|
330
|
+
}
|
|
331
|
+
if (query.symmetry && !law.symmetries.includes(query.symmetry)) {
|
|
332
|
+
return false;
|
|
333
|
+
}
|
|
334
|
+
if (query.information) {
|
|
335
|
+
if (!law.informationMeasures || !law.informationMeasures.includes(query.information)) {
|
|
336
|
+
return false;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
if (query.dimension !== undefined) {
|
|
340
|
+
if (!law.dimensions || !law.dimensions.includes(query.dimension)) {
|
|
341
|
+
return false;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
if (query.topology !== undefined) {
|
|
345
|
+
if (!law.topologies || !law.topologies.includes(query.topology)) {
|
|
346
|
+
return false;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
return true;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Check if two tensor indices match
|
|
353
|
+
*/
|
|
354
|
+
indicesMatch(a, b) {
|
|
355
|
+
if (b.scale && a.scale !== b.scale) {
|
|
356
|
+
return false;
|
|
357
|
+
}
|
|
358
|
+
if (b.force && a.force !== b.force) {
|
|
359
|
+
return false;
|
|
360
|
+
}
|
|
361
|
+
if (b.symmetry && a.symmetry !== b.symmetry) {
|
|
362
|
+
return false;
|
|
363
|
+
}
|
|
364
|
+
if (b.information && a.information !== b.information) {
|
|
365
|
+
return false;
|
|
366
|
+
}
|
|
367
|
+
if (b.dimension !== undefined && a.dimension !== b.dimension) {
|
|
368
|
+
return false;
|
|
369
|
+
}
|
|
370
|
+
if (b.topology !== undefined && a.topology !== b.topology) {
|
|
371
|
+
return false;
|
|
372
|
+
}
|
|
373
|
+
return true;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
//# sourceMappingURL=tensor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tensor.js","sourceRoot":"","sources":["../../src/core/tensor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core types for Universal Physics Tensor Framework
|
|
3
|
+
*
|
|
4
|
+
* These types define the fundamental structure of the tensor and its components.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Physical scales represented in the tensor
|
|
8
|
+
*/
|
|
9
|
+
export type PhysicalScale = 'quantum' | 'mesoscopic' | 'classical' | 'cosmological';
|
|
10
|
+
/**
|
|
11
|
+
* Fundamental forces
|
|
12
|
+
*/
|
|
13
|
+
export type Force = 'gravitational' | 'electromagnetic' | 'weak' | 'strong' | 'emergent';
|
|
14
|
+
/**
|
|
15
|
+
* Symmetry types
|
|
16
|
+
*/
|
|
17
|
+
export type Symmetry = 'poincare' | 'gauge' | 'conformal' | 'susy' | 'emergent';
|
|
18
|
+
/**
|
|
19
|
+
* Information measures
|
|
20
|
+
*/
|
|
21
|
+
export type InformationMeasure = 'vonNeumann' | 'shannon' | 'kolmogorov' | 'quantumDiscord';
|
|
22
|
+
/**
|
|
23
|
+
* Tensor configuration for initialization
|
|
24
|
+
*/
|
|
25
|
+
export interface TensorConfig {
|
|
26
|
+
/** Tensor rank (3-6) */
|
|
27
|
+
rank: 3 | 4 | 5 | 6;
|
|
28
|
+
/** Physical scales to include */
|
|
29
|
+
scales: PhysicalScale[];
|
|
30
|
+
/** Forces to include */
|
|
31
|
+
forces: Force[];
|
|
32
|
+
/** Symmetries to consider */
|
|
33
|
+
symmetries?: Symmetry[];
|
|
34
|
+
/** Information measures to track */
|
|
35
|
+
informationMeasures?: InformationMeasure[];
|
|
36
|
+
/** Enable sparse representation for memory efficiency */
|
|
37
|
+
sparse?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Tensor indices for addressing specific components
|
|
41
|
+
*/
|
|
42
|
+
export interface TensorIndices {
|
|
43
|
+
scale?: PhysicalScale;
|
|
44
|
+
force?: Force;
|
|
45
|
+
symmetry?: Symmetry;
|
|
46
|
+
information?: InformationMeasure;
|
|
47
|
+
dimension?: number;
|
|
48
|
+
topology?: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Known physical law representation
|
|
52
|
+
*/
|
|
53
|
+
export interface PhysicalLaw {
|
|
54
|
+
/** Unique identifier */
|
|
55
|
+
id: string;
|
|
56
|
+
/** Human-readable name */
|
|
57
|
+
name: string;
|
|
58
|
+
/** Mathematical formulation (LaTeX) */
|
|
59
|
+
equation: string;
|
|
60
|
+
/** Applicable scales */
|
|
61
|
+
scales: PhysicalScale[];
|
|
62
|
+
/** Involved forces */
|
|
63
|
+
forces: Force[];
|
|
64
|
+
/** Required symmetries */
|
|
65
|
+
symmetries: Symmetry[];
|
|
66
|
+
/** Confidence level (0-1) */
|
|
67
|
+
confidence: number;
|
|
68
|
+
/** Applicable information measures (optional) */
|
|
69
|
+
informationMeasures?: InformationMeasure[];
|
|
70
|
+
/** Applicable spatial/spacetime dimensions (optional) */
|
|
71
|
+
dimensions?: number[];
|
|
72
|
+
/** Applicable topological invariants (optional) */
|
|
73
|
+
topologies?: number[];
|
|
74
|
+
/** References to experimental validation */
|
|
75
|
+
references?: string[];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Bridge equation connecting different regimes
|
|
79
|
+
*/
|
|
80
|
+
export interface BridgeEquation {
|
|
81
|
+
/** Unique identifier */
|
|
82
|
+
id: string;
|
|
83
|
+
/** Name */
|
|
84
|
+
name: string;
|
|
85
|
+
/** Source regime indices */
|
|
86
|
+
source: TensorIndices;
|
|
87
|
+
/** Target regime indices */
|
|
88
|
+
target: TensorIndices;
|
|
89
|
+
/** Mathematical formulation */
|
|
90
|
+
equation: string;
|
|
91
|
+
/** Theoretical confidence (0-1) */
|
|
92
|
+
confidence: number;
|
|
93
|
+
/** Experimental validation status */
|
|
94
|
+
validated: boolean;
|
|
95
|
+
/** Context and description */
|
|
96
|
+
description: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Emergent phenomenon from higher-order correlations
|
|
100
|
+
*/
|
|
101
|
+
export interface EmergentPhenomenon {
|
|
102
|
+
/** Unique identifier */
|
|
103
|
+
id: string;
|
|
104
|
+
/** Name */
|
|
105
|
+
name: string;
|
|
106
|
+
/** Order of correlation (≥3) */
|
|
107
|
+
order: number;
|
|
108
|
+
/** Involved indices */
|
|
109
|
+
indices: TensorIndices[];
|
|
110
|
+
/** Mathematical description */
|
|
111
|
+
description: string;
|
|
112
|
+
/** Prediction confidence */
|
|
113
|
+
confidence: number;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Physical constants used in computations
|
|
117
|
+
*/
|
|
118
|
+
export declare const PhysicalConstants: {
|
|
119
|
+
readonly c: 299792458;
|
|
120
|
+
readonly h: 6.62607015e-34;
|
|
121
|
+
readonly hbar: 1.054571817e-34;
|
|
122
|
+
readonly G: 6.6743e-11;
|
|
123
|
+
readonly kB: 1.380649e-23;
|
|
124
|
+
readonly e: 1.602176634e-19;
|
|
125
|
+
readonly alpha: 0.0072973525693;
|
|
126
|
+
readonly lP: 1.616255e-35;
|
|
127
|
+
readonly tP: 5.391247e-44;
|
|
128
|
+
readonly mP: 2.176434e-8;
|
|
129
|
+
readonly H0: 2.184e-18;
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,YAAY,GACZ,WAAW,GACX,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,KAAK,GACb,eAAe,GACf,iBAAiB,GACjB,MAAM,GACN,QAAQ,GACR,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,OAAO,GACP,WAAW,GACX,MAAM,GACN,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,gBAAgB,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEpB,iCAAiC;IACjC,MAAM,EAAE,aAAa,EAAE,CAAC;IAExB,wBAAwB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IAExB,oCAAoC;IACpC,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAE3C,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IAEX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IAEjB,wBAAwB;IACxB,MAAM,EAAE,aAAa,EAAE,CAAC;IAExB,sBAAsB;IACtB,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB,0BAA0B;IAC1B,UAAU,EAAE,QAAQ,EAAE,CAAC;IAEvB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IAEnB,iDAAiD;IACjD,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAE3C,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IAEX,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IAEb,4BAA4B;IAC5B,MAAM,EAAE,aAAa,CAAC;IAEtB,4BAA4B;IAC5B,MAAM,EAAE,aAAa,CAAC;IAEtB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IAEjB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IAEnB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IAEX,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,OAAO,EAAE,aAAa,EAAE,CAAC;IAEzB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IAEpB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;CAiBpB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core types for Universal Physics Tensor Framework
|
|
3
|
+
*
|
|
4
|
+
* These types define the fundamental structure of the tensor and its components.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Physical constants used in computations
|
|
8
|
+
*/
|
|
9
|
+
export const PhysicalConstants = {
|
|
10
|
+
// Fundamental constants
|
|
11
|
+
c: 299792458, // Speed of light (m/s)
|
|
12
|
+
h: 6.62607015e-34, // Planck constant (J⋅s)
|
|
13
|
+
hbar: 1.054571817e-34, // Reduced Planck constant (J⋅s)
|
|
14
|
+
G: 6.67430e-11, // Gravitational constant (m³/kg⋅s²)
|
|
15
|
+
kB: 1.380649e-23, // Boltzmann constant (J/K)
|
|
16
|
+
e: 1.602176634e-19, // Elementary charge (C)
|
|
17
|
+
// Derived constants
|
|
18
|
+
alpha: 7.2973525693e-3, // Fine structure constant (≈1/137)
|
|
19
|
+
lP: 1.616255e-35, // Planck length (m)
|
|
20
|
+
tP: 5.391247e-44, // Planck time (s)
|
|
21
|
+
mP: 2.176434e-8, // Planck mass (kg)
|
|
22
|
+
// Cosmological
|
|
23
|
+
H0: 2.184e-18, // Hubble constant (s⁻¹) ≈ 67.4 km/s/Mpc (Planck 2018 CMB, Aghanim et al. A&A 641 A6 2020; SH0ES local measurement gives ~73.0 ± 1.0 km/s/Mpc — the "Hubble tension")
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqKH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,wBAAwB;IACxB,CAAC,EAAE,SAAS,EAAe,uBAAuB;IAClD,CAAC,EAAE,cAAc,EAAU,wBAAwB;IACnD,IAAI,EAAE,eAAe,EAAM,gCAAgC;IAC3D,CAAC,EAAE,WAAW,EAAa,oCAAoC;IAC/D,EAAE,EAAE,YAAY,EAAW,2BAA2B;IACtD,CAAC,EAAE,eAAe,EAAS,wBAAwB;IAEnD,oBAAoB;IACpB,KAAK,EAAE,eAAe,EAAK,mCAAmC;IAC9D,EAAE,EAAE,YAAY,EAAW,oBAAoB;IAC/C,EAAE,EAAE,YAAY,EAAW,kBAAkB;IAC7C,EAAE,EAAE,WAAW,EAAY,mBAAmB;IAE9C,eAAe;IACf,EAAE,EAAE,SAAS,EAAc,qKAAqK;CACxL,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dimensional algebra: per-base-exponent arithmetic.
|
|
3
|
+
*
|
|
4
|
+
* Operations follow standard dimensional analysis (Bridgman, "Dimensional Analysis", 1922):
|
|
5
|
+
* - multiply: add exponents per base
|
|
6
|
+
* - divide: subtract exponents per base
|
|
7
|
+
* - power: scale exponents by the scalar `n`
|
|
8
|
+
* - add/sub: permitted only when both operands have the same dimension
|
|
9
|
+
*
|
|
10
|
+
* @module dimensional/algebra
|
|
11
|
+
*/
|
|
12
|
+
import { Dimension } from './types.js';
|
|
13
|
+
import { DimensionMismatchError } from './errors.js';
|
|
14
|
+
/** Re-exported for backward compatibility with consumers that import
|
|
15
|
+
* `DimensionMismatchError` from `algebra.js`. The canonical definition
|
|
16
|
+
* now lives in `errors.ts` alongside the new `UPTError` base class. */
|
|
17
|
+
export { DimensionMismatchError };
|
|
18
|
+
export declare function multiply(a: Dimension, b: Dimension): Dimension;
|
|
19
|
+
export declare function divide(a: Dimension, b: Dimension): Dimension;
|
|
20
|
+
export declare function power(a: Dimension, n: number): Dimension;
|
|
21
|
+
export declare function equals(a: Dimension, b: Dimension): boolean;
|
|
22
|
+
export declare function add(a: Dimension, b: Dimension): Dimension;
|
|
23
|
+
export declare function subtract(a: Dimension, b: Dimension): Dimension;
|
|
24
|
+
/**
|
|
25
|
+
* Format a `Dimension` for human display.
|
|
26
|
+
*
|
|
27
|
+
* Strategy:
|
|
28
|
+
* 1. If `d` matches a named SI dimension exactly, return e.g. "[energy]".
|
|
29
|
+
* "dimensionless" is rendered as "[1]" for compactness.
|
|
30
|
+
* 2. Otherwise emit the bracketed product form, e.g. "[M L^2 T^-2]".
|
|
31
|
+
* Bases with exponent 0 are omitted; exponent 1 is written without "^1".
|
|
32
|
+
*/
|
|
33
|
+
export declare function format(d: Dimension): string;
|
|
34
|
+
//# sourceMappingURL=algebra.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"algebra.d.ts","sourceRoot":"","sources":["../../src/dimensional/algebra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAoB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD;;wEAEwE;AACxE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAKlC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CAM9D;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CAM5D;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAMxD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAK1D;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CASzD;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CAS9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAgB3C"}
|