@elaraai/east 1.0.65 → 1.0.67
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/dist/src/builtins.d.ts +1 -1
- package/dist/src/builtins.d.ts.map +1 -1
- package/dist/src/builtins.js +165 -0
- package/dist/src/builtins.js.map +1 -1
- package/dist/src/compile.d.ts.map +1 -1
- package/dist/src/compile.js +642 -0
- package/dist/src/compile.js.map +1 -1
- package/dist/src/expr/index.d.ts +3 -0
- package/dist/src/expr/index.d.ts.map +1 -1
- package/dist/src/expr/libs/vector.d.ts +53 -2
- package/dist/src/expr/libs/vector.d.ts.map +1 -1
- package/dist/src/expr/libs/vector.js +96 -1
- package/dist/src/expr/libs/vector.js.map +1 -1
- package/dist/src/expr/matrix.d.ts +53 -0
- package/dist/src/expr/matrix.d.ts.map +1 -1
- package/dist/src/expr/matrix.js +119 -0
- package/dist/src/expr/matrix.js.map +1 -1
- package/dist/src/expr/vector.d.ts +217 -1
- package/dist/src/expr/vector.d.ts.map +1 -1
- package/dist/src/expr/vector.js +396 -1
- package/dist/src/expr/vector.js.map +1 -1
- package/package.json +1 -1
package/dist/src/expr/index.d.ts
CHANGED
|
@@ -698,6 +698,9 @@ export declare const East: {
|
|
|
698
698
|
ones(length: Expr<typeof import("../types.js").IntegerType> | bigint): import("./vector.js").VectorExpr<typeof import("../types.js").FloatType>;
|
|
699
699
|
fill<V extends unknown>(length: Expr<typeof import("../types.js").IntegerType> | bigint, value: V): import("./vector.js").VectorExpr<import("./types.js").TypeOf<V>>;
|
|
700
700
|
fromArray<V extends readonly unknown[] | Expr<import("../types.js").ArrayType<import("../types.js").EastType>>>(arr: V): import("./vector.js").VectorExpr<import("./types.js").TypeOf<V> extends import("../types.js").ArrayType<infer U> ? U : import("../types.js").EastType>;
|
|
701
|
+
sparseAxpy<V extends import("./types.js").SubtypeExprOrValue<import("../types.js").VectorType<import("../types.js").EastType>>>(ixA: import("./types.js").SubtypeExprOrValue<import("../types.js").VectorType<import("../types.js").IntegerType>>, vA: V, ixB: import("./types.js").SubtypeExprOrValue<import("../types.js").VectorType<import("../types.js").IntegerType>>, vB: NoInfer<V>, alpha: import("./types.js").TypeOf<V> extends import("../types.js").VectorType<infer E> ? import("./types.js").SubtypeExprOrValue<E> : never): import("./types.js").ExprType<import("./types.js").TypeOf<V> extends import("../types.js").VectorType<infer E> ? import("./libs/vector.js").SparsePair<E> : never>;
|
|
702
|
+
sparseFromPairs<V extends import("./types.js").SubtypeExprOrValue<import("../types.js").VectorType<import("../types.js").EastType>>>(ix: import("./types.js").SubtypeExprOrValue<import("../types.js").VectorType<import("../types.js").IntegerType>>, v: V): import("./types.js").ExprType<import("./types.js").TypeOf<V> extends import("../types.js").VectorType<infer E> ? import("./libs/vector.js").SparsePair<E> : never>;
|
|
703
|
+
sparseFilterGt<V extends import("./types.js").SubtypeExprOrValue<import("../types.js").VectorType<import("../types.js").EastType>>>(ix: import("./types.js").SubtypeExprOrValue<import("../types.js").VectorType<import("../types.js").IntegerType>>, v: V, threshold: import("./types.js").TypeOf<V> extends import("../types.js").VectorType<infer E> ? import("./types.js").SubtypeExprOrValue<E> : never): import("./types.js").ExprType<import("./types.js").TypeOf<V> extends import("../types.js").VectorType<infer E> ? import("./libs/vector.js").SparsePair<E> : never>;
|
|
701
704
|
};
|
|
702
705
|
/**
|
|
703
706
|
* Standard library functions for Matrix operations.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/expr/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/expr/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,66 @@
|
|
|
2
2
|
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
3
|
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
|
-
import { FloatType, IntegerType, type EastType, ArrayType } from "../../types.js";
|
|
5
|
+
import { VectorType, FloatType, IntegerType, StructType, type EastType, ArrayType } from "../../types.js";
|
|
6
6
|
import { Expr } from "../expr.js";
|
|
7
|
-
import type { SubtypeExprOrValue, TypeOf } from "../types.js";
|
|
7
|
+
import type { ExprType, SubtypeExprOrValue, TypeOf } from "../types.js";
|
|
8
8
|
import type { VectorExpr } from "../vector.js";
|
|
9
|
+
/** A sparse numeric accumulator: strictly ascending indices paired with values. */
|
|
10
|
+
export type SparsePair<E> = StructType<{
|
|
11
|
+
ix: VectorType<IntegerType>;
|
|
12
|
+
v: VectorType<E>;
|
|
13
|
+
}>;
|
|
9
14
|
declare const _default: {
|
|
10
15
|
zeros(length: Expr<typeof IntegerType> | bigint): VectorExpr<typeof FloatType>;
|
|
11
16
|
ones(length: Expr<typeof IntegerType> | bigint): VectorExpr<typeof FloatType>;
|
|
12
17
|
fill<V extends unknown>(length: Expr<typeof IntegerType> | bigint, value: V): VectorExpr<TypeOf<V>>;
|
|
13
18
|
fromArray<V extends readonly unknown[] | Expr<ArrayType<EastType>>>(arr: V): VectorExpr<TypeOf<V> extends ArrayType<infer U> ? U : EastType>;
|
|
19
|
+
/**
|
|
20
|
+
* Combines two sparse accumulators over the union of their strictly
|
|
21
|
+
* ascending index vectors: `vA + alpha * vB`, as a single two-pointer
|
|
22
|
+
* merge. Merge, scaled deposit and single-key accumulate all fall out of
|
|
23
|
+
* one call (`alpha` of one, a scale factor, or a one-element right-hand
|
|
24
|
+
* side). Entries absent from a side are structurally absent, not explicit
|
|
25
|
+
* zeros: an A-only entry passes through unscaled, a B-only entry
|
|
26
|
+
* contributes `alpha * vB` even when `alpha` is NaN or infinite.
|
|
27
|
+
*
|
|
28
|
+
* @param ixA - The left accumulator's strictly ascending indices
|
|
29
|
+
* @param vA - The left accumulator's values (same length as ixA)
|
|
30
|
+
* @param ixB - The right accumulator's strictly ascending indices
|
|
31
|
+
* @param vB - The right accumulator's values (same length as ixB)
|
|
32
|
+
* @param alpha - The scalar factor applied to vB
|
|
33
|
+
* @returns A struct of the merged `ix` and `v` vectors
|
|
34
|
+
*
|
|
35
|
+
* @throws East runtime error if an index vector is not strictly ascending, or index and value lengths differ
|
|
36
|
+
*/
|
|
37
|
+
sparseAxpy<V extends SubtypeExprOrValue<VectorType<EastType>>>(ixA: SubtypeExprOrValue<VectorType<IntegerType>>, vA: V, ixB: SubtypeExprOrValue<VectorType<IntegerType>>, vB: NoInfer<V>, alpha: TypeOf<V> extends VectorType<infer E> ? SubtypeExprOrValue<E> : never): ExprType<TypeOf<V> extends VectorType<infer E> ? SparsePair<E> : never>;
|
|
38
|
+
/**
|
|
39
|
+
* Builds the canonical sparse accumulator from unsorted `(index, value)`
|
|
40
|
+
* pairs: indices sort ascending and duplicate indices sum, stably, in
|
|
41
|
+
* input order — so the float result is deterministic for a given input
|
|
42
|
+
* order.
|
|
43
|
+
*
|
|
44
|
+
* @param ix - The indices, in any order, possibly with duplicates
|
|
45
|
+
* @param v - The values (same length as ix)
|
|
46
|
+
* @returns A struct of the canonical strictly ascending `ix` and summed `v`
|
|
47
|
+
*
|
|
48
|
+
* @throws East runtime error if the index and value lengths differ
|
|
49
|
+
*/
|
|
50
|
+
sparseFromPairs<V extends SubtypeExprOrValue<VectorType<EastType>>>(ix: SubtypeExprOrValue<VectorType<IntegerType>>, v: V): ExprType<TypeOf<V> extends VectorType<infer E> ? SparsePair<E> : never>;
|
|
51
|
+
/**
|
|
52
|
+
* Compacts a sparse accumulator by keeping only the entries whose value
|
|
53
|
+
* is strictly greater than the threshold under East's total order —
|
|
54
|
+
* shedding entries that have decayed below a noise floor, so later
|
|
55
|
+
* operations on the accumulator stay proportional to its live entries.
|
|
56
|
+
*
|
|
57
|
+
* @param ix - The accumulator's strictly ascending indices
|
|
58
|
+
* @param v - The accumulator's values (same length as ix)
|
|
59
|
+
* @param threshold - The exclusive lower bound a value must exceed to survive
|
|
60
|
+
* @returns A struct of the surviving `ix` and `v` entries, in order
|
|
61
|
+
*
|
|
62
|
+
* @throws East runtime error if the index vector is not strictly ascending, or index and value lengths differ
|
|
63
|
+
*/
|
|
64
|
+
sparseFilterGt<V extends SubtypeExprOrValue<VectorType<EastType>>>(ix: SubtypeExprOrValue<VectorType<IntegerType>>, v: V, threshold: TypeOf<V> extends VectorType<infer E> ? SubtypeExprOrValue<E> : never): ExprType<TypeOf<V> extends VectorType<infer E> ? SparsePair<E> : never>;
|
|
14
65
|
};
|
|
15
66
|
export default _default;
|
|
16
67
|
//# sourceMappingURL=vector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../../src/expr/libs/vector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../../src/expr/libs/vector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,SAAS,EAAa,MAAM,gBAAgB,CAAC;AACrH,OAAO,EAAa,IAAI,EAAc,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,mFAAmF;AACnF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC;IAAE,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,CAAC;;kBAa1E,IAAI,CAAC,OAAO,WAAW,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC;iBAQjE,IAAI,CAAC,OAAO,WAAW,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC;SAQxE,CAAC,0BAA+C,IAAI,CAAC,OAAO,WAAW,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;cAU9G,CAAC,SAAS,SAAS,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IAa5I;;;;;;;;;;;;;;;;;OAiBG;eACQ,CAAC,SAAS,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OACtD,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAC5C,CAAC,OACA,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAC5C,OAAO,CAAC,CAAC,CAAC,SACP,MAAM,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,KAAK,GAC3E,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAiB1E;;;;;;;;;;;OAWG;oBACa,CAAC,SAAS,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAC5D,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAC5C,CAAC,GACH,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAc1E;;;;;;;;;;;;OAYG;mBACY,CAAC,SAAS,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAC3D,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAC5C,CAAC,aACO,MAAM,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,KAAK,GAC/E,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;;AA/H5E,wBA6IE"}
|
|
@@ -2,8 +2,17 @@
|
|
|
2
2
|
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
3
|
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
|
-
import { VectorType, FloatType, IntegerType, ArrayType } from "../../types.js";
|
|
5
|
+
import { VectorType, FloatType, IntegerType, StructType, ArrayType, printType } from "../../types.js";
|
|
6
6
|
import { AstSymbol, Expr, TypeSymbol } from "../expr.js";
|
|
7
|
+
/** The Float/Integer element type of a lifted values vector. */
|
|
8
|
+
function sparseElemType(fnName, ast) {
|
|
9
|
+
const t = ast.type;
|
|
10
|
+
const elem = t.element;
|
|
11
|
+
if (elem.type !== "Float" && elem.type !== "Integer") {
|
|
12
|
+
throw new Error(`Vector.${fnName} requires a Float or Integer element type, got ${printType(elem)}`);
|
|
13
|
+
}
|
|
14
|
+
return elem;
|
|
15
|
+
}
|
|
7
16
|
export default {
|
|
8
17
|
zeros(length) {
|
|
9
18
|
const len = Expr.from(length, IntegerType);
|
|
@@ -40,5 +49,91 @@ export default {
|
|
|
40
49
|
type_parameters: [elemType], arguments: [arrAst], loc_id: arrAst.loc_id,
|
|
41
50
|
});
|
|
42
51
|
},
|
|
52
|
+
/**
|
|
53
|
+
* Combines two sparse accumulators over the union of their strictly
|
|
54
|
+
* ascending index vectors: `vA + alpha * vB`, as a single two-pointer
|
|
55
|
+
* merge. Merge, scaled deposit and single-key accumulate all fall out of
|
|
56
|
+
* one call (`alpha` of one, a scale factor, or a one-element right-hand
|
|
57
|
+
* side). Entries absent from a side are structurally absent, not explicit
|
|
58
|
+
* zeros: an A-only entry passes through unscaled, a B-only entry
|
|
59
|
+
* contributes `alpha * vB` even when `alpha` is NaN or infinite.
|
|
60
|
+
*
|
|
61
|
+
* @param ixA - The left accumulator's strictly ascending indices
|
|
62
|
+
* @param vA - The left accumulator's values (same length as ixA)
|
|
63
|
+
* @param ixB - The right accumulator's strictly ascending indices
|
|
64
|
+
* @param vB - The right accumulator's values (same length as ixB)
|
|
65
|
+
* @param alpha - The scalar factor applied to vB
|
|
66
|
+
* @returns A struct of the merged `ix` and `v` vectors
|
|
67
|
+
*
|
|
68
|
+
* @throws East runtime error if an index vector is not strictly ascending, or index and value lengths differ
|
|
69
|
+
*/
|
|
70
|
+
sparseAxpy(ixA, vA, ixB, vB, alpha) {
|
|
71
|
+
const vAAst = Expr.ast(Expr.from(vA));
|
|
72
|
+
const elem = sparseElemType("sparseAxpy", vAAst);
|
|
73
|
+
const ixAAst = Expr.ast(Expr.from(ixA, VectorType(IntegerType)));
|
|
74
|
+
const ixBAst = Expr.ast(Expr.from(ixB, VectorType(IntegerType)));
|
|
75
|
+
const vBAst = Expr.ast(Expr.from(vB, VectorType(elem)));
|
|
76
|
+
const alphaAst = Expr.ast(Expr.from(alpha, elem));
|
|
77
|
+
return Expr.fromAst({
|
|
78
|
+
ast_type: "Builtin",
|
|
79
|
+
type: StructType({ ix: VectorType(IntegerType), v: VectorType(elem) }),
|
|
80
|
+
builtin: "SparseAxpy",
|
|
81
|
+
type_parameters: [elem],
|
|
82
|
+
arguments: [ixAAst, vAAst, ixBAst, vBAst, alphaAst],
|
|
83
|
+
loc_id: vAAst.loc_id,
|
|
84
|
+
});
|
|
85
|
+
},
|
|
86
|
+
/**
|
|
87
|
+
* Builds the canonical sparse accumulator from unsorted `(index, value)`
|
|
88
|
+
* pairs: indices sort ascending and duplicate indices sum, stably, in
|
|
89
|
+
* input order — so the float result is deterministic for a given input
|
|
90
|
+
* order.
|
|
91
|
+
*
|
|
92
|
+
* @param ix - The indices, in any order, possibly with duplicates
|
|
93
|
+
* @param v - The values (same length as ix)
|
|
94
|
+
* @returns A struct of the canonical strictly ascending `ix` and summed `v`
|
|
95
|
+
*
|
|
96
|
+
* @throws East runtime error if the index and value lengths differ
|
|
97
|
+
*/
|
|
98
|
+
sparseFromPairs(ix, v) {
|
|
99
|
+
const vAst = Expr.ast(Expr.from(v));
|
|
100
|
+
const elem = sparseElemType("sparseFromPairs", vAst);
|
|
101
|
+
const ixAst = Expr.ast(Expr.from(ix, VectorType(IntegerType)));
|
|
102
|
+
return Expr.fromAst({
|
|
103
|
+
ast_type: "Builtin",
|
|
104
|
+
type: StructType({ ix: VectorType(IntegerType), v: VectorType(elem) }),
|
|
105
|
+
builtin: "SparseFromPairs",
|
|
106
|
+
type_parameters: [elem],
|
|
107
|
+
arguments: [ixAst, vAst],
|
|
108
|
+
loc_id: vAst.loc_id,
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
/**
|
|
112
|
+
* Compacts a sparse accumulator by keeping only the entries whose value
|
|
113
|
+
* is strictly greater than the threshold under East's total order —
|
|
114
|
+
* shedding entries that have decayed below a noise floor, so later
|
|
115
|
+
* operations on the accumulator stay proportional to its live entries.
|
|
116
|
+
*
|
|
117
|
+
* @param ix - The accumulator's strictly ascending indices
|
|
118
|
+
* @param v - The accumulator's values (same length as ix)
|
|
119
|
+
* @param threshold - The exclusive lower bound a value must exceed to survive
|
|
120
|
+
* @returns A struct of the surviving `ix` and `v` entries, in order
|
|
121
|
+
*
|
|
122
|
+
* @throws East runtime error if the index vector is not strictly ascending, or index and value lengths differ
|
|
123
|
+
*/
|
|
124
|
+
sparseFilterGt(ix, v, threshold) {
|
|
125
|
+
const vAst = Expr.ast(Expr.from(v));
|
|
126
|
+
const elem = sparseElemType("sparseFilterGt", vAst);
|
|
127
|
+
const ixAst = Expr.ast(Expr.from(ix, VectorType(IntegerType)));
|
|
128
|
+
const thresholdAst = Expr.ast(Expr.from(threshold, elem));
|
|
129
|
+
return Expr.fromAst({
|
|
130
|
+
ast_type: "Builtin",
|
|
131
|
+
type: StructType({ ix: VectorType(IntegerType), v: VectorType(elem) }),
|
|
132
|
+
builtin: "SparseFilterGt",
|
|
133
|
+
type_parameters: [elem],
|
|
134
|
+
arguments: [ixAst, vAst, thresholdAst],
|
|
135
|
+
loc_id: vAst.loc_id,
|
|
136
|
+
});
|
|
137
|
+
},
|
|
43
138
|
};
|
|
44
139
|
//# sourceMappingURL=vector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../../src/expr/libs/vector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAiB,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../../src/expr/libs/vector.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,5 +104,58 @@ export declare class MatrixExpr<T extends any> extends Expr<MatrixType<T>> {
|
|
|
104
104
|
*/
|
|
105
105
|
mapRows<T2>(fn: Expr<FunctionType<[VectorType<T>, IntegerType], VectorType<T2>>>): MatrixExpr<T2>;
|
|
106
106
|
mapRows<F extends (($: BlockBuilder<NeverType>, row: VectorExpr<T>, idx: ExprType<IntegerType>) => VectorExpr<any>)>(fn: F): MatrixExpr<ReturnType<F> extends VectorExpr<infer U> ? U : never>;
|
|
107
|
+
/** Requires a Float or Integer element type for the arithmetic builtins. */
|
|
108
|
+
private numericElem;
|
|
109
|
+
/**
|
|
110
|
+
* Multiplies every element by a scalar, producing a new matrix.
|
|
111
|
+
*
|
|
112
|
+
* @param alpha - The scalar factor (same type as the elements)
|
|
113
|
+
* @returns A new MatrixExpr with every element scaled by alpha
|
|
114
|
+
*/
|
|
115
|
+
scale(alpha: SubtypeExprOrValue<T>): MatrixExpr<T>;
|
|
116
|
+
/**
|
|
117
|
+
* Adds a scaled matrix elementwise: `this + alpha * other`.
|
|
118
|
+
*
|
|
119
|
+
* @param other - The matrix to scale and add (same dimensions and element type)
|
|
120
|
+
* @param alpha - The scalar factor applied to other
|
|
121
|
+
* @returns A new MatrixExpr holding the combined elements
|
|
122
|
+
*
|
|
123
|
+
* @throws East runtime error if the matrix dimensions differ
|
|
124
|
+
*/
|
|
125
|
+
addScaled(other: SubtypeExprOrValue<MatrixType<T>>, alpha: SubtypeExprOrValue<T>): MatrixExpr<T>;
|
|
126
|
+
/**
|
|
127
|
+
* Multiplies two matrices elementwise (the Hadamard product).
|
|
128
|
+
*
|
|
129
|
+
* @param other - The matrix to multiply with (same dimensions and element type)
|
|
130
|
+
* @returns A new MatrixExpr holding the elementwise products
|
|
131
|
+
*
|
|
132
|
+
* @throws East runtime error if the matrix dimensions differ
|
|
133
|
+
*/
|
|
134
|
+
mulElementwise(other: SubtypeExprOrValue<MatrixType<T>>): MatrixExpr<T>;
|
|
135
|
+
/**
|
|
136
|
+
* Sums each row into a vector of length rows. Each row accumulates in
|
|
137
|
+
* ascending column order, left to right — the same cross-runtime contract
|
|
138
|
+
* as the Vector reductions.
|
|
139
|
+
*
|
|
140
|
+
* @returns A VectorExpr holding one sum per row
|
|
141
|
+
*/
|
|
142
|
+
rowSums(): VectorExpr<T>;
|
|
143
|
+
/**
|
|
144
|
+
* Sums each column into a vector of length cols. Each column accumulates
|
|
145
|
+
* in ascending row order.
|
|
146
|
+
*
|
|
147
|
+
* @returns A VectorExpr holding one sum per column
|
|
148
|
+
*/
|
|
149
|
+
colSums(): VectorExpr<T>;
|
|
150
|
+
/**
|
|
151
|
+
* Multiplies this matrix by a vector: element r of the result is the dot
|
|
152
|
+
* product of row r with the vector, accumulated in ascending column order.
|
|
153
|
+
*
|
|
154
|
+
* @param vector - The vector to multiply by (length must equal cols)
|
|
155
|
+
* @returns A VectorExpr of length rows
|
|
156
|
+
*
|
|
157
|
+
* @throws East runtime error if the vector length does not equal the column count
|
|
158
|
+
*/
|
|
159
|
+
vecMul(vector: SubtypeExprOrValue<VectorType<T>>): VectorExpr<T>;
|
|
107
160
|
}
|
|
108
161
|
//# sourceMappingURL=matrix.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../../src/expr/matrix.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAiB,KAAK,SAAS,EAAqC,MAAM,aAAa,CAAC;AAE7J,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAa,IAAI,EAA6B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;GAOG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,GAAG,CAAE,SAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM;IAIjE;;;;OAIG;IACH,IAAI,IAAI,WAAW;IAWnB;;;;OAIG;IACH,IAAI,IAAI,WAAW;IAWnB;;;;;;;;OAQG;IACH,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAa5F;;;;;;;;;OASG;IACH,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAc5H;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAY3D;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAY3D;;;;OAIG;IACH,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC;IAW1B;;;;OAIG;IACH,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC;IAWzB;;;;OAIG;IACH,OAAO,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAWlC;;;;OAIG;IACH,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAWlC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC;IACjG,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../../src/expr/matrix.ts"],"names":[],"mappings":"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"}
|
package/dist/src/expr/matrix.js
CHANGED
|
@@ -220,5 +220,124 @@ export class MatrixExpr extends Expr {
|
|
|
220
220
|
return this.mapRows(functionExpr);
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
+
/** Requires a Float or Integer element type for the arithmetic builtins. */
|
|
224
|
+
numericElem(method) {
|
|
225
|
+
const t = this.element_type;
|
|
226
|
+
if (t.type !== "Float" && t.type !== "Integer") {
|
|
227
|
+
throw new Error(`Matrix.${method} requires a Float or Integer element type, got ${printType(t)}`);
|
|
228
|
+
}
|
|
229
|
+
return t;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Multiplies every element by a scalar, producing a new matrix.
|
|
233
|
+
*
|
|
234
|
+
* @param alpha - The scalar factor (same type as the elements)
|
|
235
|
+
* @returns A new MatrixExpr with every element scaled by alpha
|
|
236
|
+
*/
|
|
237
|
+
scale(alpha) {
|
|
238
|
+
const elem = this.numericElem("scale");
|
|
239
|
+
return this[FactorySymbol]({
|
|
240
|
+
ast_type: "Builtin",
|
|
241
|
+
type: MatrixType(elem),
|
|
242
|
+
loc_id: get_location_id(),
|
|
243
|
+
builtin: "MatrixScale",
|
|
244
|
+
type_parameters: [elem],
|
|
245
|
+
arguments: [this[AstSymbol], valueOrExprToAstTyped(alpha, elem)],
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Adds a scaled matrix elementwise: `this + alpha * other`.
|
|
250
|
+
*
|
|
251
|
+
* @param other - The matrix to scale and add (same dimensions and element type)
|
|
252
|
+
* @param alpha - The scalar factor applied to other
|
|
253
|
+
* @returns A new MatrixExpr holding the combined elements
|
|
254
|
+
*
|
|
255
|
+
* @throws East runtime error if the matrix dimensions differ
|
|
256
|
+
*/
|
|
257
|
+
addScaled(other, alpha) {
|
|
258
|
+
const elem = this.numericElem("addScaled");
|
|
259
|
+
return this[FactorySymbol]({
|
|
260
|
+
ast_type: "Builtin",
|
|
261
|
+
type: MatrixType(elem),
|
|
262
|
+
loc_id: get_location_id(),
|
|
263
|
+
builtin: "MatrixAddScaled",
|
|
264
|
+
type_parameters: [elem],
|
|
265
|
+
arguments: [this[AstSymbol], valueOrExprToAstTyped(other, MatrixType(elem)), valueOrExprToAstTyped(alpha, elem)],
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Multiplies two matrices elementwise (the Hadamard product).
|
|
270
|
+
*
|
|
271
|
+
* @param other - The matrix to multiply with (same dimensions and element type)
|
|
272
|
+
* @returns A new MatrixExpr holding the elementwise products
|
|
273
|
+
*
|
|
274
|
+
* @throws East runtime error if the matrix dimensions differ
|
|
275
|
+
*/
|
|
276
|
+
mulElementwise(other) {
|
|
277
|
+
const elem = this.numericElem("mulElementwise");
|
|
278
|
+
return this[FactorySymbol]({
|
|
279
|
+
ast_type: "Builtin",
|
|
280
|
+
type: MatrixType(elem),
|
|
281
|
+
loc_id: get_location_id(),
|
|
282
|
+
builtin: "MatrixMulElementwise",
|
|
283
|
+
type_parameters: [elem],
|
|
284
|
+
arguments: [this[AstSymbol], valueOrExprToAstTyped(other, MatrixType(elem))],
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Sums each row into a vector of length rows. Each row accumulates in
|
|
289
|
+
* ascending column order, left to right — the same cross-runtime contract
|
|
290
|
+
* as the Vector reductions.
|
|
291
|
+
*
|
|
292
|
+
* @returns A VectorExpr holding one sum per row
|
|
293
|
+
*/
|
|
294
|
+
rowSums() {
|
|
295
|
+
const elem = this.numericElem("rowSums");
|
|
296
|
+
return this[FactorySymbol]({
|
|
297
|
+
ast_type: "Builtin",
|
|
298
|
+
type: VectorType(elem),
|
|
299
|
+
loc_id: get_location_id(),
|
|
300
|
+
builtin: "MatrixRowSums",
|
|
301
|
+
type_parameters: [elem],
|
|
302
|
+
arguments: [this[AstSymbol]],
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Sums each column into a vector of length cols. Each column accumulates
|
|
307
|
+
* in ascending row order.
|
|
308
|
+
*
|
|
309
|
+
* @returns A VectorExpr holding one sum per column
|
|
310
|
+
*/
|
|
311
|
+
colSums() {
|
|
312
|
+
const elem = this.numericElem("colSums");
|
|
313
|
+
return this[FactorySymbol]({
|
|
314
|
+
ast_type: "Builtin",
|
|
315
|
+
type: VectorType(elem),
|
|
316
|
+
loc_id: get_location_id(),
|
|
317
|
+
builtin: "MatrixColSums",
|
|
318
|
+
type_parameters: [elem],
|
|
319
|
+
arguments: [this[AstSymbol]],
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Multiplies this matrix by a vector: element r of the result is the dot
|
|
324
|
+
* product of row r with the vector, accumulated in ascending column order.
|
|
325
|
+
*
|
|
326
|
+
* @param vector - The vector to multiply by (length must equal cols)
|
|
327
|
+
* @returns A VectorExpr of length rows
|
|
328
|
+
*
|
|
329
|
+
* @throws East runtime error if the vector length does not equal the column count
|
|
330
|
+
*/
|
|
331
|
+
vecMul(vector) {
|
|
332
|
+
const elem = this.numericElem("vecMul");
|
|
333
|
+
return this[FactorySymbol]({
|
|
334
|
+
ast_type: "Builtin",
|
|
335
|
+
type: VectorType(elem),
|
|
336
|
+
loc_id: get_location_id(),
|
|
337
|
+
builtin: "MatrixVecMul",
|
|
338
|
+
type_parameters: [elem],
|
|
339
|
+
arguments: [this[AstSymbol], valueOrExprToAstTyped(vector, VectorType(elem))],
|
|
340
|
+
});
|
|
341
|
+
}
|
|
223
342
|
}
|
|
224
343
|
//# sourceMappingURL=matrix.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../../src/expr/matrix.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../../src/expr/matrix.ts"],"names":[],"mappings":"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"}
|