pimath 0.0.127 → 0.0.129
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/main.d.ts +39 -0
- package/{esm → dist}/maths/algebra/equation.d.ts +11 -10
- package/{esm → dist}/maths/algebra/linearSystem.d.ts +5 -4
- package/{esm → dist}/maths/algebra/monom.d.ts +5 -4
- package/{esm → dist}/maths/algebra/polynom.d.ts +11 -13
- package/{esm → dist}/maths/algebra/rational.d.ts +7 -9
- package/dist/maths/algebra/study/rationalStudy.d.ts +14 -0
- package/{esm → dist}/maths/algebra/study.d.ts +4 -7
- package/{esm → dist}/maths/geometry/circle.d.ts +9 -8
- package/{esm → dist}/maths/geometry/line.d.ts +17 -14
- package/{esm → dist}/maths/geometry/point.d.ts +11 -9
- package/{esm → dist}/maths/geometry/triangle.d.ts +4 -3
- package/{esm → dist}/maths/geometry/vector.d.ts +7 -10
- package/{esm → dist}/maths/randomization/random.d.ts +10 -7
- package/{esm → dist}/maths/randomization/rndFraction.d.ts +4 -3
- package/dist/maths/randomization/rndGeometryCircle.d.ts +13 -0
- package/{esm → dist}/maths/randomization/rndGeometryLine.d.ts +4 -3
- package/{esm → dist}/maths/randomization/rndGeometryPoint.d.ts +4 -3
- package/{esm → dist}/maths/randomization/rndMonom.d.ts +5 -4
- package/{esm → dist}/maths/randomization/rndPolynom.d.ts +5 -4
- package/{esm → dist}/maths/randomization/rndTypes.d.ts +7 -1
- package/dist/pimath.js +4239 -7819
- package/package.json +13 -7
- package/.eslintrc.js +0 -24
- package/.idea/$CACHE_FILE$ +0 -6
- package/.idea/PI.iml +0 -14
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/php.xml +0 -19
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]/shelved.patch +0 -192
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]1/shelved.patch +0 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30__Default_Changelist_.xml +0 -4
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43_[Default_Changelist]/shelved.patch +0 -2404
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43__Default_Changelist_.xml +0 -4
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01_[Default_Changelist]/shelved.patch +0 -1362
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01__Default_Changelist_.xml +0 -4
- package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31_[Default_Changelist]/shelved.patch +0 -90
- package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31__Default_Changelist_.xml +0 -4
- package/.idea/vcs.xml +0 -6
- package/dev/pimath.js +0 -7945
- package/dev/pimath.js.map +0 -1
- package/dist/pimath.js.map +0 -1
- package/dist/pimath.min.js +0 -2
- package/dist/pimath.min.js.map +0 -1
- package/docs/.nojekyll +0 -1
- package/docs/assets/highlight.css +0 -78
- package/docs/assets/main.js +0 -59
- package/docs/assets/navigation.js +0 -1
- package/docs/assets/search.js +0 -1
- package/docs/assets/style.css +0 -1383
- package/docs/classes/Logicalset.Logicalset.html +0 -217
- package/docs/classes/Polynom.Rational.html +0 -397
- package/docs/classes/Vector-1.Vector.html +0 -490
- package/docs/classes/Vector.Point.html +0 -337
- package/docs/classes/algebra_equation.Equation.html +0 -790
- package/docs/classes/algebra_linearSystem.LinearSystem.html +0 -404
- package/docs/classes/algebra_monom.Monom.html +0 -962
- package/docs/classes/algebra_polynom.Polynom.html +0 -1275
- package/docs/classes/coefficients_fraction.Fraction.html +0 -934
- package/docs/classes/geometry_circle.Circle.html +0 -472
- package/docs/classes/geometry_line.Line.html +0 -774
- package/docs/classes/geometry_triangle.Triangle.html +0 -429
- package/docs/classes/numeric.Numeric.html +0 -265
- package/docs/classes/shutingyard.Shutingyard.html +0 -250
- package/docs/enums/algebra_equation.PARTICULAR_SOLUTION.html +0 -83
- package/docs/enums/geometry_line.LinePropriety.html +0 -97
- package/docs/enums/shutingyard.ShutingyardMode.html +0 -97
- package/docs/enums/shutingyard.ShutingyardType.html +0 -111
- package/docs/index.html +0 -63
- package/docs/interfaces/algebra_equation.ISolution.html +0 -105
- package/docs/interfaces/algebra_polynom.IEuclidian.html +0 -87
- package/docs/interfaces/geometry_triangle.remarquableLines.html +0 -163
- package/docs/modules/Logicalset.html +0 -65
- package/docs/modules/Polynom.html +0 -65
- package/docs/modules/Vector-1.html +0 -65
- package/docs/modules/Vector.html +0 -65
- package/docs/modules/algebra_equation.html +0 -69
- package/docs/modules/algebra_linearSystem.html +0 -61
- package/docs/modules/algebra_monom.html +0 -65
- package/docs/modules/algebra_polynom.html +0 -69
- package/docs/modules/coefficients_fraction.html +0 -65
- package/docs/modules/geometry_circle.html +0 -61
- package/docs/modules/geometry_line.html +0 -65
- package/docs/modules/geometry_triangle.html +0 -65
- package/docs/modules/numeric.html +0 -61
- package/docs/modules/shutingyard.html +0 -75
- package/docs/types/algebra_monom.literalType.html +0 -61
- package/docs/types/algebra_polynom.PolynomParsingType.html +0 -56
- package/docs/types/coefficients_fraction.FractionParsingType.html +0 -56
- package/docs/types/shutingyard.Token.html +0 -63
- package/docs/types/shutingyard.tokenType.html +0 -68
- package/docs/variables/shutingyard.tokenConstant.html +0 -61
- package/esm/index.d.ts +0 -38
- package/esm/index.js +0 -44
- package/esm/index.js.map +0 -1
- package/esm/maths/algebra/equation.js +0 -797
- package/esm/maths/algebra/equation.js.map +0 -1
- package/esm/maths/algebra/linearSystem.js +0 -279
- package/esm/maths/algebra/linearSystem.js.map +0 -1
- package/esm/maths/algebra/logicalset.js +0 -158
- package/esm/maths/algebra/logicalset.js.map +0 -1
- package/esm/maths/algebra/monom.js +0 -909
- package/esm/maths/algebra/monom.js.map +0 -1
- package/esm/maths/algebra/polynom.js +0 -1305
- package/esm/maths/algebra/polynom.js.map +0 -1
- package/esm/maths/algebra/rational.js +0 -195
- package/esm/maths/algebra/rational.js.map +0 -1
- package/esm/maths/algebra/study/rationalStudy.d.ts +0 -28
- package/esm/maths/algebra/study/rationalStudy.js +0 -244
- package/esm/maths/algebra/study/rationalStudy.js.map +0 -1
- package/esm/maths/algebra/study.js +0 -380
- package/esm/maths/algebra/study.js.map +0 -1
- package/esm/maths/coefficients/fraction.js +0 -517
- package/esm/maths/coefficients/fraction.js.map +0 -1
- package/esm/maths/coefficients/nthRoot.js +0 -137
- package/esm/maths/coefficients/nthRoot.js.map +0 -1
- package/esm/maths/geometry/circle.js +0 -324
- package/esm/maths/geometry/circle.js.map +0 -1
- package/esm/maths/geometry/line.js +0 -485
- package/esm/maths/geometry/line.js.map +0 -1
- package/esm/maths/geometry/point.js +0 -167
- package/esm/maths/geometry/point.js.map +0 -1
- package/esm/maths/geometry/triangle.js +0 -276
- package/esm/maths/geometry/triangle.js.map +0 -1
- package/esm/maths/geometry/vector.js +0 -198
- package/esm/maths/geometry/vector.js.map +0 -1
- package/esm/maths/numeric.js +0 -136
- package/esm/maths/numeric.js.map +0 -1
- package/esm/maths/numexp.js +0 -186
- package/esm/maths/numexp.js.map +0 -1
- package/esm/maths/randomization/random.js +0 -79
- package/esm/maths/randomization/random.js.map +0 -1
- package/esm/maths/randomization/randomCore.js +0 -22
- package/esm/maths/randomization/randomCore.js.map +0 -1
- package/esm/maths/randomization/rndFraction.js +0 -44
- package/esm/maths/randomization/rndFraction.js.map +0 -1
- package/esm/maths/randomization/rndGeometryLine.js +0 -46
- package/esm/maths/randomization/rndGeometryLine.js.map +0 -1
- package/esm/maths/randomization/rndGeometryPoint.js +0 -61
- package/esm/maths/randomization/rndGeometryPoint.js.map +0 -1
- package/esm/maths/randomization/rndHelpers.js +0 -98
- package/esm/maths/randomization/rndHelpers.js.map +0 -1
- package/esm/maths/randomization/rndMonom.js +0 -53
- package/esm/maths/randomization/rndMonom.js.map +0 -1
- package/esm/maths/randomization/rndPolynom.js +0 -75
- package/esm/maths/randomization/rndPolynom.js.map +0 -1
- package/esm/maths/randomization/rndTypes.js +0 -3
- package/esm/maths/randomization/rndTypes.js.map +0 -1
- package/esm/maths/shutingyard.js +0 -443
- package/esm/maths/shutingyard.js.map +0 -1
- package/public/demo.css +0 -3
- package/public/index.html +0 -283
- package/public/matrices.html +0 -100
- package/public/playground.html +0 -168
- package/src/index.ts +0 -42
- package/src/maths/algebra/equation.ts +0 -897
- package/src/maths/algebra/linearSystem.ts +0 -370
- package/src/maths/algebra/logicalset.ts +0 -183
- package/src/maths/algebra/monom.ts +0 -1028
- package/src/maths/algebra/polynom.ts +0 -1537
- package/src/maths/algebra/rational.ts +0 -240
- package/src/maths/algebra/study/rationalStudy.ts +0 -287
- package/src/maths/algebra/study.ts +0 -506
- package/src/maths/coefficients/fraction.ts +0 -593
- package/src/maths/coefficients/nthRoot.ts +0 -148
- package/src/maths/geometry/circle.ts +0 -382
- package/src/maths/geometry/line.ts +0 -604
- package/src/maths/geometry/point.ts +0 -215
- package/src/maths/geometry/triangle.ts +0 -368
- package/src/maths/geometry/vector.ts +0 -242
- package/src/maths/numeric.ts +0 -162
- package/src/maths/numexp.ts +0 -184
- package/src/maths/randomization/random.ts +0 -80
- package/src/maths/randomization/randomCore.ts +0 -19
- package/src/maths/randomization/rndFraction.ts +0 -47
- package/src/maths/randomization/rndGeometryCircle.ts +0 -50
- package/src/maths/randomization/rndGeometryLine.ts +0 -53
- package/src/maths/randomization/rndGeometryPoint.ts +0 -69
- package/src/maths/randomization/rndHelpers.ts +0 -107
- package/src/maths/randomization/rndMonom.ts +0 -57
- package/src/maths/randomization/rndPolynom.ts +0 -90
- package/src/maths/randomization/rndTypes.ts +0 -43
- package/src/maths/shutingyard.ts +0 -496
- package/tests/algebra/equation.test.ts +0 -64
- package/tests/algebra/linear.test.ts +0 -58
- package/tests/algebra/monom.test.ts +0 -78
- package/tests/algebra/polynom.test.ts +0 -343
- package/tests/algebra/rationnal.test.ts +0 -64
- package/tests/algebra/study.test.ts +0 -48
- package/tests/coefficients/fraction.test.ts +0 -131
- package/tests/custom.test.ts +0 -33
- package/tests/geometry/circle.test.ts +0 -404
- package/tests/geometry/line.test.ts +0 -36
- package/tests/numeric.test.ts +0 -43
- package/tests/numexp.test.ts +0 -89
- package/tests/shutingyard.test.ts +0 -58
- package/tsconfig.json +0 -41
- package/tsconfig.testing.json +0 -28
- package/typedoc.katex.js +0 -11
- package/webpack-production-min.config.js +0 -26
- package/webpack-production.config.js +0 -26
- package/webpack.config.js +0 -26
- package/{esm → dist}/maths/algebra/logicalset.d.ts +6 -6
- package/{esm → dist}/maths/coefficients/fraction.d.ts +0 -0
- package/{esm → dist}/maths/coefficients/nthRoot.d.ts +0 -0
- package/{esm → dist}/maths/numeric.d.ts +0 -0
- package/{esm → dist}/maths/numexp.d.ts +3 -3
- /package/{esm → dist}/maths/randomization/randomCore.d.ts +0 -0
- /package/{esm → dist}/maths/randomization/rndHelpers.d.ts +0 -0
- /package/{esm → dist}/maths/shutingyard.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"equation.js","sourceRoot":"","sources":["../../../src/maths/algebra/equation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LinearSystem = void 0;
|
|
4
|
-
const equation_1 = require("./equation");
|
|
5
|
-
const fraction_1 = require("../coefficients/fraction");
|
|
6
|
-
const polynom_1 = require("./polynom");
|
|
7
|
-
const numeric_1 = require("../numeric");
|
|
8
|
-
// TODO: Must check and rework
|
|
9
|
-
class LinearSystem {
|
|
10
|
-
constructor(...equationStrings) {
|
|
11
|
-
this.buildTex = (equations, operators) => {
|
|
12
|
-
let equStr, equArray = [], m, letters = [];
|
|
13
|
-
// Get the letters from the linear system
|
|
14
|
-
for (let equ of equations) {
|
|
15
|
-
letters = letters.concat(equ.letters());
|
|
16
|
-
}
|
|
17
|
-
letters = [...new Set(letters)];
|
|
18
|
-
letters.sort();
|
|
19
|
-
for (let i = 0; i < equations.length; i++) {
|
|
20
|
-
let equ = equations[i];
|
|
21
|
-
equStr = [];
|
|
22
|
-
for (let L of letters) {
|
|
23
|
-
m = equ.left.monomByLetter(L);
|
|
24
|
-
if (equStr.length === 0) {
|
|
25
|
-
equStr.push(m.isZero() ? '' : m.tex);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
equStr.push(m.isZero() ? '' : ((m.coefficient.sign() === 1) ? '+' : '') + m.tex);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
// Add the equal sign
|
|
32
|
-
equStr.push('=');
|
|
33
|
-
// Add the right hand part of the equation (should be only a number, because it has been reordered)
|
|
34
|
-
equStr.push(equ.right.tex);
|
|
35
|
-
// Add the operations if existing
|
|
36
|
-
if (operators !== undefined && operators[i] !== undefined) {
|
|
37
|
-
// add extra space at the end of the equation
|
|
38
|
-
equStr[equStr.length - 1] = equStr[equStr.length - 1] + ' \\phantom{\\quad}';
|
|
39
|
-
for (let o of operators[i]) {
|
|
40
|
-
equStr.push(`\\ \\cdot\\ ${o.startsWith('-') ? "\\left(" + o + "\\right)" : o}`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
// Add to the list.
|
|
44
|
-
equArray.push(equStr.join('&'));
|
|
45
|
-
}
|
|
46
|
-
let operatorsColumns = 0;
|
|
47
|
-
if (operators !== undefined && operators.length > 0) {
|
|
48
|
-
operatorsColumns = operators[0].length;
|
|
49
|
-
}
|
|
50
|
-
return `\\left\\{\\begin{array}{${"r".repeat(letters.length)}cl ${"|l".repeat(operatorsColumns)}}${equArray.join('\\\\\ ')}\\end{array}\\right.`;
|
|
51
|
-
};
|
|
52
|
-
this.stepTex = (letter) => {
|
|
53
|
-
const steps = this._resolutionSteps[letter];
|
|
54
|
-
if (steps === undefined) {
|
|
55
|
-
return '';
|
|
56
|
-
}
|
|
57
|
-
// steps = { equations[], operations: [[],[]]
|
|
58
|
-
let tex = [];
|
|
59
|
-
for (let i = 0; i < steps.length; i++) {
|
|
60
|
-
tex.push(this.buildTex(steps[i].equations, steps[i].operations));
|
|
61
|
-
}
|
|
62
|
-
return `\\begin{aligned}&${tex.join('\\\\&')}\\end{aligned}`;
|
|
63
|
-
};
|
|
64
|
-
// ------------------------------------------
|
|
65
|
-
// Creation / parsing functions
|
|
66
|
-
// ------------------------------------------
|
|
67
|
-
this.parse = (...equations) => {
|
|
68
|
-
// make the original equations
|
|
69
|
-
this._equations = equations.map(value => new equation_1.Equation(value));
|
|
70
|
-
// get the letters.
|
|
71
|
-
this._findLetters();
|
|
72
|
-
return this;
|
|
73
|
-
};
|
|
74
|
-
this.clone = () => {
|
|
75
|
-
return new LinearSystem().parse(...this._equations.map(equ => equ.clone()));
|
|
76
|
-
};
|
|
77
|
-
// ------------------------------------------
|
|
78
|
-
this.reorder = () => {
|
|
79
|
-
for (let E of this._equations) {
|
|
80
|
-
E.reorder();
|
|
81
|
-
}
|
|
82
|
-
return this;
|
|
83
|
-
};
|
|
84
|
-
// -----------------------------------------------
|
|
85
|
-
// Equations solving algorithms
|
|
86
|
-
this.solve = (withResolution) => {
|
|
87
|
-
// Solve it by linear
|
|
88
|
-
this._solutions = {};
|
|
89
|
-
this._resolutionSteps = {};
|
|
90
|
-
// Reorder all equations.
|
|
91
|
-
this.reorder();
|
|
92
|
-
if (withResolution === undefined) {
|
|
93
|
-
withResolution = false;
|
|
94
|
-
}
|
|
95
|
-
for (let letter of this.variables) {
|
|
96
|
-
this._solutions[letter] = this._solveOneLetter(letter, withResolution);
|
|
97
|
-
}
|
|
98
|
-
// TODO: LinearSystem - solve: optimization and handle undetermined and undefined systems.
|
|
99
|
-
return this;
|
|
100
|
-
};
|
|
101
|
-
this.mergeEquations = (eq1, eq2, factor1, factor2) => {
|
|
102
|
-
// Set and clone the equations.
|
|
103
|
-
let eq1multiplied = eq1.clone().multiply(new fraction_1.Fraction(factor1)), eq2multiplied = eq2.clone().multiply(new fraction_1.Fraction(factor2));
|
|
104
|
-
// Add both equations together.
|
|
105
|
-
eq1multiplied.left.add(eq2multiplied.left);
|
|
106
|
-
eq1multiplied.right.add(eq2multiplied.right);
|
|
107
|
-
return eq1multiplied;
|
|
108
|
-
};
|
|
109
|
-
this._findLetters = () => {
|
|
110
|
-
// Find all letters used.
|
|
111
|
-
let variables = new Set();
|
|
112
|
-
for (let equ of this._equations) {
|
|
113
|
-
variables = new Set([...variables, ...equ.variables]);
|
|
114
|
-
}
|
|
115
|
-
this._letters = [...variables];
|
|
116
|
-
this._letters.sort();
|
|
117
|
-
return this;
|
|
118
|
-
};
|
|
119
|
-
// TODO: allow construction to accept an array of values (like a matrix) to build the equations
|
|
120
|
-
this._equations = [];
|
|
121
|
-
this._letters = 'xyz'.split('');
|
|
122
|
-
if (equationStrings !== undefined && equationStrings.length > 0) {
|
|
123
|
-
this.parse(...equationStrings);
|
|
124
|
-
}
|
|
125
|
-
return this;
|
|
126
|
-
}
|
|
127
|
-
// ------------------------------------------
|
|
128
|
-
// Getter and setter
|
|
129
|
-
// ------------------------------------------
|
|
130
|
-
get equations() {
|
|
131
|
-
return this._equations;
|
|
132
|
-
}
|
|
133
|
-
set equations(value) {
|
|
134
|
-
this._equations = value;
|
|
135
|
-
}
|
|
136
|
-
get letters() {
|
|
137
|
-
return this._letters.join('');
|
|
138
|
-
}
|
|
139
|
-
set letters(value) {
|
|
140
|
-
this._letters = value.split('');
|
|
141
|
-
}
|
|
142
|
-
get isSolvable() {
|
|
143
|
-
let V = this.variables;
|
|
144
|
-
// TODO: in some case, it is possible to resolve systems if there isn't the isSame number of vars and equations
|
|
145
|
-
if (V.length !== this._equations.length) {
|
|
146
|
-
return false;
|
|
147
|
-
}
|
|
148
|
-
//TODO: Must check if two equations isn't a linear combination of the others ?
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
get variables() {
|
|
152
|
-
return this._letters;
|
|
153
|
-
}
|
|
154
|
-
get tex() {
|
|
155
|
-
// Build the array of values.
|
|
156
|
-
// Reorder
|
|
157
|
-
// This clone the system :!!!
|
|
158
|
-
//TODO: Avoid cloning this linear system
|
|
159
|
-
let LS = this.clone().reorder(), letters = LS.variables;
|
|
160
|
-
return this.buildTex(LS.equations);
|
|
161
|
-
}
|
|
162
|
-
get solution() {
|
|
163
|
-
let tex = [];
|
|
164
|
-
if (this._solutions === undefined) {
|
|
165
|
-
this.solve();
|
|
166
|
-
}
|
|
167
|
-
for (let letter in this._solutions) {
|
|
168
|
-
if (this._solutions[letter].display === "RR") {
|
|
169
|
-
return `\\left\\{ \\left(${this._letters.join(';')}\\right) \\big\\vert ${this.equations[0].tex} \\right\\}`;
|
|
170
|
-
}
|
|
171
|
-
if (this._solutions[letter].display === "O/") {
|
|
172
|
-
return `\\varnothing`;
|
|
173
|
-
}
|
|
174
|
-
tex.push(this._solutions[letter].tex);
|
|
175
|
-
}
|
|
176
|
-
return `\\left(${tex.join(';')}\\right)`;
|
|
177
|
-
}
|
|
178
|
-
get solutionAsDisplay() {
|
|
179
|
-
let display = [];
|
|
180
|
-
if (this._solutions === undefined) {
|
|
181
|
-
this.solve();
|
|
182
|
-
}
|
|
183
|
-
for (let letter in this._solutions) {
|
|
184
|
-
if (this._solutions[letter].display === "RR") {
|
|
185
|
-
return `{(${this._letters.join(';')}) | ${this.equations[0].display} }`;
|
|
186
|
-
}
|
|
187
|
-
if (this._solutions[letter].display === "O/") {
|
|
188
|
-
return "O/";
|
|
189
|
-
}
|
|
190
|
-
display.push(this._solutions[letter].display);
|
|
191
|
-
}
|
|
192
|
-
return `(${display.join(';')})`;
|
|
193
|
-
}
|
|
194
|
-
get resolutionSteps() {
|
|
195
|
-
return this._resolutionSteps;
|
|
196
|
-
}
|
|
197
|
-
_linearReduction(eq1, eq2, letter) {
|
|
198
|
-
// Get the monom for the particular letter.
|
|
199
|
-
let c1 = eq1.left.monomByDegree(1, letter).coefficient.clone(), c2 = eq2.left.monomByDegree(1, letter).coefficient.clone().opposed();
|
|
200
|
-
// Reduce c1 and c2 by the gcd
|
|
201
|
-
const gcdN = numeric_1.Numeric.gcd(c1.numerator, c2.numerator), gcdD = numeric_1.Numeric.gcd(c1.denominator, c2.denominator);
|
|
202
|
-
c1.divide(gcdN).multiply(gcdD);
|
|
203
|
-
c2.divide(gcdN).multiply(gcdD);
|
|
204
|
-
// if one value is -1, use 1 and make the other one opposed
|
|
205
|
-
if (c2.isNegativeOne()) {
|
|
206
|
-
c1.opposed();
|
|
207
|
-
c2.opposed();
|
|
208
|
-
}
|
|
209
|
-
else if (c1.isNegativeOne()) {
|
|
210
|
-
c1.opposed();
|
|
211
|
-
c2.opposed();
|
|
212
|
-
}
|
|
213
|
-
return {
|
|
214
|
-
merged: this.mergeEquations(eq1, eq2, c2, c1),
|
|
215
|
-
factors: [c2, c1]
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Linear reduction of the equations to have only one letter
|
|
220
|
-
* @param letter letter to isolate
|
|
221
|
-
* @private
|
|
222
|
-
*/
|
|
223
|
-
_solveOneLetter(letter, withResolution) {
|
|
224
|
-
// list of equations.
|
|
225
|
-
let LE = this.clone().equations, reducedEquations = [], lastIndex;
|
|
226
|
-
this._resolutionSteps[letter] = [];
|
|
227
|
-
// Reduce the equations.
|
|
228
|
-
// Do it as long as there is more than one step, but no more than the number of equations.
|
|
229
|
-
for (let L of this.variables) {
|
|
230
|
-
// Reset the stack
|
|
231
|
-
reducedEquations = [];
|
|
232
|
-
// remove the setLetter from all equations using linear combinations
|
|
233
|
-
if (L === letter)
|
|
234
|
-
continue;
|
|
235
|
-
if (withResolution) {
|
|
236
|
-
this._resolutionSteps[letter].push({
|
|
237
|
-
equations: LE.map(x => x.clone()),
|
|
238
|
-
operations: [...new Array(LE.length)].map(x => [...new Array(LE.length - 1)].map(x => ""))
|
|
239
|
-
});
|
|
240
|
-
lastIndex = this._resolutionSteps[letter].length - 1;
|
|
241
|
-
}
|
|
242
|
-
// Linear reduction.
|
|
243
|
-
for (let i = 0; i < LE.length - 1; i++) {
|
|
244
|
-
const result = this._linearReduction(LE[i], LE[i + 1], L);
|
|
245
|
-
reducedEquations.push(result.merged);
|
|
246
|
-
if (withResolution) {
|
|
247
|
-
this._resolutionSteps[letter][lastIndex].operations[i][i] = result.factors[0].tex;
|
|
248
|
-
this._resolutionSteps[letter][lastIndex].operations[i + 1][i] = result.factors[1].tex;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
LE = [...reducedEquations];
|
|
252
|
-
}
|
|
253
|
-
// Solve the equations
|
|
254
|
-
// let E = this._resolutionSteps[this._resolutionSteps.length - 1].equations[0];
|
|
255
|
-
let E = LE[0];
|
|
256
|
-
E.solve();
|
|
257
|
-
const solution = E.solutions[0];
|
|
258
|
-
if (withResolution) {
|
|
259
|
-
this._resolutionSteps[letter].push({
|
|
260
|
-
equations: [LE[0]],
|
|
261
|
-
operations: [[LE[0].left.monoms[0].coefficient.tex]]
|
|
262
|
-
});
|
|
263
|
-
let P;
|
|
264
|
-
if (solution.exact instanceof fraction_1.Fraction || typeof solution.exact === "string") {
|
|
265
|
-
P = new polynom_1.Polynom(solution.exact);
|
|
266
|
-
}
|
|
267
|
-
else {
|
|
268
|
-
P = new polynom_1.Polynom(solution.value);
|
|
269
|
-
}
|
|
270
|
-
this._resolutionSteps[letter].push({
|
|
271
|
-
equations: [new equation_1.Equation(new polynom_1.Polynom(letter), P)],
|
|
272
|
-
operations: []
|
|
273
|
-
});
|
|
274
|
-
}
|
|
275
|
-
return E.solutions[0];
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
exports.LinearSystem = LinearSystem;
|
|
279
|
-
//# sourceMappingURL=linearSystem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"linearSystem.js","sourceRoot":"","sources":["../../../src/maths/algebra/linearSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Polynom module contains everything necessary to handle polynoms.
|
|
4
|
-
* @module Logicalset
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.Logicalset = void 0;
|
|
8
|
-
const shutingyard_1 = require("../shutingyard");
|
|
9
|
-
/**
|
|
10
|
-
* Polynom class can handle polynoms, reorder, resolve, ...
|
|
11
|
-
*/
|
|
12
|
-
class Logicalset {
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
15
|
-
* @param {string} value (optional) Default polynom to parse on class creation
|
|
16
|
-
*/
|
|
17
|
-
constructor(value) {
|
|
18
|
-
this.parse = (value) => {
|
|
19
|
-
// TODO: Must format the value string to convert some items...
|
|
20
|
-
// Parse the updated value to the shutingyard algorithm
|
|
21
|
-
this._rpn = new shutingyard_1.Shutingyard(shutingyard_1.ShutingyardMode.SET).parse(value).rpn;
|
|
22
|
-
return this;
|
|
23
|
-
};
|
|
24
|
-
this._rawString = value;
|
|
25
|
-
this.parse(value);
|
|
26
|
-
return this;
|
|
27
|
-
}
|
|
28
|
-
get isLogicalset() {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
;
|
|
32
|
-
evaluate(tokenSets, reference) {
|
|
33
|
-
let varStack = [];
|
|
34
|
-
let referenceSet;
|
|
35
|
-
if (reference === undefined) {
|
|
36
|
-
referenceSet = new Set();
|
|
37
|
-
for (let key in tokenSets) {
|
|
38
|
-
referenceSet = new Set([...referenceSet, ...tokenSets[key]]);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
referenceSet = new Set(reference);
|
|
43
|
-
}
|
|
44
|
-
for (let token of this._rpn) {
|
|
45
|
-
if (token.tokenType === 'variable') {
|
|
46
|
-
// The variable has no token - assume it's empty.
|
|
47
|
-
if (tokenSets[token.token] === undefined) {
|
|
48
|
-
varStack.push(new Set());
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
varStack.push(new Set(tokenSets[token.token]));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
switch (token.token) {
|
|
56
|
-
case '&':
|
|
57
|
-
if (varStack.length >= 2) {
|
|
58
|
-
let second = varStack.pop(), first = varStack.pop();
|
|
59
|
-
varStack.push(new Set([...first].filter(x => second.has(x))));
|
|
60
|
-
}
|
|
61
|
-
break;
|
|
62
|
-
case '|':
|
|
63
|
-
if (varStack.length >= 2) {
|
|
64
|
-
let second = varStack.pop(), first = varStack.pop();
|
|
65
|
-
varStack.push(new Set([...first, ...second]));
|
|
66
|
-
}
|
|
67
|
-
break;
|
|
68
|
-
case '-':
|
|
69
|
-
if (varStack.length >= 2) {
|
|
70
|
-
let second = varStack.pop(), first = varStack.pop();
|
|
71
|
-
varStack.push(new Set([...first].filter(x => !second.has(x))));
|
|
72
|
-
}
|
|
73
|
-
break;
|
|
74
|
-
case '!':
|
|
75
|
-
if (varStack.length >= 1) {
|
|
76
|
-
let first = varStack.pop();
|
|
77
|
-
varStack.push(new Set([...referenceSet].filter(x => !first.has(x))));
|
|
78
|
-
}
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return [...varStack[0]].sort();
|
|
84
|
-
}
|
|
85
|
-
vennAB() {
|
|
86
|
-
return this.evaluate({
|
|
87
|
-
A: ['A', 'AB'],
|
|
88
|
-
B: ['B', 'AB']
|
|
89
|
-
}, ['A', 'B', 'AB', 'E']);
|
|
90
|
-
}
|
|
91
|
-
vennABC() {
|
|
92
|
-
return this.evaluate({
|
|
93
|
-
A: ['A', 'AB', 'AC', 'ABC'],
|
|
94
|
-
B: ['B', 'AB', 'BC', 'ABC'],
|
|
95
|
-
C: ['C', 'AC', 'BC', 'ABC']
|
|
96
|
-
}, ['A', 'B', 'C', 'AB', 'AC', 'BC', 'E']);
|
|
97
|
-
}
|
|
98
|
-
get rpn() {
|
|
99
|
-
return this._rpn;
|
|
100
|
-
}
|
|
101
|
-
get tex() {
|
|
102
|
-
let varStack = [];
|
|
103
|
-
for (let token of this._rpn) {
|
|
104
|
-
if (token.tokenType === 'variable') {
|
|
105
|
-
varStack.push(token);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
switch (token.token) {
|
|
109
|
-
case '&':
|
|
110
|
-
if (varStack.length >= 2) {
|
|
111
|
-
let second = varStack.pop(), first = varStack.pop();
|
|
112
|
-
if (first.tokenType === 'mix') {
|
|
113
|
-
first.token = `( ${first.token} )`;
|
|
114
|
-
}
|
|
115
|
-
if (second.tokenType === 'mix') {
|
|
116
|
-
second.token = `( ${second.token} )`;
|
|
117
|
-
}
|
|
118
|
-
varStack.push({ token: `${first.token} \\cap ${second.token}`, tokenType: 'mix' });
|
|
119
|
-
}
|
|
120
|
-
break;
|
|
121
|
-
case '|':
|
|
122
|
-
if (varStack.length >= 2) {
|
|
123
|
-
let second = varStack.pop(), first = varStack.pop();
|
|
124
|
-
if (first.tokenType === 'mix') {
|
|
125
|
-
first.token = `( ${first.token} )`;
|
|
126
|
-
}
|
|
127
|
-
if (second.tokenType === 'mix') {
|
|
128
|
-
second.token = `( ${second.token} )`;
|
|
129
|
-
}
|
|
130
|
-
varStack.push({ token: `${first.token} \\cup ${second.token}`, tokenType: 'mix' });
|
|
131
|
-
}
|
|
132
|
-
break;
|
|
133
|
-
case '-':
|
|
134
|
-
if (varStack.length >= 2) {
|
|
135
|
-
let second = varStack.pop(), first = varStack.pop();
|
|
136
|
-
if (first.tokenType === 'mix') {
|
|
137
|
-
first.token = `( ${first.token} )`;
|
|
138
|
-
}
|
|
139
|
-
if (second.tokenType === 'mix') {
|
|
140
|
-
second.token = `( ${second.token} )`;
|
|
141
|
-
}
|
|
142
|
-
varStack.push({ token: `${first.token} \\setminus ${second.token}`, tokenType: 'mix' });
|
|
143
|
-
}
|
|
144
|
-
break;
|
|
145
|
-
case '!':
|
|
146
|
-
if (varStack.length >= 1) {
|
|
147
|
-
let first = varStack.pop();
|
|
148
|
-
varStack.push({ token: `\\overline{ ${first.token} }`, tokenType: 'variable' });
|
|
149
|
-
}
|
|
150
|
-
break;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
return varStack[0].token;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
exports.Logicalset = Logicalset;
|
|
158
|
-
//# sourceMappingURL=logicalset.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logicalset.js","sourceRoot":"","sources":["../../../src/maths/algebra/logicalset.ts"],"names":[],"mappings":"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"}
|