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.
Files changed (212) hide show
  1. package/dist/main.d.ts +39 -0
  2. package/{esm → dist}/maths/algebra/equation.d.ts +11 -10
  3. package/{esm → dist}/maths/algebra/linearSystem.d.ts +5 -4
  4. package/{esm → dist}/maths/algebra/monom.d.ts +5 -4
  5. package/{esm → dist}/maths/algebra/polynom.d.ts +11 -13
  6. package/{esm → dist}/maths/algebra/rational.d.ts +7 -9
  7. package/dist/maths/algebra/study/rationalStudy.d.ts +14 -0
  8. package/{esm → dist}/maths/algebra/study.d.ts +4 -7
  9. package/{esm → dist}/maths/geometry/circle.d.ts +9 -8
  10. package/{esm → dist}/maths/geometry/line.d.ts +17 -14
  11. package/{esm → dist}/maths/geometry/point.d.ts +11 -9
  12. package/{esm → dist}/maths/geometry/triangle.d.ts +4 -3
  13. package/{esm → dist}/maths/geometry/vector.d.ts +7 -10
  14. package/{esm → dist}/maths/randomization/random.d.ts +10 -7
  15. package/{esm → dist}/maths/randomization/rndFraction.d.ts +4 -3
  16. package/dist/maths/randomization/rndGeometryCircle.d.ts +13 -0
  17. package/{esm → dist}/maths/randomization/rndGeometryLine.d.ts +4 -3
  18. package/{esm → dist}/maths/randomization/rndGeometryPoint.d.ts +4 -3
  19. package/{esm → dist}/maths/randomization/rndMonom.d.ts +5 -4
  20. package/{esm → dist}/maths/randomization/rndPolynom.d.ts +5 -4
  21. package/{esm → dist}/maths/randomization/rndTypes.d.ts +7 -1
  22. package/dist/pimath.js +4239 -7819
  23. package/package.json +13 -7
  24. package/.eslintrc.js +0 -24
  25. package/.idea/$CACHE_FILE$ +0 -6
  26. package/.idea/PI.iml +0 -14
  27. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  28. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  29. package/.idea/misc.xml +0 -6
  30. package/.idea/modules.xml +0 -8
  31. package/.idea/php.xml +0 -19
  32. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]/shelved.patch +0 -192
  33. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]1/shelved.patch +0 -0
  34. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30__Default_Changelist_.xml +0 -4
  35. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43_[Default_Changelist]/shelved.patch +0 -2404
  36. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43__Default_Changelist_.xml +0 -4
  37. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01_[Default_Changelist]/shelved.patch +0 -1362
  38. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01__Default_Changelist_.xml +0 -4
  39. package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31_[Default_Changelist]/shelved.patch +0 -90
  40. package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31__Default_Changelist_.xml +0 -4
  41. package/.idea/vcs.xml +0 -6
  42. package/dev/pimath.js +0 -7945
  43. package/dev/pimath.js.map +0 -1
  44. package/dist/pimath.js.map +0 -1
  45. package/dist/pimath.min.js +0 -2
  46. package/dist/pimath.min.js.map +0 -1
  47. package/docs/.nojekyll +0 -1
  48. package/docs/assets/highlight.css +0 -78
  49. package/docs/assets/main.js +0 -59
  50. package/docs/assets/navigation.js +0 -1
  51. package/docs/assets/search.js +0 -1
  52. package/docs/assets/style.css +0 -1383
  53. package/docs/classes/Logicalset.Logicalset.html +0 -217
  54. package/docs/classes/Polynom.Rational.html +0 -397
  55. package/docs/classes/Vector-1.Vector.html +0 -490
  56. package/docs/classes/Vector.Point.html +0 -337
  57. package/docs/classes/algebra_equation.Equation.html +0 -790
  58. package/docs/classes/algebra_linearSystem.LinearSystem.html +0 -404
  59. package/docs/classes/algebra_monom.Monom.html +0 -962
  60. package/docs/classes/algebra_polynom.Polynom.html +0 -1275
  61. package/docs/classes/coefficients_fraction.Fraction.html +0 -934
  62. package/docs/classes/geometry_circle.Circle.html +0 -472
  63. package/docs/classes/geometry_line.Line.html +0 -774
  64. package/docs/classes/geometry_triangle.Triangle.html +0 -429
  65. package/docs/classes/numeric.Numeric.html +0 -265
  66. package/docs/classes/shutingyard.Shutingyard.html +0 -250
  67. package/docs/enums/algebra_equation.PARTICULAR_SOLUTION.html +0 -83
  68. package/docs/enums/geometry_line.LinePropriety.html +0 -97
  69. package/docs/enums/shutingyard.ShutingyardMode.html +0 -97
  70. package/docs/enums/shutingyard.ShutingyardType.html +0 -111
  71. package/docs/index.html +0 -63
  72. package/docs/interfaces/algebra_equation.ISolution.html +0 -105
  73. package/docs/interfaces/algebra_polynom.IEuclidian.html +0 -87
  74. package/docs/interfaces/geometry_triangle.remarquableLines.html +0 -163
  75. package/docs/modules/Logicalset.html +0 -65
  76. package/docs/modules/Polynom.html +0 -65
  77. package/docs/modules/Vector-1.html +0 -65
  78. package/docs/modules/Vector.html +0 -65
  79. package/docs/modules/algebra_equation.html +0 -69
  80. package/docs/modules/algebra_linearSystem.html +0 -61
  81. package/docs/modules/algebra_monom.html +0 -65
  82. package/docs/modules/algebra_polynom.html +0 -69
  83. package/docs/modules/coefficients_fraction.html +0 -65
  84. package/docs/modules/geometry_circle.html +0 -61
  85. package/docs/modules/geometry_line.html +0 -65
  86. package/docs/modules/geometry_triangle.html +0 -65
  87. package/docs/modules/numeric.html +0 -61
  88. package/docs/modules/shutingyard.html +0 -75
  89. package/docs/types/algebra_monom.literalType.html +0 -61
  90. package/docs/types/algebra_polynom.PolynomParsingType.html +0 -56
  91. package/docs/types/coefficients_fraction.FractionParsingType.html +0 -56
  92. package/docs/types/shutingyard.Token.html +0 -63
  93. package/docs/types/shutingyard.tokenType.html +0 -68
  94. package/docs/variables/shutingyard.tokenConstant.html +0 -61
  95. package/esm/index.d.ts +0 -38
  96. package/esm/index.js +0 -44
  97. package/esm/index.js.map +0 -1
  98. package/esm/maths/algebra/equation.js +0 -797
  99. package/esm/maths/algebra/equation.js.map +0 -1
  100. package/esm/maths/algebra/linearSystem.js +0 -279
  101. package/esm/maths/algebra/linearSystem.js.map +0 -1
  102. package/esm/maths/algebra/logicalset.js +0 -158
  103. package/esm/maths/algebra/logicalset.js.map +0 -1
  104. package/esm/maths/algebra/monom.js +0 -909
  105. package/esm/maths/algebra/monom.js.map +0 -1
  106. package/esm/maths/algebra/polynom.js +0 -1305
  107. package/esm/maths/algebra/polynom.js.map +0 -1
  108. package/esm/maths/algebra/rational.js +0 -195
  109. package/esm/maths/algebra/rational.js.map +0 -1
  110. package/esm/maths/algebra/study/rationalStudy.d.ts +0 -28
  111. package/esm/maths/algebra/study/rationalStudy.js +0 -244
  112. package/esm/maths/algebra/study/rationalStudy.js.map +0 -1
  113. package/esm/maths/algebra/study.js +0 -380
  114. package/esm/maths/algebra/study.js.map +0 -1
  115. package/esm/maths/coefficients/fraction.js +0 -517
  116. package/esm/maths/coefficients/fraction.js.map +0 -1
  117. package/esm/maths/coefficients/nthRoot.js +0 -137
  118. package/esm/maths/coefficients/nthRoot.js.map +0 -1
  119. package/esm/maths/geometry/circle.js +0 -324
  120. package/esm/maths/geometry/circle.js.map +0 -1
  121. package/esm/maths/geometry/line.js +0 -485
  122. package/esm/maths/geometry/line.js.map +0 -1
  123. package/esm/maths/geometry/point.js +0 -167
  124. package/esm/maths/geometry/point.js.map +0 -1
  125. package/esm/maths/geometry/triangle.js +0 -276
  126. package/esm/maths/geometry/triangle.js.map +0 -1
  127. package/esm/maths/geometry/vector.js +0 -198
  128. package/esm/maths/geometry/vector.js.map +0 -1
  129. package/esm/maths/numeric.js +0 -136
  130. package/esm/maths/numeric.js.map +0 -1
  131. package/esm/maths/numexp.js +0 -186
  132. package/esm/maths/numexp.js.map +0 -1
  133. package/esm/maths/randomization/random.js +0 -79
  134. package/esm/maths/randomization/random.js.map +0 -1
  135. package/esm/maths/randomization/randomCore.js +0 -22
  136. package/esm/maths/randomization/randomCore.js.map +0 -1
  137. package/esm/maths/randomization/rndFraction.js +0 -44
  138. package/esm/maths/randomization/rndFraction.js.map +0 -1
  139. package/esm/maths/randomization/rndGeometryLine.js +0 -46
  140. package/esm/maths/randomization/rndGeometryLine.js.map +0 -1
  141. package/esm/maths/randomization/rndGeometryPoint.js +0 -61
  142. package/esm/maths/randomization/rndGeometryPoint.js.map +0 -1
  143. package/esm/maths/randomization/rndHelpers.js +0 -98
  144. package/esm/maths/randomization/rndHelpers.js.map +0 -1
  145. package/esm/maths/randomization/rndMonom.js +0 -53
  146. package/esm/maths/randomization/rndMonom.js.map +0 -1
  147. package/esm/maths/randomization/rndPolynom.js +0 -75
  148. package/esm/maths/randomization/rndPolynom.js.map +0 -1
  149. package/esm/maths/randomization/rndTypes.js +0 -3
  150. package/esm/maths/randomization/rndTypes.js.map +0 -1
  151. package/esm/maths/shutingyard.js +0 -443
  152. package/esm/maths/shutingyard.js.map +0 -1
  153. package/public/demo.css +0 -3
  154. package/public/index.html +0 -283
  155. package/public/matrices.html +0 -100
  156. package/public/playground.html +0 -168
  157. package/src/index.ts +0 -42
  158. package/src/maths/algebra/equation.ts +0 -897
  159. package/src/maths/algebra/linearSystem.ts +0 -370
  160. package/src/maths/algebra/logicalset.ts +0 -183
  161. package/src/maths/algebra/monom.ts +0 -1028
  162. package/src/maths/algebra/polynom.ts +0 -1537
  163. package/src/maths/algebra/rational.ts +0 -240
  164. package/src/maths/algebra/study/rationalStudy.ts +0 -287
  165. package/src/maths/algebra/study.ts +0 -506
  166. package/src/maths/coefficients/fraction.ts +0 -593
  167. package/src/maths/coefficients/nthRoot.ts +0 -148
  168. package/src/maths/geometry/circle.ts +0 -382
  169. package/src/maths/geometry/line.ts +0 -604
  170. package/src/maths/geometry/point.ts +0 -215
  171. package/src/maths/geometry/triangle.ts +0 -368
  172. package/src/maths/geometry/vector.ts +0 -242
  173. package/src/maths/numeric.ts +0 -162
  174. package/src/maths/numexp.ts +0 -184
  175. package/src/maths/randomization/random.ts +0 -80
  176. package/src/maths/randomization/randomCore.ts +0 -19
  177. package/src/maths/randomization/rndFraction.ts +0 -47
  178. package/src/maths/randomization/rndGeometryCircle.ts +0 -50
  179. package/src/maths/randomization/rndGeometryLine.ts +0 -53
  180. package/src/maths/randomization/rndGeometryPoint.ts +0 -69
  181. package/src/maths/randomization/rndHelpers.ts +0 -107
  182. package/src/maths/randomization/rndMonom.ts +0 -57
  183. package/src/maths/randomization/rndPolynom.ts +0 -90
  184. package/src/maths/randomization/rndTypes.ts +0 -43
  185. package/src/maths/shutingyard.ts +0 -496
  186. package/tests/algebra/equation.test.ts +0 -64
  187. package/tests/algebra/linear.test.ts +0 -58
  188. package/tests/algebra/monom.test.ts +0 -78
  189. package/tests/algebra/polynom.test.ts +0 -343
  190. package/tests/algebra/rationnal.test.ts +0 -64
  191. package/tests/algebra/study.test.ts +0 -48
  192. package/tests/coefficients/fraction.test.ts +0 -131
  193. package/tests/custom.test.ts +0 -33
  194. package/tests/geometry/circle.test.ts +0 -404
  195. package/tests/geometry/line.test.ts +0 -36
  196. package/tests/numeric.test.ts +0 -43
  197. package/tests/numexp.test.ts +0 -89
  198. package/tests/shutingyard.test.ts +0 -58
  199. package/tsconfig.json +0 -41
  200. package/tsconfig.testing.json +0 -28
  201. package/typedoc.katex.js +0 -11
  202. package/webpack-production-min.config.js +0 -26
  203. package/webpack-production.config.js +0 -26
  204. package/webpack.config.js +0 -26
  205. package/{esm → dist}/maths/algebra/logicalset.d.ts +6 -6
  206. package/{esm → dist}/maths/coefficients/fraction.d.ts +0 -0
  207. package/{esm → dist}/maths/coefficients/nthRoot.d.ts +0 -0
  208. package/{esm → dist}/maths/numeric.d.ts +0 -0
  209. package/{esm → dist}/maths/numexp.d.ts +3 -3
  210. /package/{esm → dist}/maths/randomization/randomCore.d.ts +0 -0
  211. /package/{esm → dist}/maths/randomization/rndHelpers.d.ts +0 -0
  212. /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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"}