@pie-framework/math-validation 1.4.2 → 1.4.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/lib/conversion/ast-to-mathjs.d.ts +1 -1
- package/lib/conversion/ast-to-mathjs.js +1 -1
- package/lib/conversion/ast-to-mathjs.js.map +1 -1
- package/lib/conversion/flatten.js +6 -6
- package/lib/conversion/flatten.js.map +1 -1
- package/lib/conversion/latex-to-ast.d.ts +1 -1
- package/lib/conversion/latex-to-ast.js +4 -4
- package/lib/conversion/latex-to-ast.js.map +1 -1
- package/lib/conversion/lexer.d.ts +2 -2
- package/lib/conversion/lexer.js +1 -1
- package/lib/conversion/lexer.js.map +1 -1
- package/lib/demo.d.ts +1 -1
- package/lib/demo.js +2 -2
- package/lib/demo.js.map +1 -1
- package/lib/difference.js +1 -1
- package/lib/difference.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/latex-equal.d.ts +3 -3
- package/lib/latex-equal.js +3 -3
- package/lib/latex-equal.js.map +1 -1
- package/lib/literal/index.d.ts +1 -1
- package/lib/literal/index.js +3 -3
- package/lib/literal/index.js.map +1 -1
- package/lib/mathjs.js +1 -1
- package/lib/mathjs.js.map +1 -1
- package/lib/node-sort.js +4 -4
- package/lib/node-sort.js.map +1 -1
- package/lib/symbolic/compare-compound-inequations.d.ts +2 -2
- package/lib/symbolic/compare-compound-inequations.js +14 -14
- package/lib/symbolic/compare-compound-inequations.js.map +1 -1
- package/lib/symbolic/compare-equations.js +25 -27
- package/lib/symbolic/compare-equations.js.map +1 -1
- package/lib/symbolic/index.d.ts +1 -1
- package/lib/symbolic/index.js +150 -25
- package/lib/symbolic/index.js.map +1 -1
- package/lib/symbolic/utils.d.ts +5 -1
- package/lib/symbolic/utils.js +138 -22
- package/lib/symbolic/utils.js.map +1 -1
- package/package.json +19 -12
package/lib/mathjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.replacer = exports.parse = exports.mathjs = void 0;
|
|
4
4
|
const mathjs_1 = require("mathjs");
|
|
5
|
-
exports.mathjs = mathjs_1.create(mathjs_1.all, { number: "Fraction" });
|
|
5
|
+
exports.mathjs = (0, mathjs_1.create)(mathjs_1.all, { number: "Fraction" });
|
|
6
6
|
exports.parse = exports.mathjs.parse;
|
|
7
7
|
// @ts-ignore
|
|
8
8
|
exports.replacer = exports.mathjs.replacer;
|
package/lib/mathjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mathjs.js","sourceRoot":"","sources":["../src/mathjs.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AACxB,QAAA,MAAM,GAAG,eAAM,
|
|
1
|
+
{"version":3,"file":"mathjs.js","sourceRoot":"","sources":["../src/mathjs.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AACxB,QAAA,MAAM,GAAG,IAAA,eAAM,EAAC,YAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAC3C,aAAK,GAAK,cAAM,OAAC;AAEhC,aAAa;AACA,QAAA,QAAQ,GAAG,cAAM,CAAC,QAAQ,CAAC"}
|
package/lib/node-sort.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.sort = exports.sortRelationalNode = exports.flattenNode = void 0;
|
|
|
4
4
|
const log_1 = require("./log");
|
|
5
5
|
const mathjs_1 = require("./mathjs");
|
|
6
6
|
const m = mathjs_1.mathjs;
|
|
7
|
-
const log = log_1.logger("mv:node-sort");
|
|
7
|
+
const log = (0, log_1.logger)("mv:node-sort");
|
|
8
8
|
//import { string } from "mathjs";
|
|
9
9
|
/**
|
|
10
10
|
* The plan with node sort was to sort all the nodes in an expression where possible
|
|
@@ -185,7 +185,7 @@ const sortRelationalNode = (node) => {
|
|
|
185
185
|
node.params.reverse();
|
|
186
186
|
}
|
|
187
187
|
if (parent && parent.type === "RelationalNode" && node.args) {
|
|
188
|
-
node = exports.sort(node);
|
|
188
|
+
node = (0, exports.sort)(node);
|
|
189
189
|
}
|
|
190
190
|
return node;
|
|
191
191
|
});
|
|
@@ -195,7 +195,7 @@ exports.sortRelationalNode = sortRelationalNode;
|
|
|
195
195
|
const sort = (node) => {
|
|
196
196
|
let resultNode = node;
|
|
197
197
|
if (node.type === "RelationalNode") {
|
|
198
|
-
return exports.sortRelationalNode(node);
|
|
198
|
+
return (0, exports.sortRelationalNode)(node);
|
|
199
199
|
}
|
|
200
200
|
if (node.isOperatorNode && node.fn === "smaller") {
|
|
201
201
|
node.op = ">";
|
|
@@ -228,7 +228,7 @@ const sort = (node) => {
|
|
|
228
228
|
node.items = node.items.sort(newCompare);
|
|
229
229
|
return node;
|
|
230
230
|
}
|
|
231
|
-
const flattened = exports.flattenNode(node);
|
|
231
|
+
const flattened = (0, exports.flattenNode)(node);
|
|
232
232
|
resultNode = flattened.transform(applySort);
|
|
233
233
|
return resultNode;
|
|
234
234
|
};
|
package/lib/node-sort.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-sort.js","sourceRoot":"","sources":["../src/node-sort.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,qCAAyC;AAIzC,MAAM,CAAC,GAAQ,eAAG,CAAC;AAEnB,MAAM,GAAG,GAAG,YAAM,
|
|
1
|
+
{"version":3,"file":"node-sort.js","sourceRoot":"","sources":["../src/node-sort.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,10 +28,10 @@ const splitInequality = (compoundInequality) => ({
|
|
|
28
28
|
exports.splitInequality = splitInequality;
|
|
29
29
|
// get interval inferior/superior limits
|
|
30
30
|
const getLimit = (expressionsPair, limitType) => {
|
|
31
|
-
const expressionR = utils_1.transformEqualityInExpression(expressionsPair.right);
|
|
32
|
-
const expressionL = utils_1.transformEqualityInExpression(expressionsPair.left);
|
|
33
|
-
const xFirstInequality = utils_1.solveLinearEquation(utils_1.getCoefficients(expressionR, true));
|
|
34
|
-
const xSecondInequality = utils_1.solveLinearEquation(utils_1.getCoefficients(expressionL, true));
|
|
31
|
+
const expressionR = (0, utils_1.transformEqualityInExpression)(expressionsPair.right);
|
|
32
|
+
const expressionL = (0, utils_1.transformEqualityInExpression)(expressionsPair.left);
|
|
33
|
+
const xFirstInequality = (0, utils_1.solveLinearEquation)((0, utils_1.getCoefficients)(expressionR, true));
|
|
34
|
+
const xSecondInequality = (0, utils_1.solveLinearEquation)((0, utils_1.getCoefficients)(expressionL, true));
|
|
35
35
|
if (limitType === "inferior") {
|
|
36
36
|
return Math.min(xFirstInequality, xSecondInequality);
|
|
37
37
|
}
|
|
@@ -39,26 +39,26 @@ const getLimit = (expressionsPair, limitType) => {
|
|
|
39
39
|
};
|
|
40
40
|
exports.getLimit = getLimit;
|
|
41
41
|
const compareCompoundInequations = (firstInequation, secondInequation) => {
|
|
42
|
-
if (!utils_1.expressionsCanBeCompared(firstInequation, secondInequation)) {
|
|
42
|
+
if (!(0, utils_1.expressionsCanBeCompared)(firstInequation, secondInequation)) {
|
|
43
43
|
return false;
|
|
44
44
|
}
|
|
45
|
-
const firstInequalityVariablesName = utils_1.getVariables(firstInequation);
|
|
46
|
-
const secondInequalityVariablesName = utils_1.getVariables(secondInequation);
|
|
47
|
-
if (!utils_1.equationsHaveTheSameVariables(firstInequalityVariablesName, secondInequalityVariablesName) &&
|
|
45
|
+
const firstInequalityVariablesName = (0, utils_1.getVariables)(firstInequation);
|
|
46
|
+
const secondInequalityVariablesName = (0, utils_1.getVariables)(secondInequation);
|
|
47
|
+
if (!(0, utils_1.equationsHaveTheSameVariables)(firstInequalityVariablesName, secondInequalityVariablesName) &&
|
|
48
48
|
(firstInequalityVariablesName === null || firstInequalityVariablesName === void 0 ? void 0 : firstInequalityVariablesName.length) === 1) {
|
|
49
49
|
return false;
|
|
50
50
|
}
|
|
51
|
-
const firstInequalities = exports.splitInequality(firstInequation);
|
|
52
|
-
const secondInequalities = exports.splitInequality(secondInequation);
|
|
51
|
+
const firstInequalities = (0, exports.splitInequality)(firstInequation);
|
|
52
|
+
const secondInequalities = (0, exports.splitInequality)(secondInequation);
|
|
53
53
|
// find out interval for inequality solution;
|
|
54
54
|
// it does not matter whether we have an open, or half-open/half-close interval, the signs are already compared and at this point they match
|
|
55
55
|
let firstInequalitiesSolution = {
|
|
56
|
-
min: exports.getLimit(firstInequalities, "inferior"),
|
|
57
|
-
max: exports.getLimit(firstInequalities, "superior"),
|
|
56
|
+
min: (0, exports.getLimit)(firstInequalities, "inferior"),
|
|
57
|
+
max: (0, exports.getLimit)(firstInequalities, "superior"),
|
|
58
58
|
};
|
|
59
59
|
let secondInequalitiesSolution = {
|
|
60
|
-
min: exports.getLimit(secondInequalities, "inferior"),
|
|
61
|
-
max: exports.getLimit(secondInequalities, "superior"),
|
|
60
|
+
min: (0, exports.getLimit)(secondInequalities, "inferior"),
|
|
61
|
+
max: (0, exports.getLimit)(secondInequalities, "superior"),
|
|
62
62
|
};
|
|
63
63
|
// if interval limits are the same for both inequalities then we can say that inequalities are equivalent
|
|
64
64
|
return (firstInequalitiesSolution.min === secondInequalitiesSolution.min &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare-compound-inequations.js","sourceRoot":"","sources":["../../src/symbolic/compare-compound-inequations.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAEnC,mCAOiB;AAEjB,MAAM,CAAC,GAAQ,eAAM,CAAC;AAYtB,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,EAAE;IACrC,QAAQ,QAAQ,EAAE;QAChB,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC;QACb,KAAK,WAAW;YACd,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,UAAU;YACb,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,IAAI,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC;KACf;AACH,CAAC,CAAC;AAEF,4IAA4I;AACrI,MAAM,eAAe,GAAG,CAAC,kBAAuB,EAAY,EAAE,CAAC,CAAC;IACrE,IAAI,EAAE,IAAI,CAAC,CAAC,YAAY,CACtB,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC7C,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,EAClC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC7D;IACD,KAAK,EAAE,IAAI,CAAC,CAAC,YAAY,CACvB,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC7C,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,EAClC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC7D;CACF,CAAC,CAAC;AAXU,QAAA,eAAe,mBAWzB;AAEH,wCAAwC;AACjC,MAAM,QAAQ,GAAG,CACtB,eAAyB,EACzB,SAAiB,EACT,EAAE;IACV,MAAM,WAAW,GAAG,qCAA6B,
|
|
1
|
+
{"version":3,"file":"compare-compound-inequations.js","sourceRoot":"","sources":["../../src/symbolic/compare-compound-inequations.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,27 +10,27 @@ const compareCoefficients = (firstEqCoeff, secondEqCoeff) => Array.isArray(first
|
|
|
10
10
|
firstEqCoeff.every((val, index) => val === secondEqCoeff[index]);
|
|
11
11
|
const compareEquations = (firstEquation, secondEquation, isInequality) => {
|
|
12
12
|
let equivalence = false;
|
|
13
|
-
if (utils_1.expressionsCanBeCompared(firstEquation, secondEquation)) {
|
|
14
|
-
let firstExpression = utils_1.transformEqualityInExpression(firstEquation);
|
|
15
|
-
let secondExpression = utils_1.transformEqualityInExpression(secondEquation);
|
|
13
|
+
if ((0, utils_1.expressionsCanBeCompared)(firstEquation, secondEquation)) {
|
|
14
|
+
let firstExpression = (0, utils_1.transformEqualityInExpression)(firstEquation);
|
|
15
|
+
let secondExpression = (0, utils_1.transformEqualityInExpression)(secondEquation);
|
|
16
16
|
if (firstExpression.equals(secondExpression)) {
|
|
17
17
|
return true;
|
|
18
18
|
}
|
|
19
|
-
let firstEquationVariablesName = utils_1.getVariables(firstExpression);
|
|
20
|
-
let secondEquationVariablesName = utils_1.getVariables(secondExpression);
|
|
21
|
-
if (!utils_1.equationsHaveTheSameVariables(firstEquationVariablesName, secondEquationVariablesName)) {
|
|
19
|
+
let firstEquationVariablesName = (0, utils_1.getVariables)(firstExpression);
|
|
20
|
+
let secondEquationVariablesName = (0, utils_1.getVariables)(secondExpression);
|
|
21
|
+
if (!(0, utils_1.equationsHaveTheSameVariables)(firstEquationVariablesName, secondEquationVariablesName)) {
|
|
22
22
|
return false;
|
|
23
23
|
}
|
|
24
24
|
let firstEquationCoefficients;
|
|
25
25
|
let secondEquationCoefficients;
|
|
26
|
-
if (utils_1.hasSymbolicExponent(firstExpression) ||
|
|
27
|
-
utils_1.hasSymbolicExponent(secondExpression)) {
|
|
28
|
-
const isEquivalent = utils_1.areNumericallyEquivalent(firstExpression, secondExpression, firstEquationVariablesName);
|
|
26
|
+
if ((0, utils_1.hasSymbolicExponent)(firstExpression) ||
|
|
27
|
+
(0, utils_1.hasSymbolicExponent)(secondExpression)) {
|
|
28
|
+
const isEquivalent = (0, utils_1.areNumericallyEquivalent)(firstExpression, secondExpression, firstEquationVariablesName);
|
|
29
29
|
return isEquivalent;
|
|
30
30
|
}
|
|
31
31
|
if (firstEquationVariablesName.length === 1) {
|
|
32
|
-
firstEquationCoefficients = utils_1.getCoefficients(firstExpression, isInequality);
|
|
33
|
-
secondEquationCoefficients = utils_1.getCoefficients(secondExpression, isInequality);
|
|
32
|
+
firstEquationCoefficients = (0, utils_1.getCoefficients)(firstExpression, isInequality);
|
|
33
|
+
secondEquationCoefficients = (0, utils_1.getCoefficients)(secondExpression, isInequality);
|
|
34
34
|
// if coefficients are equal, there is no need for further calculations => equations are equivalent
|
|
35
35
|
if (compareCoefficients(firstEquationCoefficients, secondEquationCoefficients)) {
|
|
36
36
|
return true;
|
|
@@ -47,8 +47,8 @@ const compareEquations = (firstEquation, secondEquation, isInequality) => {
|
|
|
47
47
|
firstEquationCoefficients = firstEquationCoefficients.splice(1, 3);
|
|
48
48
|
secondEquationCoefficients = secondEquationCoefficients.splice(1, 3);
|
|
49
49
|
}
|
|
50
|
-
let rootsFirstEquation = utils_1.solveQuadraticEquation(firstEquationCoefficients);
|
|
51
|
-
let rootsSecondEquation = utils_1.solveQuadraticEquation(secondEquationCoefficients);
|
|
50
|
+
let rootsFirstEquation = (0, utils_1.solveQuadraticEquation)(firstEquationCoefficients);
|
|
51
|
+
let rootsSecondEquation = (0, utils_1.solveQuadraticEquation)(secondEquationCoefficients);
|
|
52
52
|
let firstRoot = m.complex(rootsFirstEquation);
|
|
53
53
|
let secondRoot = m.complex(rootsSecondEquation);
|
|
54
54
|
if (rootsFirstEquation[0].im === 0 && rootsFirstEquation[1].im === 0) {
|
|
@@ -67,25 +67,23 @@ const compareEquations = (firstEquation, secondEquation, isInequality) => {
|
|
|
67
67
|
}
|
|
68
68
|
// if both equations are linear in one variable then we solve "x" for both. If x has the same value then equations are equivalent
|
|
69
69
|
// solve linear equations
|
|
70
|
-
const solutionForFirstEquation = utils_1.solveLinearEquation(firstEquationCoefficients);
|
|
71
|
-
const solutionForSecondEquation = utils_1.solveLinearEquation(secondEquationCoefficients);
|
|
70
|
+
const solutionForFirstEquation = (0, utils_1.solveLinearEquation)(firstEquationCoefficients);
|
|
71
|
+
const solutionForSecondEquation = (0, utils_1.solveLinearEquation)(secondEquationCoefficients);
|
|
72
72
|
equivalence =
|
|
73
73
|
solutionForFirstEquation === solutionForSecondEquation &&
|
|
74
74
|
solutionForFirstEquation !== undefined;
|
|
75
|
+
// equations that are neither linear nor quadratic can't be solved above; compare them numerically instead
|
|
76
|
+
if (!isInequality &&
|
|
77
|
+
(solutionForFirstEquation === undefined ||
|
|
78
|
+
solutionForSecondEquation === undefined)) {
|
|
79
|
+
return (0, utils_1.areEquationsNumericallyEquivalent)(firstExpression, secondExpression, firstEquationVariablesName);
|
|
80
|
+
}
|
|
75
81
|
}
|
|
76
|
-
//
|
|
82
|
+
// equations in two variables describe the same curve when one is a multiple of the other;
|
|
83
|
+
// checking a single value of x is not enough, and fails for equations that are not linear in y (PIE-443)
|
|
84
|
+
// inequalities describe the same region only when the multiple is positive, since a negative one would flip the sign (PIE-1419)
|
|
77
85
|
if (firstEquationVariablesName.length === 2) {
|
|
78
|
-
|
|
79
|
-
// solve expression for x=1
|
|
80
|
-
let expraNoX = utils_1.setXToOne(firstExpression, x);
|
|
81
|
-
firstEquationCoefficients = utils_1.getCoefficients(expraNoX, isInequality);
|
|
82
|
-
let exprbNoX = utils_1.setXToOne(secondExpression, x);
|
|
83
|
-
secondEquationCoefficients = utils_1.getCoefficients(exprbNoX, isInequality);
|
|
84
|
-
// find y for both equations, where x equals 1
|
|
85
|
-
let yFromFirstExpression = utils_1.solveLinearEquation(firstEquationCoefficients);
|
|
86
|
-
let yFromSecondExpression = utils_1.solveLinearEquation(secondEquationCoefficients);
|
|
87
|
-
// if y has the same value, for the same x then the expressions should be equivalent
|
|
88
|
-
equivalence = yFromFirstExpression === yFromSecondExpression;
|
|
86
|
+
return (0, utils_1.areEquationsNumericallyEquivalent)(firstExpression, secondExpression, firstEquationVariablesName, { allowVariableFactor: true, positiveOnly: isInequality });
|
|
89
87
|
}
|
|
90
88
|
// determine equivalence between 2-way inequalities with 1 or 2 variables:
|
|
91
89
|
// we treat 2-way inequalities the same way as linear equations in 1 or 2 variables; we find out the solutions that solve the inequality then compare them
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare-equations.js","sourceRoot":"","sources":["../../src/symbolic/compare-equations.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAEnC,mCAWiB;AAEjB,MAAM,CAAC,GAAQ,eAAM,CAAC;AAEtB,MAAM,mBAAmB,GAAG,CAAC,YAAsB,EAAE,aAAuB,EAAE,EAAE,CAC9E,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;IAC3B,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;IAC5B,YAAY,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;IAC5C,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAE5D,MAAM,gBAAgB,GAAG,CAC9B,aAAuB,EACvB,cAAwB,EACxB,YAAqB,EACrB,EAAE;IACF,IAAI,WAAW,GAAY,KAAK,CAAC;IAEjC,IAAI,gCAAwB,
|
|
1
|
+
{"version":3,"file":"compare-equations.js","sourceRoot":"","sources":["../../src/symbolic/compare-equations.ts"],"names":[],"mappings":"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"}
|
package/lib/symbolic/index.d.ts
CHANGED
package/lib/symbolic/index.js
CHANGED
|
@@ -3,13 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.isMathEqual = exports.simplify = void 0;
|
|
4
4
|
const log_1 = require("../log");
|
|
5
5
|
const mathjs_1 = require("../mathjs");
|
|
6
|
+
const mathjs_2 = require("mathjs");
|
|
6
7
|
const node_sort_1 = require("../node-sort");
|
|
7
8
|
const compare_equations_1 = require("./compare-equations");
|
|
8
9
|
const compare_compound_inequations_1 = require("./compare-compound-inequations");
|
|
9
10
|
const m = mathjs_1.mathjs;
|
|
10
|
-
const log = log_1.logger("mv:symbolic");
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const log = (0, log_1.logger)("mv:symbolic");
|
|
12
|
+
// an angle counts as k quarter turns (90°, 180°, ...) only when it is one up to floating-point error,
|
|
13
|
+
// which keeps angles that are only close, like 89.9999°, 1.5708 or 9090.001°, from being matched
|
|
14
|
+
const ANGLE_TOLERANCE = 1e-9;
|
|
15
|
+
// angles are evaluated as plain numbers, the Fraction config used elsewhere cannot represent pi
|
|
16
|
+
const numeric = (0, mathjs_2.create)(mathjs_2.all);
|
|
17
|
+
// tolerances for floating-point noise from trig functions, pi and angle conversions (PIE-905);
|
|
18
|
+
// the noise grows with the angle, e.g. sin(2pi) = -2.4e-16, sin(200pi) = 3.9e-15, tan(36045°) - 1 = -5.4e-14,
|
|
19
|
+
// so a value is accepted only when it agrees with the target to about 13 significant digits
|
|
20
|
+
const RELATIVE_EPSILON = 1e-13;
|
|
21
|
+
// floor for comparisons with 0, where a relative tolerance alone would require an exact match;
|
|
22
|
+
// it covers residues such as sin(200pi) and cos(100.5pi) while still rejecting 0 vs 0.0000000000001
|
|
23
|
+
const ABSOLUTE_EPSILON = 1e-14;
|
|
13
24
|
const { simplify: ms, rationalize } = mathjs_1.mathjs;
|
|
14
25
|
const SIMPLIFY_RULES = [
|
|
15
26
|
{ l: "n1^(1/n2)", r: "nthRoot(n1, n2)" },
|
|
@@ -59,8 +70,92 @@ const simplify = (v) => {
|
|
|
59
70
|
return ms(v, rules); //.concat(SIMPLIFY_RULES));
|
|
60
71
|
};
|
|
61
72
|
exports.simplify = simplify;
|
|
73
|
+
const hasSymbol = (node, matches) => {
|
|
74
|
+
let found = false;
|
|
75
|
+
// the name of a function such as sqrt is a symbol too, under the path "fn"
|
|
76
|
+
node.traverse((n, path) => {
|
|
77
|
+
found = found || (n.isSymbolNode && path !== "fn" && matches(n.name));
|
|
78
|
+
});
|
|
79
|
+
return found;
|
|
80
|
+
};
|
|
81
|
+
// evaluates a constant expression as a plain number, undefined if it has variables;
|
|
82
|
+
// any symbol other than pi and Infinity is a variable, even names mathjs knows as constants such as e, E or phi
|
|
83
|
+
const evaluateNumber = (node) => {
|
|
84
|
+
if (hasSymbol(node, (name) => name !== "pi" && name !== "Infinity")) {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
const value = numeric.evaluate(node.toString());
|
|
89
|
+
return typeof value === "number" ? value : undefined;
|
|
90
|
+
}
|
|
91
|
+
catch (e) {
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
// returns k when the constant angle is (within tolerance) a multiple k of pi/2
|
|
96
|
+
const quarterTurns = (angle) => {
|
|
97
|
+
const value = evaluateNumber(angle);
|
|
98
|
+
if (value === undefined || !isFinite(value)) {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
const turns = value / (Math.PI / 2);
|
|
102
|
+
const k = Math.round(turns);
|
|
103
|
+
return Math.abs(turns - k) <= ANGLE_TOLERANCE * Math.max(1, Math.abs(k))
|
|
104
|
+
? k
|
|
105
|
+
: undefined;
|
|
106
|
+
};
|
|
107
|
+
// replace trigonometric functions evaluated at an angle where they are zero or undefined
|
|
108
|
+
// with their exact value, so that tan(90°) becomes Infinity instead of a large finite number
|
|
109
|
+
const snapTrigonometricValues = (node) => {
|
|
110
|
+
let changed = false;
|
|
111
|
+
const r = node.transform((n) => {
|
|
112
|
+
var _a;
|
|
113
|
+
if (!n.isFunctionNode || ((_a = n.args) === null || _a === void 0 ? void 0 : _a.length) !== 1) {
|
|
114
|
+
return n;
|
|
115
|
+
}
|
|
116
|
+
const k = quarterTurns(n.args[0]);
|
|
117
|
+
if (k === undefined) {
|
|
118
|
+
return n;
|
|
119
|
+
}
|
|
120
|
+
const odd = Math.abs(k) % 2 === 1;
|
|
121
|
+
let snapped = n;
|
|
122
|
+
switch (n.fn.name) {
|
|
123
|
+
case "sin":
|
|
124
|
+
snapped = odd ? n : new m.ConstantNode(0);
|
|
125
|
+
break;
|
|
126
|
+
case "cos":
|
|
127
|
+
snapped = odd ? new m.ConstantNode(0) : n;
|
|
128
|
+
break;
|
|
129
|
+
case "tan":
|
|
130
|
+
snapped = odd ? new m.SymbolNode("Infinity") : new m.ConstantNode(0);
|
|
131
|
+
break;
|
|
132
|
+
case "cot":
|
|
133
|
+
snapped = odd ? new m.ConstantNode(0) : new m.SymbolNode("Infinity");
|
|
134
|
+
break;
|
|
135
|
+
case "sec":
|
|
136
|
+
snapped = odd ? new m.SymbolNode("Infinity") : n;
|
|
137
|
+
break;
|
|
138
|
+
case "csc":
|
|
139
|
+
snapped = odd ? n : new m.SymbolNode("Infinity");
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
changed = changed || snapped !== n;
|
|
143
|
+
return snapped;
|
|
144
|
+
});
|
|
145
|
+
// keep the original node when nothing was replaced, later steps rely on its identity
|
|
146
|
+
return { r: changed ? r : node, changed };
|
|
147
|
+
};
|
|
62
148
|
const normalize = (a) => {
|
|
63
|
-
|
|
149
|
+
const snapped = snapTrigonometricValues(a);
|
|
150
|
+
let r = snapped.r;
|
|
151
|
+
// simplify and rationalize treat Infinity as a variable (1 / Infinity + 3 becomes (1 + 3 * Infinity) / Infinity)
|
|
152
|
+
// and keep the sign of a division by zero, so a constant expression with an Infinity or a division by zero is evaluated before it is normalized;
|
|
153
|
+
// other constant expressions keep their exact value, such as 1/3 in sin(0) + 1/3
|
|
154
|
+
const snappedValue = snapped.changed ? evaluateNumber(r) : undefined;
|
|
155
|
+
const valueWithSnappedTrigonometry = snappedValue !== undefined &&
|
|
156
|
+
(!isFinite(snappedValue) || hasSymbol(r, (name) => name === "Infinity"))
|
|
157
|
+
? snappedValue
|
|
158
|
+
: undefined;
|
|
64
159
|
let onlyConstant = true;
|
|
65
160
|
let containsFunctionNode = false;
|
|
66
161
|
let containsArrayNode = false;
|
|
@@ -69,7 +164,7 @@ const normalize = (a) => {
|
|
|
69
164
|
r.traverse(function (node, path, parent) {
|
|
70
165
|
if (node.isArrayNode) {
|
|
71
166
|
containsArrayNode = true;
|
|
72
|
-
node.items = node.items.map((item) => exports.simplify(item));
|
|
167
|
+
node.items = node.items.map((item) => (0, exports.simplify)(item));
|
|
73
168
|
}
|
|
74
169
|
if (node.isSymbolNode) {
|
|
75
170
|
pi = pi || node.name === "pi";
|
|
@@ -83,7 +178,7 @@ const normalize = (a) => {
|
|
|
83
178
|
!containsInverseFlag &&
|
|
84
179
|
!pi) {
|
|
85
180
|
try {
|
|
86
|
-
arg = exports.simplify(arg);
|
|
181
|
+
arg = (0, exports.simplify)(arg);
|
|
87
182
|
}
|
|
88
183
|
catch (e) {
|
|
89
184
|
// ok;
|
|
@@ -97,7 +192,7 @@ const normalize = (a) => {
|
|
|
97
192
|
r.args = r.args.map((arg) => {
|
|
98
193
|
if (!arg.isFunctionNode && !arg.isArrayNode) {
|
|
99
194
|
try {
|
|
100
|
-
arg = rationalize(exports.simplify(arg), {}, true).expression;
|
|
195
|
+
arg = rationalize((0, exports.simplify)(arg), {}, true).expression;
|
|
101
196
|
}
|
|
102
197
|
catch (e) {
|
|
103
198
|
// ok;
|
|
@@ -115,31 +210,51 @@ const normalize = (a) => {
|
|
|
115
210
|
catch (_a) { }
|
|
116
211
|
}
|
|
117
212
|
if (r.conditionals && r.params) {
|
|
118
|
-
r.params = r.params.map((param) => node_sort_1.sort(exports.simplify(param)));
|
|
213
|
+
r.params = r.params.map((param) => (0, node_sort_1.sort)((0, exports.simplify)(param)));
|
|
119
214
|
}
|
|
120
215
|
if (!containsArrayNode && !onlyConstant) {
|
|
121
216
|
// overcome TypeError
|
|
122
217
|
try {
|
|
123
|
-
r = exports.simplify(r);
|
|
218
|
+
r = (0, exports.simplify)(r);
|
|
124
219
|
}
|
|
125
220
|
catch (e) { }
|
|
126
221
|
}
|
|
127
222
|
log("[normalize] input: ", a.toString(), "output: ", r.toString());
|
|
128
|
-
//
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
223
|
+
// an undefined value has no sign, so -tan(90°) and -1/cos(90°) are Infinity as well;
|
|
224
|
+
// an indeterminate result such as tan(90°) - tan(90°) or 0 * tan(90°) is NaN and must not simplify to a number
|
|
225
|
+
if (valueWithSnappedTrigonometry !== undefined) {
|
|
226
|
+
r = isNaN(valueWithSnappedTrigonometry)
|
|
227
|
+
? new m.SymbolNode("NaN")
|
|
228
|
+
: isFinite(valueWithSnappedTrigonometry)
|
|
229
|
+
? new m.ConstantNode(valueWithSnappedTrigonometry)
|
|
230
|
+
: new m.SymbolNode("Infinity");
|
|
231
|
+
}
|
|
232
|
+
if (r.toString() === "Infinity") {
|
|
132
233
|
r = new m.SymbolNode("Infinity");
|
|
133
234
|
}
|
|
134
|
-
|
|
135
|
-
|
|
235
|
+
return r;
|
|
236
|
+
};
|
|
237
|
+
// numeric value of an expression without variables, such as 5, -5 or -1/2; undefined for anything else
|
|
238
|
+
const constantValue = (node) => {
|
|
239
|
+
if (node.filter((n) => n.isSymbolNode).length > 0) {
|
|
240
|
+
return undefined;
|
|
136
241
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
242
|
+
try {
|
|
243
|
+
const result = node.evaluate();
|
|
244
|
+
// equations and inequalities without variables evaluate to booleans
|
|
245
|
+
if (typeof result === "boolean") {
|
|
246
|
+
return undefined;
|
|
247
|
+
}
|
|
248
|
+
const value = +result;
|
|
249
|
+
return Number.isFinite(value) ? value : undefined;
|
|
250
|
+
}
|
|
251
|
+
catch (e) {
|
|
252
|
+
return undefined;
|
|
140
253
|
}
|
|
141
|
-
return r;
|
|
142
254
|
};
|
|
255
|
+
const areNearlyEqual = (a, b) => Math.abs(a - b) <
|
|
256
|
+
ABSOLUTE_EPSILON + RELATIVE_EPSILON * Math.max(Math.abs(a), Math.abs(b));
|
|
257
|
+
const isIndeterminate = (node) => (node === null || node === void 0 ? void 0 : node.isSymbolNode) && node.name === "NaN";
|
|
143
258
|
const isMathEqual = (a, b) => {
|
|
144
259
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
145
260
|
let as;
|
|
@@ -158,18 +273,28 @@ const isMathEqual = (a, b) => {
|
|
|
158
273
|
return false;
|
|
159
274
|
}
|
|
160
275
|
// apply sort if we are not in a relationalNode
|
|
161
|
-
as = a.conditionals ? normalize(a) : node_sort_1.sort(normalize(a));
|
|
162
|
-
bs = b.conditionals ? normalize(b) : node_sort_1.sort(normalize(b));
|
|
276
|
+
as = a.conditionals ? normalize(a) : (0, node_sort_1.sort)(normalize(a));
|
|
277
|
+
bs = b.conditionals ? normalize(b) : (0, node_sort_1.sort)(normalize(b));
|
|
163
278
|
log("[isMathEqual]", as.toString(), "==?", bs.toString());
|
|
164
|
-
|
|
279
|
+
// an indeterminate result such as tan(90°) - tan(90°) is not equal to anything, not even another indeterminate result
|
|
280
|
+
if (isIndeterminate(as) || isIndeterminate(bs)) {
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
const isSortingEnough = (0, node_sort_1.sort)(a).equals((0, node_sort_1.sort)(b));
|
|
165
284
|
const isTexEnough = as.toTex().trim() === bs.toTex().trim();
|
|
166
285
|
let equality = isTexEnough || as.equals(bs) || isSortingEnough;
|
|
167
286
|
if (equality) {
|
|
168
287
|
return true;
|
|
169
288
|
}
|
|
289
|
+
// compare constant results numerically, allowing only for floating-point noise
|
|
290
|
+
const aValue = constantValue(as);
|
|
291
|
+
const bValue = constantValue(bs);
|
|
292
|
+
if (aValue !== undefined && bValue !== undefined) {
|
|
293
|
+
return areNearlyEqual(aValue, bValue);
|
|
294
|
+
}
|
|
170
295
|
// if both expressions are equations
|
|
171
296
|
if (as.fn === "equal" && bs.fn === "equal") {
|
|
172
|
-
return compare_equations_1.compareEquations(as, bs, false);
|
|
297
|
+
return (0, compare_equations_1.compareEquations)(as, bs, false);
|
|
173
298
|
}
|
|
174
299
|
// if both expressions are inequalities treat greater sign as equal sign
|
|
175
300
|
if ((as.fn === "larger" && bs.fn === "larger") ||
|
|
@@ -181,7 +306,7 @@ const isMathEqual = (a, b) => {
|
|
|
181
306
|
bs.fn = "equal";
|
|
182
307
|
as.op = "=";
|
|
183
308
|
bs.op = "=";
|
|
184
|
-
return compare_equations_1.compareEquations(as, bs, true);
|
|
309
|
+
return (0, compare_equations_1.compareEquations)(as, bs, true);
|
|
185
310
|
}
|
|
186
311
|
// check for compound inequalities/3-way inequalities
|
|
187
312
|
if (
|
|
@@ -206,7 +331,7 @@ const isMathEqual = (a, b) => {
|
|
|
206
331
|
//@ts-ignore
|
|
207
332
|
bs.conditionals.includes(param));
|
|
208
333
|
if (paramsIncludedA && paramsIncludedB) {
|
|
209
|
-
return compare_compound_inequations_1.compareCompoundInequations(as, bs);
|
|
334
|
+
return (0, compare_compound_inequations_1.compareCompoundInequations)(as, bs);
|
|
210
335
|
}
|
|
211
336
|
}
|
|
212
337
|
return equality;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/symbolic/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/symbolic/index.ts"],"names":[],"mappings":"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"}
|
package/lib/symbolic/utils.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { MathNode } from "mathjs";
|
|
2
2
|
export declare const expressionsCanBeCompared: (firstEquation: MathNode, secondEquation: MathNode) => boolean;
|
|
3
3
|
export declare const hasSymbolicExponent: (node: MathNode) => boolean;
|
|
4
|
+
export declare const getSamplePoints: (variables: string[], count?: number) => Record<string, number>[];
|
|
4
5
|
export declare const areNumericallyEquivalent: (exprA: MathNode, exprB: MathNode, variables: string[], tolerance?: number) => boolean;
|
|
6
|
+
export declare const areEquationsNumericallyEquivalent: (firstExpression: MathNode, secondExpression: MathNode, variables: string[], options?: {
|
|
7
|
+
allowVariableFactor?: boolean;
|
|
8
|
+
positiveOnly?: boolean;
|
|
9
|
+
}) => boolean;
|
|
5
10
|
export declare const transformEqualityInExpression: (equality: MathNode) => MathNode;
|
|
6
11
|
export declare const getVariables: (equation: MathNode) => string[];
|
|
7
12
|
export declare const getCoefficients: (equation: MathNode, isInequality: boolean) => any;
|
|
8
|
-
export declare const setXToOne: (equation: any, variableName: string) => any;
|
|
9
13
|
export declare const solveQuadraticEquation: (coefficients: number[]) => {
|
|
10
14
|
re: any;
|
|
11
15
|
im: number;
|