universal-physics-tensor 0.44.1 → 0.44.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -164
- package/dist/bridges/bridge-equations.d.ts +28 -6
- package/dist/bridges/bridge-equations.d.ts.map +1 -1
- package/dist/bridges/bridge-equations.js +30 -8
- package/dist/bridges/bridge-equations.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/probe.d.ts +3 -0
- package/dist/cli/commands/probe.d.ts.map +1 -0
- package/dist/cli/commands/probe.js +169 -0
- package/dist/cli/commands/probe.js.map +1 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +5 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli-api.d.ts +1 -0
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +3 -0
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/probe/backend-protocol.d.ts +31 -0
- package/dist/composition/probe/backend-protocol.d.ts.map +1 -0
- package/dist/composition/probe/backend-protocol.js +83 -0
- package/dist/composition/probe/backend-protocol.js.map +1 -0
- package/dist/composition/probe/candidate-store.d.ts +33 -0
- package/dist/composition/probe/candidate-store.d.ts.map +1 -0
- package/dist/composition/probe/candidate-store.js +110 -0
- package/dist/composition/probe/candidate-store.js.map +1 -0
- package/dist/composition/probe/corpus.d.ts +23 -0
- package/dist/composition/probe/corpus.d.ts.map +1 -0
- package/dist/composition/probe/corpus.js +51 -0
- package/dist/composition/probe/corpus.js.map +1 -0
- package/dist/composition/probe/dataset.d.ts +35 -0
- package/dist/composition/probe/dataset.d.ts.map +1 -0
- package/dist/composition/probe/dataset.js +154 -0
- package/dist/composition/probe/dataset.js.map +1 -0
- package/dist/composition/probe/experiment-design.d.ts +32 -0
- package/dist/composition/probe/experiment-design.d.ts.map +1 -0
- package/dist/composition/probe/experiment-design.js +86 -0
- package/dist/composition/probe/experiment-design.js.map +1 -0
- package/dist/composition/probe/falsify.d.ts +29 -0
- package/dist/composition/probe/falsify.d.ts.map +1 -0
- package/dist/composition/probe/falsify.js +142 -0
- package/dist/composition/probe/falsify.js.map +1 -0
- package/dist/composition/probe/fingerprint.d.ts +20 -0
- package/dist/composition/probe/fingerprint.d.ts.map +1 -0
- package/dist/composition/probe/fingerprint.js +99 -0
- package/dist/composition/probe/fingerprint.js.map +1 -0
- package/dist/composition/probe/fit.d.ts +23 -0
- package/dist/composition/probe/fit.d.ts.map +1 -0
- package/dist/composition/probe/fit.js +92 -0
- package/dist/composition/probe/fit.js.map +1 -0
- package/dist/composition/probe/frontier.d.ts +30 -0
- package/dist/composition/probe/frontier.d.ts.map +1 -0
- package/dist/composition/probe/frontier.js +169 -0
- package/dist/composition/probe/frontier.js.map +1 -0
- package/dist/composition/probe/generator.d.ts +26 -0
- package/dist/composition/probe/generator.d.ts.map +1 -0
- package/dist/composition/probe/generator.js +123 -0
- package/dist/composition/probe/generator.js.map +1 -0
- package/dist/composition/probe/index.d.ts +49 -0
- package/dist/composition/probe/index.d.ts.map +1 -0
- package/dist/composition/probe/index.js +35 -0
- package/dist/composition/probe/index.js.map +1 -0
- package/dist/composition/probe/limits.d.ts +27 -0
- package/dist/composition/probe/limits.d.ts.map +1 -0
- package/dist/composition/probe/limits.js +71 -0
- package/dist/composition/probe/limits.js.map +1 -0
- package/dist/composition/probe/metadata.d.ts +19 -0
- package/dist/composition/probe/metadata.d.ts.map +1 -0
- package/dist/composition/probe/metadata.js +30 -0
- package/dist/composition/probe/metadata.js.map +1 -0
- package/dist/composition/probe/pipeline.d.ts +42 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -0
- package/dist/composition/probe/pipeline.js +307 -0
- package/dist/composition/probe/pipeline.js.map +1 -0
- package/dist/composition/probe/problem.d.ts +40 -0
- package/dist/composition/probe/problem.d.ts.map +1 -0
- package/dist/composition/probe/problem.js +101 -0
- package/dist/composition/probe/problem.js.map +1 -0
- package/dist/composition/probe/report.d.ts +15 -0
- package/dist/composition/probe/report.d.ts.map +1 -0
- package/dist/composition/probe/report.js +91 -0
- package/dist/composition/probe/report.js.map +1 -0
- package/dist/composition/probe/residual.d.ts +20 -0
- package/dist/composition/probe/residual.d.ts.map +1 -0
- package/dist/composition/probe/residual.js +72 -0
- package/dist/composition/probe/residual.js.map +1 -0
- package/dist/composition/probe/run-manifest.d.ts +24 -0
- package/dist/composition/probe/run-manifest.d.ts.map +1 -0
- package/dist/composition/probe/run-manifest.js +48 -0
- package/dist/composition/probe/run-manifest.js.map +1 -0
- package/dist/composition/probe/scoring.d.ts +19 -0
- package/dist/composition/probe/scoring.d.ts.map +1 -0
- package/dist/composition/probe/scoring.js +55 -0
- package/dist/composition/probe/scoring.js.map +1 -0
- package/dist/composition/probe/search-budget.d.ts +26 -0
- package/dist/composition/probe/search-budget.d.ts.map +1 -0
- package/dist/composition/probe/search-budget.js +36 -0
- package/dist/composition/probe/search-budget.js.map +1 -0
- package/dist/composition/probe/serialize.d.ts +33 -0
- package/dist/composition/probe/serialize.d.ts.map +1 -0
- package/dist/composition/probe/serialize.js +61 -0
- package/dist/composition/probe/serialize.js.map +1 -0
- package/dist/composition/probe/structure.d.ts +51 -0
- package/dist/composition/probe/structure.d.ts.map +1 -0
- package/dist/composition/probe/structure.js +93 -0
- package/dist/composition/probe/structure.js.map +1 -0
- package/dist/composition/probe/types.d.ts +281 -0
- package/dist/composition/probe/types.d.ts.map +1 -0
- package/dist/composition/probe/types.js +23 -0
- package/dist/composition/probe/types.js.map +1 -0
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +22 -2
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/numerical/float64-engine.d.ts.map +1 -1
- package/dist/numerical/float64-engine.js +22 -8
- package/dist/numerical/float64-engine.js.map +1 -1
- package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
- package/dist/numerical/geodesic-integrator.js +85 -14
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +2 -0
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +345 -156
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/weyl-lowering.d.ts.map +1 -1
- package/dist/numerical/weyl-lowering.js +158 -48
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/package.json +15 -5
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cheap structure probes: regime changepoint, scale symmetry, conserved dQ/dt.
|
|
3
|
+
*
|
|
4
|
+
* Task-0 style: recover a synthetic signal or honestly abstain. Never flips
|
|
5
|
+
* `axes.ts` `gated`.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Two-mean changepoint: scan split index maximizing |μ_left − μ_right|.
|
|
11
|
+
* Abstains on short series or when the best split is weaker than `minScore`.
|
|
12
|
+
*
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export function detectMeanChangepoint(input, minScore = 0.5) {
|
|
16
|
+
const { x, y } = input;
|
|
17
|
+
if (x.length !== y.length || x.length < 6) {
|
|
18
|
+
return { index: null, score: 0, abstained: true, reason: 'series too short' };
|
|
19
|
+
}
|
|
20
|
+
let bestIdx = 1;
|
|
21
|
+
let best = 0;
|
|
22
|
+
for (let i = 2; i < y.length - 2; i++) {
|
|
23
|
+
const left = y.slice(0, i);
|
|
24
|
+
const right = y.slice(i);
|
|
25
|
+
const μL = left.reduce((a, b) => a + b, 0) / left.length;
|
|
26
|
+
const μR = right.reduce((a, b) => a + b, 0) / right.length;
|
|
27
|
+
const score = Math.abs(μL - μR);
|
|
28
|
+
if (score > best) {
|
|
29
|
+
best = score;
|
|
30
|
+
bestIdx = i;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (best < minScore) {
|
|
34
|
+
return { index: null, score: best, abstained: true, reason: 'no changepoint above threshold' };
|
|
35
|
+
}
|
|
36
|
+
return { index: bestIdx, score: best, abstained: false };
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Ordinary-least-squares log-log slope. Abstains if x or y are non-positive.
|
|
40
|
+
*
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export function estimateScaleExponent(input) {
|
|
44
|
+
const pairs = input.x
|
|
45
|
+
.map((x, i) => [x, input.y[i]])
|
|
46
|
+
.filter(([x, y]) => x > 0 && y > 0);
|
|
47
|
+
if (pairs.length < 3) {
|
|
48
|
+
return { exponent: null, abstained: true, reason: 'need ≥3 positive (x,y) pairs' };
|
|
49
|
+
}
|
|
50
|
+
const n = pairs.length;
|
|
51
|
+
let sX = 0;
|
|
52
|
+
let sY = 0;
|
|
53
|
+
let sXX = 0;
|
|
54
|
+
let sXY = 0;
|
|
55
|
+
for (const [x, y] of pairs) {
|
|
56
|
+
const lx = Math.log(x);
|
|
57
|
+
const ly = Math.log(y);
|
|
58
|
+
sX += lx;
|
|
59
|
+
sY += ly;
|
|
60
|
+
sXX += lx * lx;
|
|
61
|
+
sXY += lx * ly;
|
|
62
|
+
}
|
|
63
|
+
const denom = n * sXX - sX * sX;
|
|
64
|
+
if (Math.abs(denom) < 1e-18) {
|
|
65
|
+
return { exponent: null, abstained: true, reason: 'degenerate log-x variance' };
|
|
66
|
+
}
|
|
67
|
+
return { exponent: (n * sXY - sX * sY) / denom, abstained: false };
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Finite-difference conservation probe: mean |ΔQ/Δt| ≈ 0.
|
|
71
|
+
*
|
|
72
|
+
* @internal
|
|
73
|
+
*/
|
|
74
|
+
export function probeConservation(q, t, atol = 1e-6) {
|
|
75
|
+
if (q.length !== t.length || q.length < 2) {
|
|
76
|
+
return { conserved: false, meanAbsRate: NaN, abstained: true, reason: 'need ≥2 samples' };
|
|
77
|
+
}
|
|
78
|
+
let acc = 0;
|
|
79
|
+
let n = 0;
|
|
80
|
+
for (let i = 1; i < q.length; i++) {
|
|
81
|
+
const dt = t[i] - t[i - 1];
|
|
82
|
+
if (dt === 0)
|
|
83
|
+
continue;
|
|
84
|
+
acc += Math.abs((q[i] - q[i - 1]) / dt);
|
|
85
|
+
n += 1;
|
|
86
|
+
}
|
|
87
|
+
if (n === 0) {
|
|
88
|
+
return { conserved: false, meanAbsRate: NaN, abstained: true, reason: 'zero Δt' };
|
|
89
|
+
}
|
|
90
|
+
const meanAbsRate = acc / n;
|
|
91
|
+
return { conserved: meanAbsRate <= atol, meanAbsRate, abstained: false };
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=structure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../src/composition/probe/structure.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Product B (expression / residual search) experimental types.
|
|
3
|
+
* Orthogonal to Product A quantity identification (`discovery.ts`).
|
|
4
|
+
* Not re-exported from `src/index.ts`.
|
|
5
|
+
*
|
|
6
|
+
* @module composition/probe/types
|
|
7
|
+
*/
|
|
8
|
+
import type { Dimension } from '../../dimensional/types.js';
|
|
9
|
+
import type { ExprNode } from '../../dimensional/ast-types.js';
|
|
10
|
+
import type { IdentifiabilityResult } from '../identifiability.js';
|
|
11
|
+
/** Experimental probe JSON schema major. @internal */
|
|
12
|
+
export declare const SCHEMA_VERSION = "0";
|
|
13
|
+
/** Alias of {@link SCHEMA_VERSION}. @internal */
|
|
14
|
+
export declare const PROBE_SCHEMA_VERSION = "0";
|
|
15
|
+
/** Conservative Product B candidate lifecycle. Orthogonal to `AdjudicationVerdict`. @internal */
|
|
16
|
+
export type ProbeCandidateStatus = 'generated' | 'structurally-valid' | 'empirically-fit' | 'heldout-supported' | 'falsification-survivor' | 'expert-review-required' | 'rejected' | 'falsified' | 'equivalent-known' | 'insufficient-evidence';
|
|
17
|
+
/** Kind of a named scientific relation this overlay may point at. @internal */
|
|
18
|
+
export type RelationKind = 'definition' | 'canonical-equation' | 'bridge-equation' | 'approximation' | 'effective-relation' | 'phenomenological-relation' | 'computational-predicate' | 'candidate-hypothesis' | 'quantity-identification';
|
|
19
|
+
/** Audit completeness of a metadata claim. @internal */
|
|
20
|
+
export type AuditState = 'verified' | 'partially-verified' | 'not-yet-audited' | 'unknown' | 'not-applicable';
|
|
21
|
+
/** Mathematical meaning of a residual / discrepancy. @internal */
|
|
22
|
+
export type DiscrepancyKind = 'additive' | 'relative' | 'log-ratio' | 'standardized' | 'likelihood' | 'vector' | 'tensor' | 'distributional' | 'operator' | 'custom';
|
|
23
|
+
/** How a dataset may be used. Holdout must not influence generation. @internal */
|
|
24
|
+
export type DatasetRole = 'exploratory-fit' | 'validation-holdout' | 'external-replication' | 'falsification-only';
|
|
25
|
+
/** Why a bounded search terminated. `no-credible-candidate` is a success. @internal */
|
|
26
|
+
export type SearchStopReason = 'exhausted-space' | 'candidate-limit' | 'evaluation-limit' | 'time-limit' | 'memory-limit' | 'cancelled' | 'sufficient-candidates' | 'non-identifiable' | 'no-credible-candidate';
|
|
27
|
+
/** Typed frontier gap. `relation-link` wraps Product A; residual is Product B. @internal */
|
|
28
|
+
export type FrontierGapKind = 'prediction-residual' | 'relation-link' | 'regime-transition' | 'parameter-tension' | 'assumption-conflict' | 'missing-operator' | 'unexplained-observation' | 'model-disagreement' | 'causal-mechanism' | 'other';
|
|
29
|
+
/** Graph-structural vs parametric (Jacobian / design-matrix) identifiability. @internal */
|
|
30
|
+
export type IdentifiabilityKind = 'graph-structural' | 'parametric';
|
|
31
|
+
/** Hard caps on a Product B search. No search is unbounded. @internal */
|
|
32
|
+
export interface SearchBudget {
|
|
33
|
+
readonly maxCandidates: number;
|
|
34
|
+
readonly maxAstDepth: number;
|
|
35
|
+
readonly maxOperators: number;
|
|
36
|
+
readonly maxDerivativeOrder: number;
|
|
37
|
+
readonly maxEvaluations: number;
|
|
38
|
+
readonly maxWallClockMs: number;
|
|
39
|
+
readonly maxResidentMemoryBytes?: number;
|
|
40
|
+
readonly maxExternalProcesses?: number;
|
|
41
|
+
}
|
|
42
|
+
/** Default native-enumerator budget. @internal */
|
|
43
|
+
export declare const DEFAULT_SEARCH_BUDGET: SearchBudget;
|
|
44
|
+
/** Explicit residual semantics for a run or correction. @internal */
|
|
45
|
+
export interface DiscrepancyDefinition {
|
|
46
|
+
readonly kind: DiscrepancyKind;
|
|
47
|
+
readonly observableIds: readonly string[];
|
|
48
|
+
readonly covarianceRef?: string;
|
|
49
|
+
readonly implementationRef?: string;
|
|
50
|
+
}
|
|
51
|
+
/** Pointer at an existing relation; not a registry. @internal */
|
|
52
|
+
export interface ScientificRelationRef {
|
|
53
|
+
readonly kind: RelationKind;
|
|
54
|
+
readonly id: string;
|
|
55
|
+
}
|
|
56
|
+
/** Identifiability of a gap — two different questions; do not translate. @internal */
|
|
57
|
+
export interface IdentifiabilityAssessment {
|
|
58
|
+
readonly kind: IdentifiabilityKind;
|
|
59
|
+
/** Product A / relation-link: reuse `classifyIdentifiability()`. */
|
|
60
|
+
readonly graph?: IdentifiabilityResult;
|
|
61
|
+
/** Product B: Jacobian / design-matrix rank vs locked observations. */
|
|
62
|
+
readonly parametric?: {
|
|
63
|
+
readonly status: 'identifiable' | 'partially-identifiable' | 'non-identifiable' | 'unknown';
|
|
64
|
+
readonly rank?: number;
|
|
65
|
+
readonly nParameters?: number;
|
|
66
|
+
readonly nIndependentObservations?: number;
|
|
67
|
+
readonly reasons: readonly string[];
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/** Whether an expensive search is even warranted. @internal */
|
|
71
|
+
export interface SearchabilityAssessment {
|
|
72
|
+
readonly searchable: boolean;
|
|
73
|
+
readonly reasons: readonly string[];
|
|
74
|
+
}
|
|
75
|
+
/** Human-readable gap evidence with source ids. @internal */
|
|
76
|
+
export interface GapEvidence {
|
|
77
|
+
readonly summary: string;
|
|
78
|
+
readonly sourceIds: readonly string[];
|
|
79
|
+
}
|
|
80
|
+
/** Typed scientific gap (`fg-*`). Most `relation-link` / regime gaps wrap Product A. @internal */
|
|
81
|
+
export interface FrontierGap {
|
|
82
|
+
readonly id: string;
|
|
83
|
+
readonly kind: FrontierGapKind;
|
|
84
|
+
readonly participants: readonly ScientificRelationRef[];
|
|
85
|
+
readonly observations: readonly string[];
|
|
86
|
+
readonly regimes: readonly string[];
|
|
87
|
+
readonly assumptions: readonly string[];
|
|
88
|
+
readonly constraints: readonly string[];
|
|
89
|
+
readonly discrepancy?: DiscrepancyDefinition;
|
|
90
|
+
readonly evidence: GapEvidence;
|
|
91
|
+
readonly identifiability: IdentifiabilityAssessment;
|
|
92
|
+
readonly searchability: SearchabilityAssessment;
|
|
93
|
+
readonly status: 'identified' | 'searchable' | 'underdetermined' | 'resolved' | 'retired';
|
|
94
|
+
}
|
|
95
|
+
/** How a probe candidate entered the store. @internal */
|
|
96
|
+
export type ProbeCandidateOrigin = {
|
|
97
|
+
readonly kind: 'grammar-enumerator';
|
|
98
|
+
readonly runId: string;
|
|
99
|
+
} | {
|
|
100
|
+
readonly kind: 'external-backend';
|
|
101
|
+
readonly backendId: string;
|
|
102
|
+
readonly runId: string;
|
|
103
|
+
} | {
|
|
104
|
+
readonly kind: 'human-authored';
|
|
105
|
+
readonly source: string;
|
|
106
|
+
};
|
|
107
|
+
/** Discriminated candidate payload. Identifications stay `VettedCandidate`. @internal */
|
|
108
|
+
export type ProbeCandidateBody = {
|
|
109
|
+
readonly kind: 'scalar-expr';
|
|
110
|
+
readonly expression: ExprNode;
|
|
111
|
+
} | {
|
|
112
|
+
readonly kind: 'correction';
|
|
113
|
+
readonly baselineRef: ScientificRelationRef;
|
|
114
|
+
readonly correction: ExprNode;
|
|
115
|
+
readonly discrepancy: DiscrepancyDefinition;
|
|
116
|
+
};
|
|
117
|
+
/** Append-only status transition. Reloading uses last `to`. @internal */
|
|
118
|
+
export interface StatusEvent {
|
|
119
|
+
readonly at: string;
|
|
120
|
+
readonly from: ProbeCandidateStatus | 'none';
|
|
121
|
+
readonly to: ProbeCandidateStatus;
|
|
122
|
+
readonly reason: string;
|
|
123
|
+
readonly runId: string;
|
|
124
|
+
}
|
|
125
|
+
/** Cheap-to-strong fingerprint layers for equivalence / rejection. @internal */
|
|
126
|
+
export interface CandidateFingerprint {
|
|
127
|
+
readonly syntaxHash: string;
|
|
128
|
+
readonly canonicalAstHash: string;
|
|
129
|
+
readonly dimensionalSignature: string;
|
|
130
|
+
readonly regimeSignature: string;
|
|
131
|
+
readonly assumptionSignature: string;
|
|
132
|
+
}
|
|
133
|
+
/** Parsimony / complexity of a candidate expression. @internal */
|
|
134
|
+
export interface ComplexityMetrics {
|
|
135
|
+
readonly astNodes: number;
|
|
136
|
+
readonly operators: number;
|
|
137
|
+
readonly freeParameters: number;
|
|
138
|
+
readonly derivativeOrder: number;
|
|
139
|
+
readonly tensorRank?: number;
|
|
140
|
+
readonly descriptionLength?: number;
|
|
141
|
+
}
|
|
142
|
+
/** Persisted Product B candidate (`h-*`). Status is the last history `to`. @internal */
|
|
143
|
+
export interface ProbeCandidateRecord {
|
|
144
|
+
readonly id: string;
|
|
145
|
+
readonly gapId: string;
|
|
146
|
+
readonly body: ProbeCandidateBody;
|
|
147
|
+
readonly origin: ProbeCandidateOrigin;
|
|
148
|
+
readonly assumptions: readonly string[];
|
|
149
|
+
readonly status: ProbeCandidateStatus;
|
|
150
|
+
readonly statusHistory: readonly StatusEvent[];
|
|
151
|
+
readonly evaluations: readonly string[];
|
|
152
|
+
readonly fingerprint: CandidateFingerprint;
|
|
153
|
+
readonly complexity: ComplexityMetrics;
|
|
154
|
+
readonly schemaVersion: string;
|
|
155
|
+
}
|
|
156
|
+
/** Negative-result memory keyed by fingerprint + evaluation context. @internal */
|
|
157
|
+
export interface ProbeRejectionRecord {
|
|
158
|
+
readonly fingerprint: CandidateFingerprint;
|
|
159
|
+
readonly reason: string;
|
|
160
|
+
readonly counterexample?: {
|
|
161
|
+
readonly predicted: number;
|
|
162
|
+
readonly expected: number;
|
|
163
|
+
readonly tolerance: number;
|
|
164
|
+
readonly point: Readonly<Record<string, number>>;
|
|
165
|
+
};
|
|
166
|
+
readonly context: string;
|
|
167
|
+
readonly timestamp: string;
|
|
168
|
+
}
|
|
169
|
+
/** Untrusted worker identity. Capabilities are opaque strings. @internal */
|
|
170
|
+
export interface DiscoveryBackendDescriptor {
|
|
171
|
+
readonly protocolVersion: string;
|
|
172
|
+
readonly backendId: string;
|
|
173
|
+
readonly backendVersion: string;
|
|
174
|
+
readonly capabilities: readonly string[];
|
|
175
|
+
readonly deterministic: 'yes' | 'seeded' | 'no' | 'unknown';
|
|
176
|
+
}
|
|
177
|
+
/** Host environment captured in a run manifest. @internal */
|
|
178
|
+
export interface EnvironmentFingerprint {
|
|
179
|
+
readonly node: string;
|
|
180
|
+
readonly platform: string;
|
|
181
|
+
readonly arch: string;
|
|
182
|
+
}
|
|
183
|
+
/** Declared source of non-bitwise reproducibility. @internal */
|
|
184
|
+
export interface NondeterminismSource {
|
|
185
|
+
readonly kind: string;
|
|
186
|
+
readonly detail: string;
|
|
187
|
+
}
|
|
188
|
+
/** Reproducible Product B search artifact (`dr-*`). @internal */
|
|
189
|
+
export interface DiscoveryRunManifest {
|
|
190
|
+
readonly schemaVersion: string;
|
|
191
|
+
readonly runId: string;
|
|
192
|
+
readonly repositoryCommit: string;
|
|
193
|
+
readonly problemHash: string;
|
|
194
|
+
readonly datasetHashes: readonly string[];
|
|
195
|
+
readonly backendDescriptors: readonly DiscoveryBackendDescriptor[];
|
|
196
|
+
readonly randomSeeds: Readonly<Record<string, string | number>>;
|
|
197
|
+
readonly tolerances: Readonly<Record<string, number>>;
|
|
198
|
+
readonly environment: EnvironmentFingerprint;
|
|
199
|
+
readonly searchBudget: SearchBudget;
|
|
200
|
+
readonly startedAt: string;
|
|
201
|
+
readonly completedAt?: string;
|
|
202
|
+
readonly stopReason?: SearchStopReason;
|
|
203
|
+
readonly nondeterminism: readonly NondeterminismSource[];
|
|
204
|
+
}
|
|
205
|
+
/** Named SI-dimensioned variable in a search problem. @internal */
|
|
206
|
+
export interface DimensionalVariableRef {
|
|
207
|
+
readonly name: string;
|
|
208
|
+
readonly dim: Dimension;
|
|
209
|
+
}
|
|
210
|
+
/** One numeric observation keyed by variable name. @internal */
|
|
211
|
+
export type ObservationRow = Readonly<Record<string, number>>;
|
|
212
|
+
/** In-memory probe dataset. Not a rewrite of `upt confront` observations. @internal */
|
|
213
|
+
export interface ProbeDataset {
|
|
214
|
+
readonly id: string;
|
|
215
|
+
readonly role: DatasetRole;
|
|
216
|
+
readonly rows: readonly ObservationRow[];
|
|
217
|
+
readonly observable: string;
|
|
218
|
+
readonly sigma?: number;
|
|
219
|
+
readonly schemaVersion: string;
|
|
220
|
+
}
|
|
221
|
+
/** Inputs to a bounded Product B search. @internal */
|
|
222
|
+
export interface SearchProblem {
|
|
223
|
+
readonly gap: FrontierGap;
|
|
224
|
+
readonly target: DimensionalVariableRef;
|
|
225
|
+
readonly governing: readonly DimensionalVariableRef[];
|
|
226
|
+
readonly exploratory?: ProbeDataset;
|
|
227
|
+
readonly holdout?: ProbeDataset;
|
|
228
|
+
readonly baseline?: ExprNode;
|
|
229
|
+
readonly discrepancy?: DiscrepancyDefinition;
|
|
230
|
+
readonly assumptions?: readonly string[];
|
|
231
|
+
readonly regimeSignature?: string;
|
|
232
|
+
/** Declared limits; failed limits are fatal only in a claimed domain. */
|
|
233
|
+
readonly limits?: readonly DeclaredLimit[];
|
|
234
|
+
/** Regime the candidate claims, used for limit fatality. */
|
|
235
|
+
readonly claimedRegimes?: Readonly<Record<string, string>>;
|
|
236
|
+
readonly observationalBoundIds?: readonly string[];
|
|
237
|
+
}
|
|
238
|
+
/** Named regime restriction a candidate may claim. @internal */
|
|
239
|
+
export interface DeclaredLimit {
|
|
240
|
+
readonly id: string;
|
|
241
|
+
readonly regime: Readonly<Record<string, string>>;
|
|
242
|
+
readonly description?: string;
|
|
243
|
+
}
|
|
244
|
+
/** One falsification battery name. @internal */
|
|
245
|
+
export type FalsificationBattery = 'dimensional' | 'finiteness' | 'limits' | 'retrodiction' | 'observational-bounds';
|
|
246
|
+
/** Outcome of one falsification battery. @internal */
|
|
247
|
+
export interface FalsificationRecord {
|
|
248
|
+
readonly battery: FalsificationBattery;
|
|
249
|
+
readonly outcome: 'pass' | 'fail' | 'inconclusive';
|
|
250
|
+
readonly detail: string;
|
|
251
|
+
}
|
|
252
|
+
/** Optional overlay metadata — not a registry, not imported by `canonical/`. @internal */
|
|
253
|
+
export interface ScientificRelationRecord {
|
|
254
|
+
readonly ref: ScientificRelationRef;
|
|
255
|
+
readonly evidence?: EvidenceProfile;
|
|
256
|
+
readonly audit?: AuditState;
|
|
257
|
+
readonly notes?: string;
|
|
258
|
+
}
|
|
259
|
+
/** Pareto scores on [0, 1]; not a single magic ranking. @internal */
|
|
260
|
+
export interface ScoreVector {
|
|
261
|
+
readonly validity: number;
|
|
262
|
+
readonly empirical: number;
|
|
263
|
+
readonly parsimony: number;
|
|
264
|
+
readonly corpusDistance: number;
|
|
265
|
+
readonly robustness: number;
|
|
266
|
+
}
|
|
267
|
+
/** One evidence axis. Never a substitute for a quantitative residual. @internal */
|
|
268
|
+
export interface EvidenceAssessment {
|
|
269
|
+
readonly state: 'supported' | 'mixed' | 'unsupported' | 'unknown' | 'not-applicable';
|
|
270
|
+
readonly rationale?: string;
|
|
271
|
+
readonly sourceIds?: readonly string[];
|
|
272
|
+
}
|
|
273
|
+
/** Vector evidence profile for overlay metadata. @internal */
|
|
274
|
+
export interface EvidenceProfile {
|
|
275
|
+
readonly theoretical: EvidenceAssessment;
|
|
276
|
+
readonly empirical: EvidenceAssessment;
|
|
277
|
+
readonly replication: EvidenceAssessment;
|
|
278
|
+
readonly regimeCoverage: EvidenceAssessment;
|
|
279
|
+
readonly provenanceQuality: EvidenceAssessment;
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/composition/probe/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Product B (expression / residual search) experimental types.
|
|
3
|
+
* Orthogonal to Product A quantity identification (`discovery.ts`).
|
|
4
|
+
* Not re-exported from `src/index.ts`.
|
|
5
|
+
*
|
|
6
|
+
* @module composition/probe/types
|
|
7
|
+
*/
|
|
8
|
+
/** Experimental probe JSON schema major. @internal */
|
|
9
|
+
export const SCHEMA_VERSION = '0';
|
|
10
|
+
/** Alias of {@link SCHEMA_VERSION}. @internal */
|
|
11
|
+
export const PROBE_SCHEMA_VERSION = SCHEMA_VERSION;
|
|
12
|
+
/** Default native-enumerator budget. @internal */
|
|
13
|
+
export const DEFAULT_SEARCH_BUDGET = {
|
|
14
|
+
maxCandidates: 1000,
|
|
15
|
+
maxAstDepth: 6,
|
|
16
|
+
maxOperators: 12,
|
|
17
|
+
maxDerivativeOrder: 2,
|
|
18
|
+
maxEvaluations: 10000,
|
|
19
|
+
maxWallClockMs: 5000,
|
|
20
|
+
maxResidentMemoryBytes: 256 * 1024 * 1024,
|
|
21
|
+
maxExternalProcesses: 1,
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/composition/probe/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,sDAAsD;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,iDAAiD;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAsDnD,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,EAAE;IAChB,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,IAAI;IACpB,sBAAsB,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IACzC,oBAAoB,EAAE,CAAC;CACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-ast-gradient.d.ts","sourceRoot":"","sources":["../../src/diff/bridge-ast-gradient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,6BAA6B,CAAC;AAM9E;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"bridge-ast-gradient.d.ts","sourceRoot":"","sources":["../../src/diff/bridge-ast-gradient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,6BAA6B,CAAC;AAM9E;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAoJD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CA2H5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAU5B;AAwBD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAMrD"}
|
|
@@ -82,7 +82,14 @@ function resolveConstant(name, bindings) {
|
|
|
82
82
|
throw new TypeError(`bridgeGradientAST: unknown symbol '${name}' — not a binding, a named constant ` +
|
|
83
83
|
`(${Object.keys(NAMED_CONSTANTS).join(', ')}), or a numeric literal. Supply it in bindings.`);
|
|
84
84
|
}
|
|
85
|
-
/** Resolve a `^` exponent to a constant
|
|
85
|
+
/** Resolve a `^` exponent to a numeric constant expression.
|
|
86
|
+
*
|
|
87
|
+
* The exponent may contain scalar arithmetic over constants/bindings (for
|
|
88
|
+
* example `-1/z`) as long as it is independent of the differentiation
|
|
89
|
+
* variable. Variable exponents require a traced `pow(base, exponent)` op,
|
|
90
|
+
* which the current MathTS tape surface does not expose, so they are rejected
|
|
91
|
+
* explicitly rather than being silently detached from AD.
|
|
92
|
+
*/
|
|
86
93
|
function resolveExponent(node, varName, bindings) {
|
|
87
94
|
if (node.kind === 'symbol') {
|
|
88
95
|
if (node.name === varName) {
|
|
@@ -91,7 +98,20 @@ function resolveExponent(node, varName, bindings) {
|
|
|
91
98
|
}
|
|
92
99
|
return resolveConstant(node.name, bindings);
|
|
93
100
|
}
|
|
94
|
-
|
|
101
|
+
if (node.kind === 'op') {
|
|
102
|
+
const values = node.args.map((arg) => resolveExponent(arg, varName, bindings));
|
|
103
|
+
if (values.length === 0) {
|
|
104
|
+
throw new TypeError(`bridgeGradientAST: '${node.op}' exponent expression has no operands.`);
|
|
105
|
+
}
|
|
106
|
+
switch (node.op) {
|
|
107
|
+
case '+': return values.reduce((a, b) => a + b);
|
|
108
|
+
case '-': return values.length === 1 ? -values[0] : values.slice(1).reduce((a, b) => a - b, values[0]);
|
|
109
|
+
case '*': return values.reduce((a, b) => a * b);
|
|
110
|
+
case '/': return values.slice(1).reduce((a, b) => a / b, values[0]);
|
|
111
|
+
case '^': return values.slice(1).reduce((a, b) => a ** b, values[0]);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
throw new TypeError(`bridgeGradientAST: '^' exponent must be a constant scalar expression, got node kind '${node.kind}'.`);
|
|
95
115
|
}
|
|
96
116
|
/**
|
|
97
117
|
* Differentiate a scalar bridge RHS AST with respect to one symbol via
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-ast-gradient.js","sourceRoot":"","sources":["../../src/diff/bridge-ast-gradient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAuC/D,6EAA6E;AAC7E,SAAS,mBAAmB,CAAC,EAAoB,EAAE,CAAc;IAC/D,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACnB,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAqBD;;;;;GAKG;AACH,MAAM,eAAe,GAAqC;IACxD,IAAI,EAAE,iBAAiB,CAAC,IAAI;IAC5B,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACtB,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACtB,GAAG,EAAE,iBAAiB,CAAC,EAAE;IACzB,EAAE,EAAE,iBAAiB,CAAC,EAAE;IACxB,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;IAClB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;IAClB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;CACnB,CAAC;AAEF,6FAA6F;AAC7F,SAAS,eAAe,CACtB,IAAY,EACZ,QAAgC;IAEhC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC;QAC7D,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrE,MAAM,IAAI,SAAS,CACjB,sCAAsC,IAAI,sCAAsC;QAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAC/F,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"bridge-ast-gradient.js","sourceRoot":"","sources":["../../src/diff/bridge-ast-gradient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"float64-engine.d.ts","sourceRoot":"","sources":["../../src/numerical/float64-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA6W9C;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,YAAY;IACzD,QAAQ,CAAC,IAAI,4BAA4B;IAEzC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,YAAY;IAIzE,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,WAAW;IAItC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY;IAGnD,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY;IAGnD,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY;IAGnD,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY;IAe/C,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY;IAMjC,OAAO,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM;IAUhC,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,YAAY;IAWpE,SAAS,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,YAAY;IA2BtE,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY;IAwBtD,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY;
|
|
1
|
+
{"version":3,"file":"float64-engine.d.ts","sourceRoot":"","sources":["../../src/numerical/float64-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA6W9C;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,YAAY;IACzD,QAAQ,CAAC,IAAI,4BAA4B;IAEzC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,YAAY;IAIzE,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,WAAW;IAItC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY;IAGnD,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY;IAGnD,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY;IAGnD,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY;IAe/C,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY;IAMjC,OAAO,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM;IAUhC,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,YAAY;IAWpE,SAAS,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,YAAY;IA2BtE,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY;IAwBtD,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY;IA+GnE;;;;;;;;;OASG;IACG,WAAW,CACf,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,YAAY,EACrC,CAAC,EAAE,YAAY,GACd,OAAO,CAAC,iBAAiB,CAAC;IAgD7B;;;;;;;;OAQG;IACG,WAAW,CACf,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,YAAY,EACrC,CAAC,EAAE,YAAY,EACf,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,iBAAiB,CAAC;CA2C9B"}
|
|
@@ -497,8 +497,12 @@ export class Float64ReferenceEngine {
|
|
|
497
497
|
+ `by the spec — every rank-≥1 operand axis must be a free or contracted axis`);
|
|
498
498
|
}
|
|
499
499
|
}
|
|
500
|
-
const freeAxesByOp = ops.
|
|
501
|
-
const contractAxesByOp = ops.
|
|
500
|
+
const freeAxesByOp = new Array(ops.length);
|
|
501
|
+
const contractAxesByOp = new Array(ops.length);
|
|
502
|
+
for (let i = 0; i < ops.length; i++) {
|
|
503
|
+
freeAxesByOp[i] = [];
|
|
504
|
+
contractAxesByOp[i] = [];
|
|
505
|
+
}
|
|
502
506
|
spec.free.forEach((fa, v) => {
|
|
503
507
|
freeAxesByOp[fa.operand].push({ varIdx: v, axis: fa.axis });
|
|
504
508
|
});
|
|
@@ -507,15 +511,25 @@ export class Float64ReferenceEngine {
|
|
|
507
511
|
contractAxesByOp[oa].push({ varIdx: v, axis: axa });
|
|
508
512
|
contractAxesByOp[ob].push({ varIdx: v, axis: axb });
|
|
509
513
|
});
|
|
514
|
+
const opIdxCache = new Array(ops.length);
|
|
515
|
+
for (let i = 0; i < ops.length; i++) {
|
|
516
|
+
opIdxCache[i] = new Array(ops[i].shape.length).fill(0);
|
|
517
|
+
}
|
|
510
518
|
// For a given assignment of (free vars, contract vars), compute the flat
|
|
511
519
|
// index into each operand using the precomputed per-operand axis maps.
|
|
512
520
|
const operandFlatIndex = (opIndex, freeVals, contractVals) => {
|
|
513
|
-
const idx =
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
521
|
+
const idx = opIdxCache[opIndex];
|
|
522
|
+
const fa = freeAxesByOp[opIndex];
|
|
523
|
+
for (let i = 0; i < fa.length; i++)
|
|
524
|
+
idx[fa[i].axis] = freeVals[fa[i].varIdx];
|
|
525
|
+
const ca = contractAxesByOp[opIndex];
|
|
526
|
+
for (let i = 0; i < ca.length; i++)
|
|
527
|
+
idx[ca[i].axis] = contractVals[ca[i].varIdx];
|
|
528
|
+
const s = inStrides[opIndex];
|
|
529
|
+
let f = 0;
|
|
530
|
+
for (let k = 0; k < idx.length; k++)
|
|
531
|
+
f += idx[k] * s[k];
|
|
532
|
+
return f;
|
|
519
533
|
};
|
|
520
534
|
forEachIndex(outShape, (freeVals) => {
|
|
521
535
|
let acc = 0;
|