pimath 0.0.124 → 0.0.126
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/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_07_11_2023_08_30_[Default_Changelist]/shelved.patch +192 -0
- 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 +4 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43_[Default_Changelist]/shelved.patch +2404 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_10_43__Default_Changelist_.xml +4 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01_[Default_Changelist]/shelved.patch +1362 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_09_11_2023_11_01__Default_Changelist_.xml +4 -0
- package/dev/pimath.js +7940 -7930
- package/dev/pimath.js.map +1 -1
- package/dist/pimath.js +219 -227
- package/dist/pimath.js.map +1 -1
- package/dist/pimath.min.js +1 -1
- package/dist/pimath.min.js.map +1 -1
- package/docs/assets/main.js +59 -58
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -1
- package/docs/assets/style.css +1383 -1367
- package/docs/classes/Logicalset.Logicalset.html +217 -221
- package/docs/classes/Polynom.Rational.html +397 -391
- package/docs/classes/Vector-1.Vector.html +490 -494
- package/docs/classes/Vector.Point.html +337 -341
- package/docs/classes/algebra_equation.Equation.html +790 -796
- package/docs/classes/algebra_linearSystem.LinearSystem.html +404 -408
- package/docs/classes/algebra_monom.Monom.html +962 -967
- package/docs/classes/algebra_polynom.Polynom.html +1275 -1281
- package/docs/classes/coefficients_fraction.Fraction.html +934 -939
- package/docs/classes/geometry_circle.Circle.html +472 -476
- package/docs/classes/geometry_line.Line.html +774 -779
- package/docs/classes/geometry_triangle.Triangle.html +429 -429
- package/docs/classes/numeric.Numeric.html +265 -269
- package/docs/classes/shutingyard.Shutingyard.html +250 -259
- package/docs/enums/algebra_equation.PARTICULAR_SOLUTION.html +83 -89
- package/docs/enums/geometry_line.LinePropriety.html +97 -102
- package/docs/enums/shutingyard.ShutingyardMode.html +97 -106
- package/docs/enums/shutingyard.ShutingyardType.html +111 -120
- package/docs/index.html +63 -63
- package/docs/interfaces/algebra_equation.ISolution.html +105 -111
- package/docs/interfaces/algebra_polynom.IEuclidian.html +87 -93
- package/docs/interfaces/geometry_triangle.remarquableLines.html +163 -150
- package/docs/modules/Logicalset.html +65 -69
- package/docs/modules/Polynom.html +65 -69
- package/docs/modules/Vector-1.html +65 -69
- package/docs/modules/Vector.html +65 -69
- package/docs/modules/algebra_equation.html +69 -75
- package/docs/modules/algebra_linearSystem.html +61 -65
- package/docs/modules/algebra_monom.html +65 -70
- package/docs/modules/algebra_polynom.html +69 -75
- package/docs/modules/coefficients_fraction.html +65 -70
- package/docs/modules/geometry_circle.html +61 -65
- package/docs/modules/geometry_line.html +65 -70
- package/docs/modules/geometry_triangle.html +65 -70
- package/docs/modules/numeric.html +61 -65
- package/docs/modules/shutingyard.html +75 -84
- package/docs/types/algebra_monom.literalType.html +61 -66
- package/docs/types/algebra_polynom.PolynomParsingType.html +56 -62
- package/docs/types/coefficients_fraction.FractionParsingType.html +56 -61
- package/docs/types/shutingyard.Token.html +63 -72
- package/docs/types/shutingyard.tokenType.html +68 -77
- package/docs/variables/shutingyard.tokenConstant.html +61 -70
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/maths/algebra/monom.d.ts +19 -19
- package/esm/maths/algebra/monom.js +66 -66
- package/esm/maths/algebra/monom.js.map +1 -1
- package/esm/maths/algebra/polynom.d.ts +14 -14
- package/esm/maths/algebra/polynom.js +72 -50
- package/esm/maths/algebra/polynom.js.map +1 -1
- package/esm/maths/numeric.js +3 -48
- package/esm/maths/numeric.js.map +1 -1
- package/esm/maths/randomization/random.d.ts +1 -1
- package/esm/maths/randomization/random.js +2 -2
- package/esm/maths/randomization/random.js.map +1 -1
- package/esm/maths/randomization/rndHelpers.d.ts +1 -1
- package/esm/maths/randomization/rndHelpers.js +25 -4
- package/esm/maths/randomization/rndHelpers.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -1
- package/src/maths/algebra/monom.ts +138 -130
- package/src/maths/algebra/polynom.ts +107 -85
- package/src/maths/numeric.ts +61 -90
- package/src/maths/randomization/random.ts +2 -2
- package/src/maths/randomization/rndHelpers.ts +49 -18
- package/tests/algebra/linear.test.ts +1 -1
- package/tests/algebra/polynom.test.ts +152 -1
- package/tests/algebra/study.test.ts +1 -0
- package/tests/geometry/circle.test.ts +124 -25
- package/tests/geometry/line.test.ts +8 -17
- package/tests/numexp.test.ts +10 -2
- package/esm/maths/expressions/ExpressionTree.d.ts +0 -17
- package/esm/maths/expressions/ExpressionTree.js +0 -150
- package/esm/maths/expressions/ExpressionTree.js.map +0 -1
- package/esm/maths/expressions/expression.d.ts +0 -27
- package/esm/maths/expressions/expression.js +0 -239
- package/esm/maths/expressions/expression.js.map +0 -1
- package/esm/maths/expressions/expressionFactor.d.ts +0 -36
- package/esm/maths/expressions/expressionFactor.js +0 -156
- package/esm/maths/expressions/expressionFactor.js.map +0 -1
- package/esm/maths/expressions/expressionMember.d.ts +0 -27
- package/esm/maths/expressions/expressionMember.js +0 -199
- package/esm/maths/expressions/expressionMember.js.map +0 -1
- package/esm/maths/expressions/expressionOperators.d.ts +0 -8
- package/esm/maths/expressions/expressionOperators.js +0 -42
- package/esm/maths/expressions/expressionOperators.js.map +0 -1
- package/esm/maths/expressions/expressionParser.d.ts +0 -14
- package/esm/maths/expressions/expressionParser.js +0 -259
- package/esm/maths/expressions/expressionParser.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactor.d.ts +0 -7
- package/esm/maths/expressions/factors/ExpFactor.js +0 -34
- package/esm/maths/expressions/factors/ExpFactor.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactorConstant.d.ts +0 -14
- package/esm/maths/expressions/factors/ExpFactorConstant.js +0 -52
- package/esm/maths/expressions/factors/ExpFactorConstant.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactorExponential.d.ts +0 -8
- package/esm/maths/expressions/factors/ExpFactorExponential.js +0 -22
- package/esm/maths/expressions/factors/ExpFactorExponential.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactorNumber.d.ts +0 -14
- package/esm/maths/expressions/factors/ExpFactorNumber.js +0 -59
- package/esm/maths/expressions/factors/ExpFactorNumber.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactorPower.d.ts +0 -13
- package/esm/maths/expressions/factors/ExpFactorPower.js +0 -35
- package/esm/maths/expressions/factors/ExpFactorPower.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactorTrigo.d.ts +0 -20
- package/esm/maths/expressions/factors/ExpFactorTrigo.js +0 -48
- package/esm/maths/expressions/factors/ExpFactorTrigo.js.map +0 -1
- package/esm/maths/expressions/factors/ExpFactorVariable.d.ts +0 -13
- package/esm/maths/expressions/factors/ExpFactorVariable.js +0 -36
- package/esm/maths/expressions/factors/ExpFactorVariable.js.map +0 -1
- package/esm/maths/expressions/internals.d.ts +0 -12
- package/esm/maths/expressions/internals.js +0 -29
- package/esm/maths/expressions/internals.js.map +0 -1
- package/esm/maths/expressions/numexp.d.ts +0 -19
- package/esm/maths/expressions/numexp.js +0 -186
- package/esm/maths/expressions/numexp.js.map +0 -1
- package/esm/maths/expressions/polynomexp.bkp.d.ts +0 -33
- package/esm/maths/expressions/polynomexp.bkp.js +0 -184
- package/esm/maths/expressions/polynomexp.bkp.js.map +0 -1
- package/esm/maths/expressions/polynomexp.d.ts +0 -52
- package/esm/maths/expressions/polynomexp.js +0 -246
- package/esm/maths/expressions/polynomexp.js.map +0 -1
|
@@ -15,8 +15,6 @@ class Monom {
|
|
|
15
15
|
* @param value (optional) string The value that should be parse. Can be a Monom, a Fraction, a string or a number. If nothing is provided, it will return the trivial monom (0).
|
|
16
16
|
*/
|
|
17
17
|
constructor(value) {
|
|
18
|
-
// ------------------------------------------
|
|
19
|
-
// Creation / parsing functions
|
|
20
18
|
// -----------------------------------------
|
|
21
19
|
/**
|
|
22
20
|
* Parse a string to a monom. The string may include fraction.
|
|
@@ -84,36 +82,6 @@ class Monom {
|
|
|
84
82
|
}
|
|
85
83
|
}
|
|
86
84
|
};
|
|
87
|
-
this._shutingYardToReducedMonom = (inputStr) => {
|
|
88
|
-
// Get the RPN array of the current expression
|
|
89
|
-
const SY = new shutingyard_1.Shutingyard().parse(inputStr);
|
|
90
|
-
const rpn = SY.rpn;
|
|
91
|
-
let stack = [], m, pow, letter, q1, q2;
|
|
92
|
-
if (rpn.length === 0) {
|
|
93
|
-
this.zero();
|
|
94
|
-
return this;
|
|
95
|
-
}
|
|
96
|
-
else if (rpn.length === 1) {
|
|
97
|
-
const element = rpn[0];
|
|
98
|
-
this.one();
|
|
99
|
-
if (element.tokenType === 'coefficient') {
|
|
100
|
-
this.coefficient = new fraction_1.Fraction(element.token);
|
|
101
|
-
}
|
|
102
|
-
else if (element.tokenType === 'variable') {
|
|
103
|
-
this.setLetter(element.token, 1);
|
|
104
|
-
}
|
|
105
|
-
return this;
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
// Reset the monom
|
|
109
|
-
for (const element of rpn) {
|
|
110
|
-
this.addToken(stack, element);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
this.one();
|
|
114
|
-
this.multiply(stack[0]);
|
|
115
|
-
return this;
|
|
116
|
-
};
|
|
117
85
|
/**
|
|
118
86
|
* Clone the current Monom.
|
|
119
87
|
*/
|
|
@@ -513,6 +481,9 @@ class Monom {
|
|
|
513
481
|
}
|
|
514
482
|
return M;
|
|
515
483
|
};
|
|
484
|
+
// ----------------------------------------
|
|
485
|
+
// Static functions
|
|
486
|
+
// ----------------------------------------
|
|
516
487
|
// TODO: The rest of the functions are not used or unnecessary ?
|
|
517
488
|
/**
|
|
518
489
|
* Determine if multiple monoms are similar
|
|
@@ -562,6 +533,36 @@ class Monom {
|
|
|
562
533
|
}
|
|
563
534
|
return this.coefficient.clone().divide(div.coefficient).isRelative();
|
|
564
535
|
};
|
|
536
|
+
this._shutingYardToReducedMonom = (inputStr) => {
|
|
537
|
+
// Get the RPN array of the current expression
|
|
538
|
+
const SY = new shutingyard_1.Shutingyard().parse(inputStr);
|
|
539
|
+
const rpn = SY.rpn;
|
|
540
|
+
let stack = [], m, pow, letter, q1, q2;
|
|
541
|
+
if (rpn.length === 0) {
|
|
542
|
+
this.zero();
|
|
543
|
+
return this;
|
|
544
|
+
}
|
|
545
|
+
else if (rpn.length === 1) {
|
|
546
|
+
const element = rpn[0];
|
|
547
|
+
this.one();
|
|
548
|
+
if (element.tokenType === 'coefficient') {
|
|
549
|
+
this.coefficient = new fraction_1.Fraction(element.token);
|
|
550
|
+
}
|
|
551
|
+
else if (element.tokenType === 'variable') {
|
|
552
|
+
this.setLetter(element.token, 1);
|
|
553
|
+
}
|
|
554
|
+
return this;
|
|
555
|
+
}
|
|
556
|
+
else {
|
|
557
|
+
// Reset the monom
|
|
558
|
+
for (const element of rpn) {
|
|
559
|
+
this.addToken(stack, element);
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
this.one();
|
|
563
|
+
this.multiply(stack[0]);
|
|
564
|
+
return this;
|
|
565
|
+
};
|
|
565
566
|
this.zero();
|
|
566
567
|
if (value !== undefined) {
|
|
567
568
|
// A string is given - try to parse the value.
|
|
@@ -570,8 +571,6 @@ class Monom {
|
|
|
570
571
|
return this;
|
|
571
572
|
}
|
|
572
573
|
// ------------------------------------------
|
|
573
|
-
// Getter and setter
|
|
574
|
-
// ------------------------------------------
|
|
575
574
|
/**
|
|
576
575
|
* Get the coefficient \\(k\\) of the Monom \\(k\\cdot x^{n}\\)
|
|
577
576
|
* @returns {Fraction}
|
|
@@ -579,6 +578,8 @@ class Monom {
|
|
|
579
578
|
get coefficient() {
|
|
580
579
|
return this._coefficient;
|
|
581
580
|
}
|
|
581
|
+
// ------------------------------------------
|
|
582
|
+
// Getter and setter
|
|
582
583
|
/**
|
|
583
584
|
* Set the coefficient \\(k\\) value of the monom
|
|
584
585
|
* @param {Fraction | number | string} F
|
|
@@ -593,6 +594,13 @@ class Monom {
|
|
|
593
594
|
get literal() {
|
|
594
595
|
return this._literal;
|
|
595
596
|
}
|
|
597
|
+
/**
|
|
598
|
+
* Set the literal part of the monom. Must be a dictionary {x: Fraction, y: Fraction, ...}
|
|
599
|
+
* @param {literalType} L
|
|
600
|
+
*/
|
|
601
|
+
set literal(L) {
|
|
602
|
+
this._literal = L;
|
|
603
|
+
}
|
|
596
604
|
/**
|
|
597
605
|
* Get the literal square roots of the Monom.
|
|
598
606
|
* TODO: remove this getter ? Is it used and is it correct ?
|
|
@@ -610,13 +618,6 @@ class Monom {
|
|
|
610
618
|
return this._literal;
|
|
611
619
|
}
|
|
612
620
|
}
|
|
613
|
-
/**
|
|
614
|
-
* Set the literal part of the monom. Must be a dictionary {x: Fraction, y: Fraction, ...}
|
|
615
|
-
* @param {literalType} L
|
|
616
|
-
*/
|
|
617
|
-
set literal(L) {
|
|
618
|
-
this._literal = L;
|
|
619
|
-
}
|
|
620
621
|
/**
|
|
621
622
|
* Set the literal part of the monom from a string
|
|
622
623
|
* @param inputStr String like x^2y^3
|
|
@@ -737,28 +738,6 @@ class Monom {
|
|
|
737
738
|
}
|
|
738
739
|
return monomDividers.length === 0 ? [new Monom().one()] : monomDividers;
|
|
739
740
|
}
|
|
740
|
-
_getLiteralDividers(arr, letter) {
|
|
741
|
-
let tmpList = [];
|
|
742
|
-
// Be default, this.literal[letter] should be a rational number.
|
|
743
|
-
for (let d = 0; d <= this.literal[letter].value; d++) {
|
|
744
|
-
if (arr.length === 0) {
|
|
745
|
-
let litt = {};
|
|
746
|
-
litt[letter] = new fraction_1.Fraction(d);
|
|
747
|
-
tmpList.push(litt);
|
|
748
|
-
}
|
|
749
|
-
else {
|
|
750
|
-
for (let item of arr) {
|
|
751
|
-
let litt = {};
|
|
752
|
-
for (let currentLetter in item) {
|
|
753
|
-
litt[currentLetter] = item[currentLetter];
|
|
754
|
-
}
|
|
755
|
-
litt[letter] = new fraction_1.Fraction(d);
|
|
756
|
-
tmpList.push(litt);
|
|
757
|
-
}
|
|
758
|
-
}
|
|
759
|
-
}
|
|
760
|
-
return tmpList;
|
|
761
|
-
}
|
|
762
741
|
/**
|
|
763
742
|
* Display the monom, forcing the '+' sign to appear
|
|
764
743
|
*/
|
|
@@ -857,11 +836,30 @@ class Monom {
|
|
|
857
836
|
isOne() {
|
|
858
837
|
return this._coefficient.value === 1 && this.variables.length === 0;
|
|
859
838
|
}
|
|
839
|
+
_getLiteralDividers(arr, letter) {
|
|
840
|
+
let tmpList = [];
|
|
841
|
+
// Be default, this.literal[letter] should be a rational number.
|
|
842
|
+
for (let d = 0; d <= this.literal[letter].value; d++) {
|
|
843
|
+
if (arr.length === 0) {
|
|
844
|
+
let litt = {};
|
|
845
|
+
litt[letter] = new fraction_1.Fraction(d);
|
|
846
|
+
tmpList.push(litt);
|
|
847
|
+
}
|
|
848
|
+
else {
|
|
849
|
+
for (let item of arr) {
|
|
850
|
+
let litt = {};
|
|
851
|
+
for (let currentLetter in item) {
|
|
852
|
+
litt[currentLetter] = item[currentLetter];
|
|
853
|
+
}
|
|
854
|
+
litt[letter] = new fraction_1.Fraction(d);
|
|
855
|
+
tmpList.push(litt);
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
return tmpList;
|
|
860
|
+
}
|
|
860
861
|
}
|
|
861
862
|
exports.Monom = Monom;
|
|
862
|
-
// ----------------------------------------
|
|
863
|
-
// Static functions
|
|
864
|
-
// ----------------------------------------
|
|
865
863
|
/**
|
|
866
864
|
* Get the least common multiple of monoms
|
|
867
865
|
* @param monoms Array of monoms
|
|
@@ -895,6 +893,8 @@ Monom.lcm = (...monoms) => {
|
|
|
895
893
|
}
|
|
896
894
|
return M;
|
|
897
895
|
};
|
|
896
|
+
// ------------------------------------------
|
|
897
|
+
// Creation / parsing functions
|
|
898
898
|
/**
|
|
899
899
|
* Multiply two monoms and return a NEW monom.
|
|
900
900
|
* @param monoms
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monom.js","sourceRoot":"","sources":["../../../src/maths/algebra/monom.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"monom.js","sourceRoot":"","sources":["../../../src/maths/algebra/monom.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,36 +17,36 @@ export interface IEuclidian {
|
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
19
|
export declare class Polynom {
|
|
20
|
-
private _dirty_factors;
|
|
21
|
-
private _dirty_zeroes;
|
|
22
|
-
private _euclidianCache;
|
|
23
|
-
private _factors;
|
|
24
|
-
private _monoms;
|
|
25
20
|
private _rawString;
|
|
26
|
-
private _texString;
|
|
27
|
-
private _zeroes;
|
|
28
21
|
/**
|
|
29
22
|
*
|
|
30
23
|
* @param {string} polynomString (optional) Default polynom to parse on class creation
|
|
31
24
|
* @param values
|
|
32
25
|
*/
|
|
33
26
|
constructor(polynomString?: PolynomParsingType, ...values: unknown[]);
|
|
27
|
+
private _dirty_factors;
|
|
28
|
+
get dirty_factors(): boolean;
|
|
29
|
+
set dirty_factors(value: boolean);
|
|
30
|
+
private _dirty_zeroes;
|
|
31
|
+
get dirty_zeroes(): boolean;
|
|
32
|
+
set dirty_zeroes(value: boolean);
|
|
33
|
+
private _euclidianCache;
|
|
34
34
|
get euclidianCache(): {
|
|
35
35
|
[p: string]: IEuclidian;
|
|
36
36
|
};
|
|
37
37
|
set euclidianCache(value: {
|
|
38
38
|
[p: string]: IEuclidian;
|
|
39
39
|
});
|
|
40
|
-
|
|
41
|
-
set dirty_zeroes(value: boolean);
|
|
42
|
-
get dirty_factors(): boolean;
|
|
43
|
-
set dirty_factors(value: boolean);
|
|
44
|
-
get monoms(): Monom[];
|
|
45
|
-
set monoms(M: Monom[]);
|
|
46
|
-
get zeroes(): ISolution[];
|
|
40
|
+
private _factors;
|
|
47
41
|
get factors(): Polynom[];
|
|
48
42
|
set factors(value: Polynom[]);
|
|
43
|
+
private _monoms;
|
|
44
|
+
get monoms(): Monom[];
|
|
45
|
+
set monoms(M: Monom[]);
|
|
46
|
+
private _texString;
|
|
49
47
|
get texString(): string;
|
|
48
|
+
private _zeroes;
|
|
49
|
+
get zeroes(): ISolution[];
|
|
50
50
|
get texFactors(): string;
|
|
51
51
|
get displayFactors(): string;
|
|
52
52
|
get length(): number;
|
|
@@ -250,7 +250,7 @@ class Polynom {
|
|
|
250
250
|
if (P.variables.length === 0) {
|
|
251
251
|
let q = this.clone().divide(P);
|
|
252
252
|
return {
|
|
253
|
-
quotient: this.clone().divide(P),
|
|
253
|
+
quotient: this.clone().divide(P).reduce(),
|
|
254
254
|
reminder: new Polynom().zero()
|
|
255
255
|
};
|
|
256
256
|
}
|
|
@@ -259,17 +259,19 @@ class Polynom {
|
|
|
259
259
|
const degreeP = P.degree(letter);
|
|
260
260
|
let newM;
|
|
261
261
|
// Make the euclidian division of the two polynoms.
|
|
262
|
-
let MaxIteration = this.degree(letter).
|
|
263
|
-
while (reminder.degree(letter).geq(degreeP) && MaxIteration
|
|
264
|
-
MaxIteration
|
|
262
|
+
let MaxIteration = this.degree(letter).value * 2;
|
|
263
|
+
while (reminder.degree(letter).geq(degreeP) && MaxIteration > 0) {
|
|
264
|
+
MaxIteration--;
|
|
265
265
|
// Get the greatest monom divided by the max monom of the divider
|
|
266
266
|
newM = reminder.monomByDegree(undefined, letter).clone().divide(maxMP);
|
|
267
|
-
if (newM.isZero())
|
|
267
|
+
if (newM.isZero())
|
|
268
268
|
break;
|
|
269
|
-
}
|
|
270
269
|
// Get the new quotient and reminder.
|
|
271
270
|
quotient.add(newM);
|
|
272
271
|
reminder.subtract(P.clone().multiply(newM));
|
|
272
|
+
// Check if the reminder is zero.
|
|
273
|
+
if (newM.degree(letter).isZero())
|
|
274
|
+
break;
|
|
273
275
|
}
|
|
274
276
|
quotient.reduce();
|
|
275
277
|
reminder.reduce();
|
|
@@ -510,28 +512,52 @@ class Polynom {
|
|
|
510
512
|
// -------------------------------------
|
|
511
513
|
this.reduce = () => {
|
|
512
514
|
// Reduce the polynom
|
|
513
|
-
let values =
|
|
514
|
-
|
|
515
|
-
let
|
|
516
|
-
|
|
517
|
-
this._monoms.
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
const m = M.shift(), degree = m.degree(letter);
|
|
526
|
-
for (let a of M.filter(x => x.degree(letter).isEqual(degree))) {
|
|
527
|
-
m.add(a);
|
|
515
|
+
let values = this._monoms.map(x => x.clone()), vars = [...this.variables];
|
|
516
|
+
// Group the monoms by similarity
|
|
517
|
+
let i = 0;
|
|
518
|
+
while (i < this._monoms.length) {
|
|
519
|
+
for (let j = i + 1; j < this._monoms.length; j++) {
|
|
520
|
+
if (this._monoms[i].isSameAs(this._monoms[j])) {
|
|
521
|
+
this._monoms[i].add(this._monoms[j]);
|
|
522
|
+
this._monoms.splice(j, 1);
|
|
523
|
+
if (this._monoms[i].isZero()) {
|
|
524
|
+
this._monoms[i] = new monom_1.Monom().zero();
|
|
525
|
+
}
|
|
526
|
+
j--;
|
|
528
527
|
}
|
|
529
|
-
this._monoms.push(m);
|
|
530
|
-
// Make the new array.
|
|
531
|
-
M = M.filter(x => x.degree(letter).isNotEqual(degree));
|
|
532
528
|
}
|
|
533
|
-
|
|
529
|
+
i++;
|
|
534
530
|
}
|
|
531
|
+
//
|
|
532
|
+
//
|
|
533
|
+
//
|
|
534
|
+
// let coeffs = values.filter(x => x.variables.length === 0)
|
|
535
|
+
//
|
|
536
|
+
// if (coeffs.length > 0) {
|
|
537
|
+
// this._monoms.push(coeffs.reduce((a, b) => a.add(b)))
|
|
538
|
+
// }
|
|
539
|
+
//
|
|
540
|
+
// // Build the new monoms
|
|
541
|
+
// for (let letter of vars) {
|
|
542
|
+
// // Monom with same letters, but might be of different degrees
|
|
543
|
+
// let M = values.filter(x => x.hasLetter(letter))
|
|
544
|
+
//
|
|
545
|
+
// while (M.length > 0) {
|
|
546
|
+
// // Take the first element
|
|
547
|
+
// const m = M.shift(), degree = m.degree(letter)
|
|
548
|
+
//
|
|
549
|
+
// for (let a of M.filter(x => x.degree(letter).isEqual(degree))) {
|
|
550
|
+
// m.add(a)
|
|
551
|
+
// }
|
|
552
|
+
//
|
|
553
|
+
// this._monoms.push(m)
|
|
554
|
+
//
|
|
555
|
+
// // Make the new array.
|
|
556
|
+
// M = M.filter(x => x.degree(letter).isNotEqual(degree))
|
|
557
|
+
// }
|
|
558
|
+
// // reduce the monom
|
|
559
|
+
//
|
|
560
|
+
// }
|
|
535
561
|
// Remove all null monoms
|
|
536
562
|
this._monoms = this._monoms.filter((m) => {
|
|
537
563
|
return m.coefficient.value !== 0;
|
|
@@ -717,14 +743,10 @@ class Polynom {
|
|
|
717
743
|
allDividers = allDividers.filter(x => {
|
|
718
744
|
let pX = P.monoms[0], pC = P.monoms[P.monoms.length - 1], dX = x.monoms[0], dC = x.monoms[x.monoms.length - 1];
|
|
719
745
|
// Check last item (degree zero)
|
|
720
|
-
if (!pC.isDivisible(dC))
|
|
746
|
+
if (!pC.isDivisible(dC))
|
|
721
747
|
return false;
|
|
722
|
-
}
|
|
723
748
|
// Check the first item (degree max)
|
|
724
|
-
|
|
725
|
-
return false;
|
|
726
|
-
}
|
|
727
|
-
return true;
|
|
749
|
+
return pX.isDivisible(dX);
|
|
728
750
|
});
|
|
729
751
|
}
|
|
730
752
|
}
|
|
@@ -1081,18 +1103,6 @@ class Polynom {
|
|
|
1081
1103
|
}
|
|
1082
1104
|
return this;
|
|
1083
1105
|
}
|
|
1084
|
-
get euclidianCache() {
|
|
1085
|
-
return this._euclidianCache;
|
|
1086
|
-
}
|
|
1087
|
-
set euclidianCache(value) {
|
|
1088
|
-
this._euclidianCache = value;
|
|
1089
|
-
}
|
|
1090
|
-
get dirty_zeroes() {
|
|
1091
|
-
return this._dirty_zeroes;
|
|
1092
|
-
}
|
|
1093
|
-
set dirty_zeroes(value) {
|
|
1094
|
-
this._dirty_zeroes = value;
|
|
1095
|
-
}
|
|
1096
1106
|
// ------------------------------------------
|
|
1097
1107
|
get dirty_factors() {
|
|
1098
1108
|
return this._dirty_factors;
|
|
@@ -1100,15 +1110,17 @@ class Polynom {
|
|
|
1100
1110
|
set dirty_factors(value) {
|
|
1101
1111
|
this._dirty_factors = value;
|
|
1102
1112
|
}
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
return this._monoms;
|
|
1113
|
+
get dirty_zeroes() {
|
|
1114
|
+
return this._dirty_zeroes;
|
|
1106
1115
|
}
|
|
1107
|
-
set
|
|
1108
|
-
this.
|
|
1116
|
+
set dirty_zeroes(value) {
|
|
1117
|
+
this._dirty_zeroes = value;
|
|
1109
1118
|
}
|
|
1110
|
-
get
|
|
1111
|
-
return this.
|
|
1119
|
+
get euclidianCache() {
|
|
1120
|
+
return this._euclidianCache;
|
|
1121
|
+
}
|
|
1122
|
+
set euclidianCache(value) {
|
|
1123
|
+
this._euclidianCache = value;
|
|
1112
1124
|
}
|
|
1113
1125
|
get factors() {
|
|
1114
1126
|
return this.factorize();
|
|
@@ -1117,9 +1129,19 @@ class Polynom {
|
|
|
1117
1129
|
this.mark_as_dirty();
|
|
1118
1130
|
this._factors = value;
|
|
1119
1131
|
}
|
|
1132
|
+
// ------------------------------------------
|
|
1133
|
+
get monoms() {
|
|
1134
|
+
return this._monoms;
|
|
1135
|
+
}
|
|
1136
|
+
set monoms(M) {
|
|
1137
|
+
this._monoms = M;
|
|
1138
|
+
}
|
|
1120
1139
|
get texString() {
|
|
1121
1140
|
return this._texString;
|
|
1122
1141
|
}
|
|
1142
|
+
get zeroes() {
|
|
1143
|
+
return this.getZeroes();
|
|
1144
|
+
}
|
|
1123
1145
|
get texFactors() {
|
|
1124
1146
|
this.factorize();
|
|
1125
1147
|
if (this.factors.length <= 1) {
|