@cortex-js/compute-engine 0.20.2 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -3
- package/dist/compute-engine.esm.js +6744 -4603
- package/dist/compute-engine.js +6744 -4603
- package/dist/compute-engine.min.esm.js +10 -10
- package/dist/compute-engine.min.js +10 -10
- package/dist/math-json.esm.js +2 -2
- package/dist/math-json.js +2 -2
- package/dist/math-json.min.esm.js +2 -2
- package/dist/math-json.min.js +2 -2
- package/dist/types/common/ansi-codes.d.ts +1 -1
- package/dist/types/common/grapheme-splitter.d.ts +1 -1
- package/dist/types/common/signals.d.ts +1 -1
- package/dist/types/common/utils.d.ts +1 -1
- package/dist/types/compute-engine/assume.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +4 -1
- package/dist/types/compute-engine/boxed-expression/box.d.ts +3 -3
- package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-domain.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-function-definition.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +11 -3
- package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-symbol-definition.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +2 -1
- package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +69 -0
- package/dist/types/compute-engine/boxed-expression/canonical.d.ts +2 -0
- package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/order.d.ts +8 -2
- package/dist/types/compute-engine/boxed-expression/serialize.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/utils.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/validate.d.ts +1 -1
- package/dist/types/compute-engine/collection-utils.d.ts +1 -1
- package/dist/types/compute-engine/compile.d.ts +1 -1
- package/dist/types/compute-engine/compute-engine.d.ts +270 -33
- package/dist/types/compute-engine/cost-function.d.ts +1 -1
- package/dist/types/compute-engine/domain-utils.d.ts +1 -1
- package/dist/types/compute-engine/function-utils.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +2 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/{definitions-inequalities.d.ts → definitions-relational-operators.d.ts} +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/latex-syntax.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/parse-identifier.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/parse.d.ts +2 -2
- package/dist/types/compute-engine/latex-syntax/public.d.ts +5 -2
- package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/serializer.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
- package/dist/types/compute-engine/library/arithmetic-add.d.ts +3 -3
- package/dist/types/compute-engine/library/arithmetic-divide.d.ts +1 -1
- package/dist/types/compute-engine/library/arithmetic-multiply.d.ts +3 -3
- package/dist/types/compute-engine/library/arithmetic-power.d.ts +1 -1
- package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
- package/dist/types/compute-engine/library/calculus.d.ts +1 -1
- package/dist/types/compute-engine/library/collections.d.ts +1 -1
- package/dist/types/compute-engine/library/complex.d.ts +1 -1
- package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
- package/dist/types/compute-engine/library/core.d.ts +2 -1
- package/dist/types/compute-engine/library/domains.d.ts +1 -1
- package/dist/types/compute-engine/library/library.d.ts +1 -1
- package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
- package/dist/types/compute-engine/library/logic.d.ts +1 -1
- package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
- package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
- package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
- package/dist/types/compute-engine/library/sets.d.ts +1 -1
- package/dist/types/compute-engine/library/statistics.d.ts +1 -1
- package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
- package/dist/types/compute-engine/library/utils.d.ts +5 -5
- package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric.d.ts +3 -3
- package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
- package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
- package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
- package/dist/types/compute-engine/public.d.ts +68 -286
- package/dist/types/compute-engine/rules.d.ts +9 -13
- package/dist/types/compute-engine/simplify-rules.d.ts +1 -1
- package/dist/types/compute-engine/solve.d.ts +2 -1
- package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/expand.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/flatten.d.ts +2 -1
- package/dist/types/compute-engine/symbolic/negate.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/polynomials.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/product.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/sum.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/tensor-fields.d.ts +168 -0
- package/dist/types/compute-engine/symbolic/tensors.d.ts +103 -0
- package/dist/types/compute-engine/symbolic/utils.d.ts +1 -1
- package/dist/types/compute-engine.d.ts +2 -2
- package/dist/types/math-json/math-json-format.d.ts +1 -1
- package/dist/types/math-json/utils.d.ts +1 -1
- package/dist/types/math-json.d.ts +2 -2
- package/package.json +2 -1
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/* 0.22.0 */
|
|
2
|
+
import { BoxedExpression, IComputeEngine } from '../public';
|
|
3
|
+
export type DataTypeMap = {
|
|
4
|
+
float64: number;
|
|
5
|
+
float32: number;
|
|
6
|
+
int32: number;
|
|
7
|
+
uint8: number;
|
|
8
|
+
complex128: Complex;
|
|
9
|
+
complex64: Complex;
|
|
10
|
+
bool: boolean;
|
|
11
|
+
string: string;
|
|
12
|
+
expression: BoxedExpression;
|
|
13
|
+
};
|
|
14
|
+
export type TensorDataType = keyof DataTypeMap;
|
|
15
|
+
export declare function makeTensorField<DT extends keyof DataTypeMap>(ce: IComputeEngine, dtype: DT): TensorField<DataTypeMap[DT]>;
|
|
16
|
+
export interface TensorField<T extends number | Complex | BoxedExpression | boolean | string = number> {
|
|
17
|
+
readonly one: T;
|
|
18
|
+
readonly zero: T;
|
|
19
|
+
readonly nan: T;
|
|
20
|
+
cast(x: T, dtype: 'float64'): undefined | number;
|
|
21
|
+
cast(x: T, dtype: 'float32'): undefined | number;
|
|
22
|
+
cast(x: T, dtype: 'int32'): undefined | number;
|
|
23
|
+
cast(x: T, dtype: 'uint8'): undefined | number;
|
|
24
|
+
cast(x: T, dtype: 'complex128'): undefined | Complex;
|
|
25
|
+
cast(x: T, dtype: 'complex64'): undefined | Complex;
|
|
26
|
+
cast(x: T, dtype: 'bool'): undefined | boolean;
|
|
27
|
+
cast(x: T, dtype: 'string'): undefined | string;
|
|
28
|
+
cast(x: T, dtype: 'expression'): undefined | BoxedExpression;
|
|
29
|
+
cast(x: T[], dtype: 'float64'): undefined | number[];
|
|
30
|
+
cast(x: T[], dtype: 'float32'): undefined | number[];
|
|
31
|
+
cast(x: T[], dtype: 'int32'): undefined | number[];
|
|
32
|
+
cast(x: T[], dtype: 'uint8'): undefined | number[];
|
|
33
|
+
cast(x: T[], dtype: 'complex128'): undefined | Complex[];
|
|
34
|
+
cast(x: T[], dtype: 'complex64'): undefined | Complex[];
|
|
35
|
+
cast(x: T[], dtype: 'bool'): undefined | boolean[];
|
|
36
|
+
cast(x: T[], dtype: 'string'): undefined | string[];
|
|
37
|
+
cast(x: T[], dtype: 'expression'): undefined | BoxedExpression[];
|
|
38
|
+
cast(x: T | T[], dtype: TensorDataType): undefined | Complex | number | boolean | string | BoxedExpression | Complex[] | number[] | boolean[] | string[] | BoxedExpression[];
|
|
39
|
+
expression(x: T): BoxedExpression;
|
|
40
|
+
isZero(x: T): boolean;
|
|
41
|
+
isOne(x: T): boolean;
|
|
42
|
+
equals(lhs: T, rhs: T): boolean;
|
|
43
|
+
add(lhs: T, rhs: T): T;
|
|
44
|
+
addn(...xs: T[]): T;
|
|
45
|
+
neg(x: T): T;
|
|
46
|
+
sub(lhs: T, rhs: T): T;
|
|
47
|
+
mul(lhs: T, rhs: T): T;
|
|
48
|
+
muln(...xs: T[]): T;
|
|
49
|
+
div(lhs: T, rhs: T): T;
|
|
50
|
+
pow(rhs: T, n: number): T;
|
|
51
|
+
conjugate(x: T): T;
|
|
52
|
+
}
|
|
53
|
+
export declare class TensorFieldNumber implements TensorField<number> {
|
|
54
|
+
private ce;
|
|
55
|
+
one: number;
|
|
56
|
+
zero: number;
|
|
57
|
+
nan: number;
|
|
58
|
+
constructor(ce: IComputeEngine);
|
|
59
|
+
cast(x: number, dtype: 'float64'): undefined | number;
|
|
60
|
+
cast(x: number, dtype: 'float32'): undefined | number;
|
|
61
|
+
cast(x: number, dtype: 'int32'): undefined | number;
|
|
62
|
+
cast(x: number, dtype: 'uint8'): undefined | number;
|
|
63
|
+
cast(x: number, dtype: 'complex128'): undefined | Complex;
|
|
64
|
+
cast(x: number, dtype: 'complex64'): undefined | Complex;
|
|
65
|
+
cast(x: number, dtype: 'bool'): undefined | boolean;
|
|
66
|
+
cast(x: number, dtype: 'string'): undefined | string;
|
|
67
|
+
cast(x: number, dtype: 'expression'): undefined | BoxedExpression;
|
|
68
|
+
cast(x: number[], dtype: 'float64'): undefined | number[];
|
|
69
|
+
cast(x: number[], dtype: 'float32'): undefined | number[];
|
|
70
|
+
cast(x: number[], dtype: 'int32'): undefined | number[];
|
|
71
|
+
cast(x: number[], dtype: 'uint8'): undefined | number[];
|
|
72
|
+
cast(x: number[], dtype: 'complex128'): undefined | Complex[];
|
|
73
|
+
cast(x: number[], dtype: 'complex64'): undefined | Complex[];
|
|
74
|
+
cast(x: number[], dtype: 'bool'): undefined | boolean[];
|
|
75
|
+
cast(x: number[], dtype: 'string'): undefined | string[];
|
|
76
|
+
cast(x: number[], dtype: 'expression'): undefined | BoxedExpression[];
|
|
77
|
+
expression(x: number): BoxedExpression;
|
|
78
|
+
isZero(x: number): boolean;
|
|
79
|
+
isOne(x: number): boolean;
|
|
80
|
+
equals(lhs: number, rhs: number): boolean;
|
|
81
|
+
add(lhs: number, rhs: number): number;
|
|
82
|
+
addn(...xs: number[]): number;
|
|
83
|
+
neg(x: number): number;
|
|
84
|
+
sub(lhs: number, rhs: number): number;
|
|
85
|
+
mul(lhs: number, rhs: number): number;
|
|
86
|
+
muln(...xs: number[]): number;
|
|
87
|
+
div(lhs: number, rhs: number): number;
|
|
88
|
+
pow(lhs: number, rhs: number): number;
|
|
89
|
+
conjugate(x: number): number;
|
|
90
|
+
}
|
|
91
|
+
export declare class TensorFieldExpression implements TensorField<BoxedExpression> {
|
|
92
|
+
one: BoxedExpression;
|
|
93
|
+
zero: BoxedExpression;
|
|
94
|
+
nan: BoxedExpression;
|
|
95
|
+
private ce;
|
|
96
|
+
constructor(ce: IComputeEngine);
|
|
97
|
+
cast(x: BoxedExpression, dtype: 'float64'): undefined | number;
|
|
98
|
+
cast(x: BoxedExpression, dtype: 'float32'): undefined | number;
|
|
99
|
+
cast(x: BoxedExpression, dtype: 'int32'): undefined | number;
|
|
100
|
+
cast(x: BoxedExpression, dtype: 'uint8'): undefined | number;
|
|
101
|
+
cast(x: BoxedExpression, dtype: 'complex128'): undefined | Complex;
|
|
102
|
+
cast(x: BoxedExpression, dtype: 'complex64'): undefined | Complex;
|
|
103
|
+
cast(x: BoxedExpression, dtype: 'bool'): undefined | boolean;
|
|
104
|
+
cast(x: BoxedExpression, dtype: 'string'): undefined | string;
|
|
105
|
+
cast(x: BoxedExpression, dtype: 'expression'): undefined | BoxedExpression;
|
|
106
|
+
cast(x: BoxedExpression[], dtype: 'float64'): undefined | number[];
|
|
107
|
+
cast(x: BoxedExpression[], dtype: 'float32'): undefined | number[];
|
|
108
|
+
cast(x: BoxedExpression[], dtype: 'int32'): undefined | number[];
|
|
109
|
+
cast(x: BoxedExpression[], dtype: 'uint8'): undefined | number[];
|
|
110
|
+
cast(x: BoxedExpression[], dtype: 'complex128'): undefined | Complex[];
|
|
111
|
+
cast(x: BoxedExpression[], dtype: 'complex64'): undefined | Complex[];
|
|
112
|
+
cast(x: BoxedExpression[], dtype: 'bool'): undefined | boolean[];
|
|
113
|
+
cast(x: BoxedExpression[], dtype: 'string'): undefined | string[];
|
|
114
|
+
cast(x: BoxedExpression[], dtype: 'expression'): undefined | BoxedExpression[];
|
|
115
|
+
expression(x: BoxedExpression): BoxedExpression;
|
|
116
|
+
isZero(x: BoxedExpression): boolean;
|
|
117
|
+
isOne(x: BoxedExpression): boolean;
|
|
118
|
+
equals(lhs: BoxedExpression, rhs: BoxedExpression): boolean;
|
|
119
|
+
add(lhs: BoxedExpression, rhs: BoxedExpression): BoxedExpression;
|
|
120
|
+
addn(...xs: BoxedExpression[]): BoxedExpression;
|
|
121
|
+
neg(x: BoxedExpression): BoxedExpression;
|
|
122
|
+
sub(lhs: BoxedExpression, rhs: BoxedExpression): BoxedExpression;
|
|
123
|
+
mul(lhs: BoxedExpression, rhs: BoxedExpression): BoxedExpression;
|
|
124
|
+
muln(...xs: BoxedExpression[]): BoxedExpression;
|
|
125
|
+
div(lhs: BoxedExpression, rhs: BoxedExpression): BoxedExpression;
|
|
126
|
+
pow(lhs: BoxedExpression, rhs: number): BoxedExpression;
|
|
127
|
+
conjugate(x: BoxedExpression): BoxedExpression;
|
|
128
|
+
}
|
|
129
|
+
export declare class TensorFieldComplex implements TensorField<Complex> {
|
|
130
|
+
one: Complex;
|
|
131
|
+
zero: Complex;
|
|
132
|
+
nan: Complex;
|
|
133
|
+
private ce;
|
|
134
|
+
constructor(ce: IComputeEngine);
|
|
135
|
+
cast(x: Complex, dtype: 'float64'): undefined | number;
|
|
136
|
+
cast(x: Complex, dtype: 'float32'): undefined | number;
|
|
137
|
+
cast(x: Complex, dtype: 'int32'): undefined | number;
|
|
138
|
+
cast(x: Complex, dtype: 'uint8'): undefined | number;
|
|
139
|
+
cast(x: Complex, dtype: 'complex128'): undefined | Complex;
|
|
140
|
+
cast(x: Complex, dtype: 'complex64'): undefined | Complex;
|
|
141
|
+
cast(x: Complex, dtype: 'bool'): undefined | boolean;
|
|
142
|
+
cast(x: Complex, dtype: 'string'): undefined | string;
|
|
143
|
+
cast(x: Complex, dtype: 'expression'): undefined | BoxedExpression;
|
|
144
|
+
cast(x: Complex[], dtype: 'float64'): undefined | number[];
|
|
145
|
+
cast(x: Complex[], dtype: 'float32'): undefined | number[];
|
|
146
|
+
cast(x: Complex[], dtype: 'int32'): undefined | number[];
|
|
147
|
+
cast(x: Complex[], dtype: 'uint8'): undefined | number[];
|
|
148
|
+
cast(x: Complex[], dtype: 'complex128'): undefined | Complex[];
|
|
149
|
+
cast(x: Complex[], dtype: 'complex64'): undefined | Complex[];
|
|
150
|
+
cast(x: Complex[], dtype: 'bool'): undefined | boolean[];
|
|
151
|
+
cast(x: Complex[], dtype: 'string'): undefined | string[];
|
|
152
|
+
cast(x: Complex[], dtype: 'expression'): undefined | BoxedExpression[];
|
|
153
|
+
expression(z: Complex): BoxedExpression;
|
|
154
|
+
isZero(z: Complex): boolean;
|
|
155
|
+
isOne(z: Complex): boolean;
|
|
156
|
+
equals(lhs: Complex, rhs: Complex): boolean;
|
|
157
|
+
add(lhs: Complex, rhs: Complex): Complex;
|
|
158
|
+
addn(...xs: Complex[]): Complex;
|
|
159
|
+
neg(z: Complex): Complex;
|
|
160
|
+
sub(lhs: Complex, rhs: Complex): Complex;
|
|
161
|
+
mul(lhs: Complex, rhs: Complex): Complex;
|
|
162
|
+
muln(...xs: Complex[]): Complex;
|
|
163
|
+
div(lhs: Complex, rhs: Complex): Complex;
|
|
164
|
+
pow(lhs: Complex, rhs: number): Complex;
|
|
165
|
+
conjugate(z: Complex): Complex;
|
|
166
|
+
}
|
|
167
|
+
export declare function getSupertype(t1: TensorDataType, t2: TensorDataType): TensorDataType;
|
|
168
|
+
export declare function getExpressionDatatype(expr: BoxedExpression): TensorDataType;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/* 0.22.0 */
|
|
2
|
+
import { DataTypeMap, TensorDataType, TensorField } from './tensor-fields';
|
|
3
|
+
export interface TensorData<DT extends keyof DataTypeMap = 'float64'> {
|
|
4
|
+
dtype: DT;
|
|
5
|
+
shape: number[];
|
|
6
|
+
data: DataTypeMap[DT][];
|
|
7
|
+
}
|
|
8
|
+
export type NestedArray<T> = NestedArray_<T>[];
|
|
9
|
+
export type NestedArray_<T> = T | NestedArray_<T>[];
|
|
10
|
+
export declare abstract class AbstractTensor<DT extends keyof DataTypeMap> implements TensorData<DT> {
|
|
11
|
+
private ce;
|
|
12
|
+
/**
|
|
13
|
+
* Return a tuple of tensors that have the same dtype.
|
|
14
|
+
* If necessary, one of the two input tensors is upcast.
|
|
15
|
+
*
|
|
16
|
+
* The shape of the tensors is reshape to a compatible
|
|
17
|
+
* shape. If the shape is not compatible, `undefined` is returned.
|
|
18
|
+
*
|
|
19
|
+
* @param lhs
|
|
20
|
+
* @param rhs
|
|
21
|
+
*/
|
|
22
|
+
static align<T1 extends TensorDataType, T2 extends TensorDataType>(lhs: AbstractTensor<T1>, rhs: AbstractTensor<T2>): [AbstractTensor<T1>, AbstractTensor<T1>];
|
|
23
|
+
static align<T1 extends TensorDataType, T2 extends TensorDataType>(lhs: AbstractTensor<T1>, rhs: AbstractTensor<T2>): [AbstractTensor<T2>, AbstractTensor<T2>];
|
|
24
|
+
/**
|
|
25
|
+
* Apply a function to the elements of two tensors, or to a tensor
|
|
26
|
+
* and a scalar.
|
|
27
|
+
*
|
|
28
|
+
* The tensors are aligned and broadcasted if necessary.
|
|
29
|
+
*
|
|
30
|
+
* @param fn
|
|
31
|
+
* @param lhs
|
|
32
|
+
* @param rhs
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
static broadcast<T extends TensorDataType>(fn: (lhs: DataTypeMap[T], rhs: DataTypeMap[T]) => DataTypeMap[T], lhs: AbstractTensor<T>, rhs: AbstractTensor<T> | DataTypeMap[T]): AbstractTensor<T>;
|
|
36
|
+
readonly field: TensorField<DataTypeMap[DT]>;
|
|
37
|
+
readonly shape: number[];
|
|
38
|
+
readonly rank: number;
|
|
39
|
+
private readonly _strides;
|
|
40
|
+
constructor(ce: IComputeEngine, tensorData: TensorData<DT>);
|
|
41
|
+
abstract get dtype(): DT;
|
|
42
|
+
abstract get data(): DataTypeMap[DT][];
|
|
43
|
+
get expression(): BoxedExpression;
|
|
44
|
+
/**
|
|
45
|
+
* Like expression(), but return a nested JS array instead
|
|
46
|
+
* of a BoxedExpression
|
|
47
|
+
*/
|
|
48
|
+
get array(): NestedArray<DataTypeMap[DT]>;
|
|
49
|
+
/** Indices are 1-based, return a 0-based index in the data */
|
|
50
|
+
private _index;
|
|
51
|
+
get isSquare(): boolean;
|
|
52
|
+
get isSymmetric(): boolean;
|
|
53
|
+
get isSkewSymmetric(): boolean;
|
|
54
|
+
get isUpperTriangular(): boolean;
|
|
55
|
+
get isLowerTriangular(): boolean;
|
|
56
|
+
get isTriangular(): boolean;
|
|
57
|
+
get isDiagonal(): boolean;
|
|
58
|
+
get isIdentity(): boolean;
|
|
59
|
+
get isZero(): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* The number of indices should match the rank of the tensor.
|
|
62
|
+
*
|
|
63
|
+
* Note: the indices are 1-based
|
|
64
|
+
* Note: the data is broadcast (wraps around) if the indices are out of bounds
|
|
65
|
+
*
|
|
66
|
+
* LaTeX notation `A\lbracki, j\rbrack` or `A_{i, j}`
|
|
67
|
+
*/
|
|
68
|
+
at(...indices: number[]): DataTypeMap[DT];
|
|
69
|
+
diagonal(axis1?: number, axis2?: number): undefined | DataTypeMap[DT][];
|
|
70
|
+
trace(axis1?: number, axis2?: number): undefined | DataTypeMap[DT];
|
|
71
|
+
/**
|
|
72
|
+
* Change the shape of the tensor
|
|
73
|
+
*
|
|
74
|
+
* The data is reused (and shared) between the two tensors.
|
|
75
|
+
*/
|
|
76
|
+
reshape(...shape: number[]): AbstractTensor<DT>;
|
|
77
|
+
flatten(): DataTypeMap[DT][];
|
|
78
|
+
upcast<DT extends keyof DataTypeMap>(dtype: DT): AbstractTensor<DT>;
|
|
79
|
+
/** Transpose the first and second axis */
|
|
80
|
+
transpose(): undefined | AbstractTensor<DT>;
|
|
81
|
+
/** Transpose two axes. */
|
|
82
|
+
transpose(axis1: number, axis2: number, fn?: (v: DataTypeMap[DT]) => DataTypeMap[DT]): undefined | AbstractTensor<DT>;
|
|
83
|
+
conjugateTranspose(axis1: number, axis2: number): undefined | AbstractTensor<DT>;
|
|
84
|
+
determinant(): undefined | DataTypeMap[DT];
|
|
85
|
+
inverse(): undefined | AbstractTensor<DT>;
|
|
86
|
+
pseudoInverse(): undefined | AbstractTensor<DT>;
|
|
87
|
+
adjugateMatrix(): undefined | AbstractTensor<DT>;
|
|
88
|
+
minor(i: number, j: number): undefined | DataTypeMap[DT];
|
|
89
|
+
map1(fn: (lhs: DataTypeMap[DT], rhs: DataTypeMap[DT]) => DataTypeMap[DT], scalar: DataTypeMap[DT]): AbstractTensor<DT>;
|
|
90
|
+
map2(fn: (lhs: DataTypeMap[DT], rhs: DataTypeMap[DT]) => DataTypeMap[DT], rhs: AbstractTensor<DT>): AbstractTensor<DT>;
|
|
91
|
+
add(rhs: AbstractTensor<DT> | DataTypeMap[DT]): AbstractTensor<DT>;
|
|
92
|
+
subtract(rhs: AbstractTensor<DT> | DataTypeMap[DT]): AbstractTensor<DT>;
|
|
93
|
+
multiply(rhs: AbstractTensor<DT> | DataTypeMap[DT]): AbstractTensor<DT>;
|
|
94
|
+
divide(rhs: AbstractTensor<DT> | DataTypeMap[DT]): AbstractTensor<DT>;
|
|
95
|
+
power(rhs: AbstractTensor<DT> | DataTypeMap[DT]): AbstractTensor<DT>;
|
|
96
|
+
equals(rhs: AbstractTensor<DT>): boolean;
|
|
97
|
+
}
|
|
98
|
+
export declare function makeTensor<T extends TensorDataType>(ce: IComputeEngine, data: TensorData<T> | {
|
|
99
|
+
head: string;
|
|
100
|
+
ops: BoxedExpression[];
|
|
101
|
+
dtype: T;
|
|
102
|
+
shape: number[];
|
|
103
|
+
}): AbstractTensor<T>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* 0.
|
|
2
|
-
export declare const version = "0.
|
|
1
|
+
/* 0.22.0 */
|
|
2
|
+
export declare const version = "0.22.0";
|
|
3
3
|
export { ComputeEngine } from './compute-engine/compute-engine';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.22.0 */
|
|
2
2
|
export declare const MISSING: Expression;
|
|
3
3
|
export declare function isNumberExpression(expr: Expression | null): expr is number | string | MathJsonNumber;
|
|
4
4
|
export declare function isNumberObject(expr: Expression | null): expr is MathJsonNumber;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.22.0 */
|
|
2
2
|
export { isSymbolObject, isStringObject, isFunctionObject, isDictionaryObject, stringValue as getStringValue, head, headName, symbol, applyRecursively, mapArgs, op, nops, dictionary as getDictionary, } from './math-json/utils';
|
|
3
|
-
export declare const version = "0.
|
|
3
|
+
export declare const version = "0.22.0";
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.22.0",
|
|
3
3
|
"scripts": {
|
|
4
4
|
"build": "bash ./scripts/build.sh",
|
|
5
5
|
"clean": "bash ./scripts/clean.sh",
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"files": [
|
|
39
39
|
"/dist"
|
|
40
40
|
],
|
|
41
|
+
"type": "module",
|
|
41
42
|
"exports": {
|
|
42
43
|
".": {
|
|
43
44
|
"types": "./dist/types/compute-engine.d.ts",
|