pimath 0.0.128 → 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 (160) hide show
  1. package/dist/main.d.ts +39 -0
  2. package/dist/maths/algebra/equation.d.ts +120 -0
  3. package/dist/maths/algebra/linearSystem.d.ts +40 -0
  4. package/dist/maths/algebra/logicalset.d.ts +28 -0
  5. package/dist/maths/algebra/monom.d.ts +207 -0
  6. package/dist/maths/algebra/polynom.d.ts +155 -0
  7. package/dist/maths/algebra/rational.d.ts +44 -0
  8. package/dist/maths/algebra/study/rationalStudy.d.ts +14 -0
  9. package/dist/maths/algebra/study.d.ts +140 -0
  10. package/dist/maths/coefficients/fraction.d.ts +90 -0
  11. package/dist/maths/coefficients/nthRoot.d.ts +23 -0
  12. package/dist/maths/geometry/circle.d.ts +46 -0
  13. package/dist/maths/geometry/line.d.ts +102 -0
  14. package/dist/maths/geometry/point.d.ts +36 -0
  15. package/dist/maths/geometry/triangle.d.ts +92 -0
  16. package/dist/maths/geometry/vector.d.ts +38 -0
  17. package/dist/maths/numeric.d.ts +28 -0
  18. package/dist/maths/numexp.d.ts +19 -0
  19. package/dist/maths/randomization/random.d.ts +26 -0
  20. package/dist/maths/randomization/randomCore.d.ts +7 -0
  21. package/dist/maths/randomization/rndFraction.d.ts +13 -0
  22. package/dist/maths/randomization/rndGeometryCircle.d.ts +13 -0
  23. package/dist/maths/randomization/rndGeometryLine.d.ts +13 -0
  24. package/dist/maths/randomization/rndGeometryPoint.d.ts +13 -0
  25. package/dist/maths/randomization/rndHelpers.d.ts +23 -0
  26. package/dist/maths/randomization/rndMonom.d.ts +13 -0
  27. package/dist/maths/randomization/rndPolynom.d.ts +14 -0
  28. package/dist/maths/randomization/rndTypes.d.ts +40 -0
  29. package/dist/maths/shutingyard.d.ts +59 -0
  30. package/dist/pimath.js +85 -85
  31. package/package.json +10 -12
  32. package/.eslintrc.js +0 -24
  33. package/.idea/$CACHE_FILE$ +0 -6
  34. package/.idea/PI.iml +0 -14
  35. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  36. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  37. package/.idea/jsLibraryMappings.xml +0 -6
  38. package/.idea/misc.xml +0 -6
  39. package/.idea/modules.xml +0 -8
  40. package/.idea/php.xml +0 -19
  41. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]/shelved.patch +0 -192
  42. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]1/shelved.patch +0 -0
  43. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30__Default_Changelist_.xml +0 -4
  44. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43_[Default_Changelist]/shelved.patch +0 -2404
  45. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43__Default_Changelist_.xml +0 -4
  46. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01_[Default_Changelist]/shelved.patch +0 -1362
  47. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01__Default_Changelist_.xml +0 -4
  48. package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31_[Default_Changelist]/shelved.patch +0 -90
  49. package/.idea/shelf/Uncommitted_changes_before_Update_at_24_07_2023_15_31__Default_Changelist_.xml +0 -4
  50. package/.idea/vcs.xml +0 -6
  51. package/dist/demo/exercises.html +0 -283
  52. package/dist/demo/matrices.html +0 -39
  53. package/dist/demo/playground.html +0 -20
  54. package/dist/demo.css +0 -3
  55. package/dist/pimath.umd.cjs +0 -15
  56. package/docs/.nojekyll +0 -1
  57. package/docs/assets/highlight.css +0 -78
  58. package/docs/assets/main.js +0 -59
  59. package/docs/assets/navigation.js +0 -1
  60. package/docs/assets/search.js +0 -1
  61. package/docs/assets/style.css +0 -1383
  62. package/docs/classes/Logicalset.Logicalset.html +0 -217
  63. package/docs/classes/Polynom.Rational.html +0 -397
  64. package/docs/classes/Vector-1.Vector.html +0 -490
  65. package/docs/classes/Vector.Point.html +0 -337
  66. package/docs/classes/algebra_equation.Equation.html +0 -790
  67. package/docs/classes/algebra_linearSystem.LinearSystem.html +0 -404
  68. package/docs/classes/algebra_monom.Monom.html +0 -962
  69. package/docs/classes/algebra_polynom.Polynom.html +0 -1275
  70. package/docs/classes/coefficients_fraction.Fraction.html +0 -934
  71. package/docs/classes/geometry_circle.Circle.html +0 -472
  72. package/docs/classes/geometry_line.Line.html +0 -774
  73. package/docs/classes/geometry_triangle.Triangle.html +0 -429
  74. package/docs/classes/numeric.Numeric.html +0 -265
  75. package/docs/classes/shutingyard.Shutingyard.html +0 -250
  76. package/docs/enums/algebra_equation.PARTICULAR_SOLUTION.html +0 -83
  77. package/docs/enums/geometry_line.LinePropriety.html +0 -97
  78. package/docs/enums/shutingyard.ShutingyardMode.html +0 -97
  79. package/docs/enums/shutingyard.ShutingyardType.html +0 -111
  80. package/docs/index.html +0 -63
  81. package/docs/interfaces/algebra_equation.ISolution.html +0 -105
  82. package/docs/interfaces/algebra_polynom.IEuclidian.html +0 -87
  83. package/docs/interfaces/geometry_triangle.remarquableLines.html +0 -163
  84. package/docs/modules/Logicalset.html +0 -65
  85. package/docs/modules/Polynom.html +0 -65
  86. package/docs/modules/Vector-1.html +0 -65
  87. package/docs/modules/Vector.html +0 -65
  88. package/docs/modules/algebra_equation.html +0 -69
  89. package/docs/modules/algebra_linearSystem.html +0 -61
  90. package/docs/modules/algebra_monom.html +0 -65
  91. package/docs/modules/algebra_polynom.html +0 -69
  92. package/docs/modules/coefficients_fraction.html +0 -65
  93. package/docs/modules/geometry_circle.html +0 -61
  94. package/docs/modules/geometry_line.html +0 -65
  95. package/docs/modules/geometry_triangle.html +0 -65
  96. package/docs/modules/numeric.html +0 -61
  97. package/docs/modules/shutingyard.html +0 -75
  98. package/docs/types/algebra_monom.literalType.html +0 -61
  99. package/docs/types/algebra_polynom.PolynomParsingType.html +0 -56
  100. package/docs/types/coefficients_fraction.FractionParsingType.html +0 -56
  101. package/docs/types/shutingyard.Token.html +0 -63
  102. package/docs/types/shutingyard.tokenType.html +0 -68
  103. package/docs/variables/shutingyard.tokenConstant.html +0 -61
  104. package/index.html +0 -15
  105. package/public/demo/exercises.html +0 -283
  106. package/public/demo/matrices.html +0 -39
  107. package/public/demo/playground.html +0 -20
  108. package/public/demo.css +0 -3
  109. package/src/demo/exercises.ts +0 -0
  110. package/src/demo/matrices.ts +0 -61
  111. package/src/demo/playground.ts +0 -153
  112. package/src/main.ts +0 -42
  113. package/src/maths/algebra/equation.ts +0 -897
  114. package/src/maths/algebra/linearSystem.ts +0 -370
  115. package/src/maths/algebra/logicalset.ts +0 -183
  116. package/src/maths/algebra/monom.ts +0 -1028
  117. package/src/maths/algebra/polynom.ts +0 -1537
  118. package/src/maths/algebra/rational.ts +0 -244
  119. package/src/maths/algebra/study/rationalStudy.ts +0 -287
  120. package/src/maths/algebra/study.ts +0 -506
  121. package/src/maths/coefficients/fraction.ts +0 -593
  122. package/src/maths/coefficients/nthRoot.ts +0 -148
  123. package/src/maths/geometry/circle.ts +0 -382
  124. package/src/maths/geometry/line.ts +0 -604
  125. package/src/maths/geometry/point.ts +0 -215
  126. package/src/maths/geometry/triangle.ts +0 -368
  127. package/src/maths/geometry/vector.ts +0 -242
  128. package/src/maths/numeric.ts +0 -162
  129. package/src/maths/numexp.ts +0 -184
  130. package/src/maths/randomization/random.ts +0 -80
  131. package/src/maths/randomization/randomCore.ts +0 -19
  132. package/src/maths/randomization/rndFraction.ts +0 -47
  133. package/src/maths/randomization/rndGeometryCircle.ts +0 -50
  134. package/src/maths/randomization/rndGeometryLine.ts +0 -53
  135. package/src/maths/randomization/rndGeometryPoint.ts +0 -69
  136. package/src/maths/randomization/rndHelpers.ts +0 -107
  137. package/src/maths/randomization/rndMonom.ts +0 -57
  138. package/src/maths/randomization/rndPolynom.ts +0 -90
  139. package/src/maths/randomization/rndTypes.ts +0 -43
  140. package/src/maths/shutingyard.ts +0 -496
  141. package/tests/algebra/equation.test.ts +0 -64
  142. package/tests/algebra/linear.test.ts +0 -58
  143. package/tests/algebra/monom.test.ts +0 -78
  144. package/tests/algebra/polynom.test.ts +0 -343
  145. package/tests/algebra/rationnal.test.ts +0 -64
  146. package/tests/algebra/study.test.ts +0 -48
  147. package/tests/coefficients/fraction.test.ts +0 -131
  148. package/tests/custom.test.ts +0 -33
  149. package/tests/geometry/circle.test.ts +0 -404
  150. package/tests/geometry/line.test.ts +0 -36
  151. package/tests/numeric.test.ts +0 -43
  152. package/tests/numexp.test.ts +0 -89
  153. package/tests/shutingyard.test.ts +0 -58
  154. package/tsconfig.json +0 -52
  155. package/tsconfig.testing.json +0 -28
  156. package/typedoc.katex.js +0 -11
  157. package/vite.config.js +0 -23
  158. package/webpack-production-min.config.js +0 -26
  159. package/webpack-production.config.js +0 -26
  160. package/webpack.config.js +0 -26
@@ -1,61 +0,0 @@
1
- function detMatrice(M: number[][]): { matrix: number[][], determinant: number } {
2
- return {
3
- matrix: M,
4
- determinant: detnxn(M)
5
- }
6
- }
7
-
8
- function det2x2(M: number[][]): number {
9
- return M[0][0] * M[1][1] - M[1][0] * M[0][1]
10
- }
11
-
12
- function subMatrix(M: number[][], row: number, col: number) {
13
- let subM = []
14
-
15
- for (let r = 0; r < M.length; r++) {
16
- if (r === row) {
17
- continue
18
- }
19
-
20
- let subMrow = []
21
- for (let c = 0; c < M[r].length; c++) {
22
- if (c === col) {
23
- continue
24
- }
25
- subMrow.push(M[r][c])
26
- }
27
- subM.push(subMrow)
28
- }
29
- return subM
30
- }
31
-
32
- function detnxn(M: number[][]) {
33
- let result = 0
34
-
35
- if (M.length === 2) {
36
- result = det2x2(M)
37
- } else {
38
- for (let i = 0; i < M.length; i++) {
39
- if (M[i][0] !== 0) {
40
- result += M[i][0] * Math.pow(-1, i) * detnxn(subMatrix(M, i, 0))
41
-
42
-
43
- }
44
- }
45
- }
46
-
47
- return result
48
- }
49
-
50
- const M = detMatrice([
51
- [0, 2, -1, 4, 0],
52
- [3, 5, 0, 0, -2],
53
- [0, -3, 1, 0, 0],
54
- [0, 0, -4, 3, -3],
55
- [-1, 0, 0, 1, 2]
56
- ])
57
-
58
- document.getElementById('app').innerHTML = `<p>\\[${M.matrix} = ${M.determinant}\\]</p>`;
59
-
60
- // @ts-ignore
61
- renderMathInElement(document.getElementById('app'))
@@ -1,153 +0,0 @@
1
- import {Point} from "../maths/geometry/point.ts";
2
- import {Line} from "../maths/geometry/line.ts";
3
-
4
- let A = new Point(0, 2),
5
- B = new Point(2, 3),
6
- C = new Point(1 / 2, 4),
7
- D = new Point(2, -1 / 2);
8
-
9
- let L1 = new Line(A, B).simplifyDirection(),
10
- L2 = new Line(C, D).simplifyDirection();
11
-
12
- document.getElementById('app').innerHTML = `<p>\\( ${L1.tex.parametric} \\)</p>`;
13
- document.getElementById('app').innerHTML += `<p>\\( ${L2.tex.parametric} \\)</p>`;
14
-
15
- let I = L1.intersection(L2);
16
- if (I.hasIntersection) {
17
- document.getElementById('app').innerHTML += `<p>\\[ ${L1.intersection(L2).point.tex} \\]</p>`
18
- } else if (I.isParallel) {
19
- document.getElementById('app').innerHTML += `<p>Elles sont parallèles</p>`
20
- } else if (I.isSame) {
21
- document.getElementById('app').innerHTML += `<p>Elles sont confondues</p>`
22
- }
23
-
24
-
25
- // @ts-ignore
26
- renderMathInElement(document.getElementById('app'), {fleqn: true});
27
- /*let p;
28
- p = new Pi.Polynom('3x(6x+9)+6(6x+9)');
29
- document.getElementById('app').innerHTML = `<p>${p.raw}</p>`;
30
- document.getElementById('app').innerHTML += `<p>${p.display}</p>`;
31
-
32
- let v1 = new Pi.Vector('3 4'),
33
- v2 = new Pi.Vector('-2 5');
34
-
35
- console.log(v1);
36
- console.log(v2);
37
- console.log(Pi.Vector.scalarProduct(v1, v2));
38
-
39
-
40
- let P = new Pi.Polynom('(x+5)(x-17)(37x+35)');
41
- let Q = new Pi.Polynom('1');
42
- P.factorize(100)
43
-
44
- P.factors.forEach(n=> {
45
- console.log(n.tex)
46
- Q.multiply(n);
47
- })
48
-
49
- // Check that we have the same polynom.
50
- console.log(P.tex);
51
- console.log(Q.tex);
52
-
53
-
54
-
55
-
56
-
57
- /*let n = new Pi.Polynom(),
58
- d = new Pi.Polynom();
59
- n.parse('(x+3)(x+4)');
60
- d.parse('(x+3)(x-2)')
61
-
62
- let r = new Pi.Rational(n, d);
63
- document.getElementById('app').innerHTML = `<p>${r.tex}</p>`*/
64
-
65
-
66
- /*
67
- let M = new Pi.Monom().random('x', 2, false, false);
68
- console.log(M.displayWithSign);
69
-
70
- let S = new Pi.LinearSystem().parse(
71
- 'x-3y=-2',
72
- '4x+7x=1'
73
- );
74
- S.solve();
75
- document.getElementById('app').innerHTML = `<p>${S.tex}</p>`;
76
- document.getElementById('app').innerHTML += `<p>${S.texSolution}</p>`;
77
- let S = new Pi.LinearSystem().generate(3,-5,2);
78
- document.getElementById('app').innerHTML = `<p>${S.tex}</p>`;
79
- S.solve();
80
- S.log;
81
- S.tex;
82
-
83
- S = new Pi.LinearSystem().generate(-1,8,-2);
84
- document.getElementById('app').innerHTML += `<p>${S.tex}</p>`;
85
- S.solve();
86
- S.log;
87
-
88
- let P = new Pi.Polynom('3x^2+5yx-2');
89
- console.log(P.tex);
90
- console.log(P.numberOfVars);
91
- P.replaceBy('y', new Pi.Polynom('2x+1'));
92
- console.log(P.tex);
93
-
94
- let A = new Pi.Equation('2x+3y=5');
95
- console.log(A.tex);
96
-
97
- A.isolate('x');
98
- console.log(A.tex);
99
-
100
- A.isolate('y');
101
- console.log(A.tex);
102
-
103
- let P = new Pi.Polynom().rndSimple(2).makeItComplicate();
104
- console.log(P.tex);
105
- console.log(P.texString);
106
-
107
- let A = new Pi.Fraction().parse('2/5');
108
- console.log(A.frac);
109
-
110
- let F = new Pi.Fraction().parse('18/5');
111
- let N = new Pi.Root().parse(F).reduce();
112
- console.log(N.tex);
113
-
114
- let E = new Pi.Equation().create(new Pi.Polynom().parse('x^2+6x-8'), new Pi.Polynom().zero());
115
- E.solve();
116
- console.log(E.solutions);
117
-
118
- let D = 42;
119
- console.log(Pi.Numeric.dividers(D));
120
-
121
- let X = new Pi.Polynom().rndFactorable(2, false);
122
- console.log(X.tex);
123
- X.factors.forEach(function(P, i){
124
- console.log(P.tex);
125
- });
126
-
127
- let EQ = new Pi.Equation('2x+3>=5x-2');
128
- EQ.solve();
129
- console.log(EQ.solution);
130
-
131
- EQ.parseString('2x+3<5x-2');
132
- EQ.solve();
133
- console.log(EQ.solution);
134
-
135
- EQ.parseString('7x+3>5x-2');
136
- EQ.solve();
137
- console.log(EQ.solution);
138
-
139
- EQ.parseString('7x+3=<5x-2');
140
- EQ.solve();
141
- console.log(EQ.solution);
142
-
143
- EQ.parseString('7x+3=<7x-2');
144
- EQ.solve();
145
- console.log(EQ.solution);
146
-
147
- EQ.parseString('7x+3>7x-2');
148
- EQ.solve();
149
- console.log(EQ.solution);
150
-
151
- EQ.parseString('x^2+6x+9>=0');
152
- EQ.solve();
153
- console.log(EQ.solution);*/
package/src/main.ts DELETED
@@ -1,42 +0,0 @@
1
- import {Numeric} from "./maths/numeric";
2
- import {NumExp} from "./maths/numexp";
3
- import {Shutingyard} from "./maths/shutingyard";
4
- import {Random} from "./maths/randomization/random";
5
- import {Fraction} from "./maths/coefficients/fraction";
6
- import {NthRoot} from "./maths/coefficients/nthRoot";
7
- import {Monom} from "./maths/algebra/monom";
8
- import {Polynom} from "./maths/algebra/polynom";
9
- import {Equation} from "./maths/algebra/equation";
10
- import {LinearSystem} from "./maths/algebra/linearSystem";
11
- import {Rational} from "./maths/algebra/rational";
12
- import {Logicalset} from "./maths/algebra/logicalset";
13
- import {Vector} from "./maths/geometry/vector";
14
- import {Line} from "./maths/geometry/line";
15
- import {Triangle} from "./maths/geometry/triangle";
16
- import {Circle} from "./maths/geometry/circle";
17
- import {Point} from "./maths/geometry/point";
18
-
19
- // Expose as global
20
- export const PiMath = {
21
- ShutingYard: Shutingyard,
22
- Numeric: Numeric,
23
- NumExp: NumExp,
24
- Fraction: Fraction,
25
- Root: NthRoot,
26
- Monom: Monom,
27
- Polynom: Polynom,
28
- Equation: Equation,
29
- LinearSystem: LinearSystem,
30
- Rational: Rational,
31
- Logicalset: Logicalset,
32
- Random: Random,
33
- Geometry: {
34
- Vector: Vector,
35
- Point: Point,
36
- Line: Line,
37
- Triangle: Triangle,
38
- Circle: Circle
39
- }
40
- };
41
-
42
- // (<any>window).PiMath = PiMath