@cortex-js/compute-engine 0.33.0 → 0.34.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/dist/compute-engine.esm.js +15940 -10828
- package/dist/compute-engine.min.esm.js +76 -52
- package/dist/compute-engine.min.umd.js +76 -52
- package/dist/compute-engine.umd.js +15940 -10828
- package/dist/math-json.esm.js +2 -2
- package/dist/math-json.min.esm.js +2 -2
- package/dist/math-json.min.umd.js +2 -2
- package/dist/math-json.umd.js +2 -2
- package/dist/types/common/ansi-codes.d.ts +1 -1
- package/dist/types/common/configuration-change.d.ts +1 -1
- package/dist/types/common/fuzzy-string-match.d.ts +1 -1
- package/dist/types/common/grapheme-splitter.d.ts +1 -1
- package/dist/types/common/interruptible.d.ts +1 -1
- package/dist/types/common/one-of.d.ts +1 -1
- package/dist/types/common/signals.d.ts +1 -1
- package/dist/types/common/type/ast-nodes.d.ts +1 -1
- package/dist/types/common/type/boxed-type.d.ts +1 -1
- package/dist/types/common/type/lexer.d.ts +1 -1
- package/dist/types/common/type/parse.d.ts +1 -1
- package/dist/types/common/type/parser.d.ts +1 -1
- package/dist/types/common/type/primitive.d.ts +1 -1
- package/dist/types/common/type/reduce.d.ts +12 -0
- package/dist/types/common/type/serialize.d.ts +1 -1
- package/dist/types/common/type/subtype.d.ts +1 -1
- package/dist/types/common/type/type-builder.d.ts +1 -1
- package/dist/types/common/type/types.d.ts +1 -1
- package/dist/types/common/type/utils.d.ts +1 -1
- package/dist/types/common/utils.d.ts +1 -1
- package/dist/types/compute-engine/assume.d.ts +37 -1
- package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +5 -3
- package/dist/types/compute-engine/boxed-expression/apply.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/arithmetic-mul-div.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/box.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +2 -2
- package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-operator-definition.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.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +2 -1
- package/dist/types/compute-engine/boxed-expression/boxed-value-definition.d.ts +5 -1
- package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/canonical-utils.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/canonical.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/compare.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/expand.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/factor.d.ts +47 -1
- package/dist/types/compute-engine/boxed-expression/flatten.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/hold.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/match.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/negate.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/numerics.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/product.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/rules.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/serialize.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/sgn.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/simplify.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/solve-linear-system.d.ts +60 -0
- package/dist/types/compute-engine/boxed-expression/solve.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/terms.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/trigonometry.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/compilation/base-compiler.d.ts +31 -0
- package/dist/types/compute-engine/compilation/glsl-target.d.ts +63 -0
- package/dist/types/compute-engine/compilation/javascript-target.d.ts +68 -0
- package/dist/types/compute-engine/compilation/types.d.ts +140 -0
- package/dist/types/compute-engine/cost-function.d.ts +1 -1
- package/dist/types/compute-engine/function-utils.d.ts +1 -1
- package/dist/types/compute-engine/global-types.d.ts +340 -8
- package/dist/types/compute-engine/index.d.ts +186 -3
- 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 +1 -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-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 +8 -1
- package/dist/types/compute-engine/latex-syntax/parse-symbol.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/parse.d.ts +21 -1
- 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/latex-syntax/types.d.ts +23 -2
- package/dist/types/compute-engine/latex-syntax/utils.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/combinatorics.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 +1 -1
- package/dist/types/compute-engine/library/invisible-operator.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-analysis.d.ts +159 -4
- package/dist/types/compute-engine/library/logic-utils.d.ts +1 -1
- package/dist/types/compute-engine/library/logic.d.ts +1 -1
- package/dist/types/compute-engine/library/number-theory.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 +1 -1
- package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +1 -1
- package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +1 -1
- package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +1 -1
- package/dist/types/compute-engine/numeric-value/types.d.ts +1 -1
- package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
- package/dist/types/compute-engine/numerics/expression.d.ts +1 -1
- package/dist/types/compute-engine/numerics/interval.d.ts +1 -1
- package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
- 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 +1 -1
- 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/numerics/special-functions.d.ts +1 -1
- package/dist/types/compute-engine/numerics/statistics.d.ts +1 -1
- package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
- package/dist/types/compute-engine/numerics/types.d.ts +1 -1
- package/dist/types/compute-engine/oeis.d.ts +85 -0
- package/dist/types/compute-engine/sequence.d.ts +120 -0
- package/dist/types/compute-engine/symbolic/antiderivative.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/derivative.d.ts +17 -2
- package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/fu-cost.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/fu.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-log.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-power.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-product.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +1 -1
- package/dist/types/compute-engine/tensor/tensor-fields.d.ts +1 -1
- package/dist/types/compute-engine/tensor/tensors.d.ts +1 -1
- package/dist/types/compute-engine/types.d.ts +1 -1
- package/dist/types/compute-engine.d.ts +5 -1
- package/dist/types/math-json/symbols.d.ts +1 -1
- package/dist/types/math-json/types.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 -2
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/* 0.34.0 */
|
|
2
|
+
* OEIS (Online Encyclopedia of Integer Sequences) Integration
|
|
3
|
+
*
|
|
4
|
+
* This module provides functions to look up sequences in the OEIS database
|
|
5
|
+
* and import them for use in the compute engine.
|
|
6
|
+
*
|
|
7
|
+
* @see https://oeis.org
|
|
8
|
+
*/
|
|
9
|
+
import type { ComputeEngine, BoxedExpression } from './global-types';
|
|
10
|
+
/**
|
|
11
|
+
* Result from an OEIS lookup operation.
|
|
12
|
+
*/
|
|
13
|
+
export interface OEISSequenceInfo {
|
|
14
|
+
/** OEIS sequence ID (e.g., 'A000045') */
|
|
15
|
+
id: string;
|
|
16
|
+
/** Sequence name/description */
|
|
17
|
+
name: string;
|
|
18
|
+
/** First several terms of the sequence */
|
|
19
|
+
terms: number[];
|
|
20
|
+
/** Formula or recurrence (if available) */
|
|
21
|
+
formula?: string;
|
|
22
|
+
/** Comments about the sequence */
|
|
23
|
+
comments?: string[];
|
|
24
|
+
/** URL to the OEIS page */
|
|
25
|
+
url: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Options for OEIS operations.
|
|
29
|
+
*/
|
|
30
|
+
export interface OEISOptions {
|
|
31
|
+
/** Request timeout in milliseconds (default: 10000) */
|
|
32
|
+
timeout?: number;
|
|
33
|
+
/** Maximum number of results to return for lookups (default: 5) */
|
|
34
|
+
maxResults?: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Look up sequences in OEIS by their terms.
|
|
38
|
+
*
|
|
39
|
+
* @param terms - Array of sequence terms to search for
|
|
40
|
+
* @param options - Optional configuration
|
|
41
|
+
* @returns Promise resolving to array of matching sequences
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const results = await lookupOEISByTerms([0, 1, 1, 2, 3, 5, 8, 13]);
|
|
46
|
+
* // → [{ id: 'A000045', name: 'Fibonacci numbers', ... }]
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare function lookupOEISByTerms(terms: number[], options?: OEISOptions): Promise<OEISSequenceInfo[]>;
|
|
50
|
+
/**
|
|
51
|
+
* Look up a sequence in OEIS by its ID.
|
|
52
|
+
*
|
|
53
|
+
* @param id - OEIS sequence ID (e.g., 'A000045' or '45')
|
|
54
|
+
* @param options - Optional configuration
|
|
55
|
+
* @returns Promise resolving to sequence info, or undefined if not found
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* const fib = await lookupOEISById('A000045');
|
|
60
|
+
* // → { id: 'A000045', name: 'Fibonacci numbers', terms: [0, 1, 1, 2, ...], ... }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function lookupOEISById(id: string, options?: OEISOptions): Promise<OEISSequenceInfo | undefined>;
|
|
64
|
+
/**
|
|
65
|
+
* Look up a sequence in OEIS by its terms.
|
|
66
|
+
*
|
|
67
|
+
* @param ce - ComputeEngine instance
|
|
68
|
+
* @param terms - Array of sequence terms (numbers or BoxedExpressions)
|
|
69
|
+
* @param options - Optional configuration
|
|
70
|
+
* @returns Promise resolving to array of matching sequences
|
|
71
|
+
*/
|
|
72
|
+
export declare function lookupSequence(ce: ComputeEngine, terms: (number | BoxedExpression)[], options?: OEISOptions): Promise<OEISSequenceInfo[]>;
|
|
73
|
+
/**
|
|
74
|
+
* Check if a defined sequence matches an OEIS sequence.
|
|
75
|
+
*
|
|
76
|
+
* @param ce - ComputeEngine instance
|
|
77
|
+
* @param name - Name of the defined sequence
|
|
78
|
+
* @param count - Number of terms to check (default: 10)
|
|
79
|
+
* @param options - Optional configuration
|
|
80
|
+
* @returns Promise with match results
|
|
81
|
+
*/
|
|
82
|
+
export declare function checkSequence(ce: ComputeEngine, name: string, count?: number, options?: OEISOptions): Promise<{
|
|
83
|
+
matches: OEISSequenceInfo[];
|
|
84
|
+
terms: number[];
|
|
85
|
+
}>;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/* 0.34.0 */
|
|
2
|
+
* Utilities for declarative sequence definitions.
|
|
3
|
+
*
|
|
4
|
+
* This module provides functions to create subscriptEvaluate handlers
|
|
5
|
+
* from sequence definitions (base cases + recurrence relation).
|
|
6
|
+
*/
|
|
7
|
+
import type { BoxedExpression, ComputeEngine, SequenceDefinition, SequenceStatus, SequenceInfo } from './global-types';
|
|
8
|
+
/**
|
|
9
|
+
* Create a subscriptEvaluate handler from a sequence definition.
|
|
10
|
+
*
|
|
11
|
+
* The handler evaluates expressions like `F_{10}` or `P_{5,2}` by:
|
|
12
|
+
* 1. Checking base cases first (with pattern matching for multi-index)
|
|
13
|
+
* 2. Looking up memoized values
|
|
14
|
+
* 3. Recursively evaluating the recurrence relation
|
|
15
|
+
*
|
|
16
|
+
* Supports both single-index and multi-index sequences:
|
|
17
|
+
* - Single-index: `F_{10}` with subscript as a number
|
|
18
|
+
* - Multi-index: `P_{5,2}` with subscript as `Sequence(5, 2)`
|
|
19
|
+
*/
|
|
20
|
+
export declare function createSequenceHandler(ce: ComputeEngine, name: string, def: SequenceDefinition): (subscript: BoxedExpression, options: {
|
|
21
|
+
engine: ComputeEngine;
|
|
22
|
+
numericApproximation?: boolean;
|
|
23
|
+
}) => BoxedExpression | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Validate a sequence definition.
|
|
26
|
+
*/
|
|
27
|
+
export declare function validateSequenceDefinition(ce: ComputeEngine, name: string, def: SequenceDefinition): {
|
|
28
|
+
valid: boolean;
|
|
29
|
+
error?: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Add a base case for a single-index sequence definition.
|
|
33
|
+
* e.g., from `L_0 := 1`
|
|
34
|
+
*/
|
|
35
|
+
export declare function addSequenceBaseCase(ce: ComputeEngine, name: string, index: number, value: BoxedExpression): void;
|
|
36
|
+
/**
|
|
37
|
+
* Add a base case for a multi-index sequence definition.
|
|
38
|
+
* e.g., from `P_{0,0} := 1` or `P_{n,0} := 1`
|
|
39
|
+
*
|
|
40
|
+
* @param key - The base case key, e.g., '0,0' for exact or 'n,0' for pattern
|
|
41
|
+
*/
|
|
42
|
+
export declare function addMultiIndexBaseCase(ce: ComputeEngine, name: string, key: string, value: BoxedExpression): void;
|
|
43
|
+
/**
|
|
44
|
+
* Add a recurrence relation for a single-index sequence definition.
|
|
45
|
+
* e.g., from `L_n := L_{n-1} + 1`
|
|
46
|
+
*
|
|
47
|
+
* We store the recurrence as a LaTeX string rather than a BoxedExpression
|
|
48
|
+
* because the expression may have been parsed before the symbol was declared
|
|
49
|
+
* with subscriptEvaluate. Storing as LaTeX allows us to re-parse fresh when
|
|
50
|
+
* creating the handler, ensuring proper binding.
|
|
51
|
+
*/
|
|
52
|
+
export declare function addSequenceRecurrence(ce: ComputeEngine, name: string, variable: string, expr: BoxedExpression): void;
|
|
53
|
+
/**
|
|
54
|
+
* Add a recurrence relation for a multi-index sequence definition.
|
|
55
|
+
* e.g., from `P_{n,k} := P_{n-1,k-1} + P_{n-1,k}`
|
|
56
|
+
*
|
|
57
|
+
* @param variables - The index variable names, e.g., ['n', 'k']
|
|
58
|
+
*/
|
|
59
|
+
export declare function addMultiIndexRecurrence(ce: ComputeEngine, name: string, variables: string[], expr: BoxedExpression): void;
|
|
60
|
+
/**
|
|
61
|
+
* Check if expression contains self-reference to sequence name.
|
|
62
|
+
* e.g., `a_{n-1}` when defining sequence 'a'
|
|
63
|
+
*/
|
|
64
|
+
export declare function containsSelfReference(expr: BoxedExpression, seqName: string): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Extract the index variable from a subscript expression.
|
|
67
|
+
* e.g., from `n-1` extract 'n', from `2*k` extract 'k'
|
|
68
|
+
*/
|
|
69
|
+
export declare function extractIndexVariable(subscript: BoxedExpression): string | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Get the status of a sequence definition.
|
|
72
|
+
*
|
|
73
|
+
* Returns information about whether a sequence is complete, pending, or not defined.
|
|
74
|
+
* Supports both single-index and multi-index sequences.
|
|
75
|
+
*/
|
|
76
|
+
export declare function getSequenceStatus(ce: ComputeEngine, name: string): SequenceStatus;
|
|
77
|
+
/**
|
|
78
|
+
* Get information about a defined sequence.
|
|
79
|
+
* Returns `undefined` if the symbol is not a complete sequence.
|
|
80
|
+
* Supports both single-index and multi-index sequences.
|
|
81
|
+
*/
|
|
82
|
+
export declare function getSequenceInfo(ce: ComputeEngine, name: string): SequenceInfo | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* List all defined sequences.
|
|
85
|
+
*/
|
|
86
|
+
export declare function listSequences(ce: ComputeEngine): string[];
|
|
87
|
+
/**
|
|
88
|
+
* Check if a symbol is a defined sequence.
|
|
89
|
+
*/
|
|
90
|
+
export declare function isSequence(ce: ComputeEngine, name: string): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Clear the memoization cache for a sequence or all sequences.
|
|
93
|
+
*/
|
|
94
|
+
export declare function clearSequenceCache(ce: ComputeEngine, name?: string): void;
|
|
95
|
+
/**
|
|
96
|
+
* Get the memoization cache for a sequence.
|
|
97
|
+
* Returns a copy of the cache Map, or `undefined` if not a sequence or memoization is disabled.
|
|
98
|
+
*
|
|
99
|
+
* For single-index sequences, keys are numbers.
|
|
100
|
+
* For multi-index sequences, keys are comma-separated strings (e.g., '5,2').
|
|
101
|
+
*/
|
|
102
|
+
export declare function getSequenceCache(ce: ComputeEngine, name: string): Map<number | string, BoxedExpression> | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Generate a list of sequence terms from start to end (inclusive).
|
|
105
|
+
*
|
|
106
|
+
* @param ce - The compute engine
|
|
107
|
+
* @param name - The sequence name
|
|
108
|
+
* @param start - Starting index (inclusive)
|
|
109
|
+
* @param end - Ending index (inclusive)
|
|
110
|
+
* @param step - Step size (default: 1)
|
|
111
|
+
* @returns Array of BoxedExpressions for each term, or undefined if not a sequence
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* // For Fibonacci sequence F
|
|
116
|
+
* generateSequenceTerms(ce, 'F', 0, 10);
|
|
117
|
+
* // → [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export declare function generateSequenceTerms(ce: ComputeEngine, name: string, start: number, end: number, step?: number): BoxedExpression[] | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
/**
|
|
3
3
|
*
|
|
4
4
|
* @param fn The function to differentiate, a function literal.
|
|
@@ -14,5 +14,20 @@ export declare function derivative(fn: BoxedExpression, order: number): BoxedExp
|
|
|
14
14
|
* All expressions that do not explicitly depend on `v` are taken to have zero
|
|
15
15
|
* partial derivative.
|
|
16
16
|
*
|
|
17
|
+
* ## Recursion Safety
|
|
18
|
+
*
|
|
19
|
+
* This function includes a depth limit (`MAX_DIFFERENTIATION_DEPTH`) to prevent
|
|
20
|
+
* stack overflow from pathological expressions. The depth is tracked internally
|
|
21
|
+
* and incremented on each recursive call. If the limit is reached, the function
|
|
22
|
+
* returns `undefined` rather than continuing to recurse.
|
|
23
|
+
*
|
|
24
|
+
* Normal differentiation (including higher-order derivatives of complex
|
|
25
|
+
* expressions) should never approach this limit. Hitting the limit indicates
|
|
26
|
+
* either a bug in the differentiation rules or a maliciously constructed input.
|
|
27
|
+
*
|
|
28
|
+
* @param expr - The expression to differentiate
|
|
29
|
+
* @param v - The variable to differentiate with respect to
|
|
30
|
+
* @param depth - Internal recursion depth counter (do not pass manually)
|
|
31
|
+
* @returns The derivative expression, or `undefined` if unable to differentiate
|
|
17
32
|
*/
|
|
18
|
-
export declare function differentiate(expr: BoxedExpression, v: string): BoxedExpression | undefined;
|
|
33
|
+
export declare function differentiate(expr: BoxedExpression, v: string, depth?: number): BoxedExpression | undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
export declare function simplifyHyperbolic(x: BoxedExpression): RuleStep | undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
export declare function simplifyTrig(x: BoxedExpression): RuleStep | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
import { BoxedExpression, ComputeEngine, DataTypeMap, TensorDataType, TensorField } from '../global-types';
|
|
3
3
|
/** @category Tensors */
|
|
4
4
|
export declare function makeTensorField<DT extends keyof DataTypeMap>(ce: ComputeEngine, dtype: DT): TensorField<DataTypeMap[DT]>;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
export { ComputeEngine } from './compute-engine/index';
|
|
3
3
|
export * from './compute-engine/types';
|
|
4
|
+
export type { CompileTarget, CompiledOperators, CompiledFunctions, CompilationOptions, CompiledExecutable, LanguageTarget, TargetSource, CompiledFunction, } from './compute-engine/compilation/types';
|
|
5
|
+
export { JavaScriptTarget } from './compute-engine/compilation/javascript-target';
|
|
6
|
+
export { GLSLTarget } from './compute-engine/compilation/glsl-target';
|
|
7
|
+
export { BaseCompiler } from './compute-engine/compilation/base-compiler';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
export declare const MISSING: Expression;
|
|
3
3
|
export declare function isNumberExpression(expr: Expression | null): expr is number | string | MathJsonNumberObject;
|
|
4
4
|
export declare function isNumberObject(expr: Expression | null): expr is MathJsonNumberObject;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.34.0 */
|
|
2
2
|
export { isSymbolObject, isStringObject, isFunctionObject, stringValue, operator, operand, symbol, mapArgs, dictionaryFromExpression, } from './math-json/utils';
|
|
3
|
-
export declare const version = "0.
|
|
3
|
+
export declare const version = "0.34.0";
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.34.0",
|
|
3
3
|
"scripts": {
|
|
4
4
|
"doc": "bash ./scripts/doc.sh",
|
|
5
5
|
"build": "bash ./scripts/build.sh",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"jest-silent-reporter": "^0.6.0",
|
|
80
80
|
"open": "^10.1.2",
|
|
81
81
|
"prettier": "^3.6.2",
|
|
82
|
-
"prettier-2": "npm:prettier@^2",
|
|
82
|
+
"prettier-2": "npm:prettier@^2.8.8",
|
|
83
83
|
"serve-http": "^1.0.7",
|
|
84
84
|
"ts-jest": "^29.4.0",
|
|
85
85
|
"ts-node": "^10.9.2",
|