pimath 0.0.64 → 0.0.65
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/pi.js +45 -6
- package/dist/pi.js.map +1 -1
- package/dist/pi.min.js +1 -1
- package/dist/pi.min.js.map +1 -1
- package/esm/maths/algebra/rational.js +1 -2
- package/esm/maths/algebra/study/rationalStudy.js +9 -5
- package/esm/maths/algebra/study/rationalStudy.js.map +1 -1
- package/esm/maths/algebra/study.d.ts +17 -8
- package/esm/maths/algebra/study.js +35 -4
- package/esm/maths/algebra/study.js.map +1 -1
- package/package.json +1 -1
- package/src/maths/algebra/study/rationalStudy.ts +8 -5
- package/src/maths/algebra/study.ts +43 -1
- package/tests/algebra/study.test.ts +19 -0
|
@@ -147,8 +147,7 @@ class Rational {
|
|
|
147
147
|
this._denominator = denominator.clone();
|
|
148
148
|
} else if (typeof denominator === 'string') {
|
|
149
149
|
this._denominator = new polynom_1.Polynom(denominator);
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
150
|
+
} else {
|
|
152
151
|
this._denominator = new polynom_1.Polynom();
|
|
153
152
|
}
|
|
154
153
|
}
|
|
@@ -19,13 +19,13 @@ exports.RationalStudy = void 0;
|
|
|
19
19
|
const study_1 = require("../study");
|
|
20
20
|
const rational_1 = require("../rational");
|
|
21
21
|
const fraction_1 = require("../../coefficients/fraction");
|
|
22
|
+
const polynom_1 = require("../polynom");
|
|
22
23
|
class RationalStudy extends study_1.Study {
|
|
23
24
|
constructor(fx) {
|
|
24
25
|
super(fx);
|
|
25
26
|
return this;
|
|
26
27
|
}
|
|
27
28
|
makeZeroes() {
|
|
28
|
-
console.log('GETTING ZEROES');
|
|
29
29
|
return this._getZeroes(this.fx);
|
|
30
30
|
}
|
|
31
31
|
;
|
|
@@ -54,6 +54,7 @@ class RationalStudy extends study_1.Study {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
asymptotes.push({
|
|
57
|
+
fx: null,
|
|
57
58
|
type: Ztype,
|
|
58
59
|
tex: tex,
|
|
59
60
|
zero: zero,
|
|
@@ -64,17 +65,20 @@ class RationalStudy extends study_1.Study {
|
|
|
64
65
|
// Sloped asymptote
|
|
65
66
|
let NDegree = this.fx.numerator.degree(), DDegree = this.fx.denominator.degree();
|
|
66
67
|
if (NDegree.isEqual(DDegree)) {
|
|
67
|
-
let H = this.fx.numerator.monomByDegree().coefficient.clone().divide(this.fx.denominator.monomByDegree().coefficient)
|
|
68
|
+
let H = this.fx.numerator.monomByDegree().coefficient.clone().divide(this.fx.denominator.monomByDegree().coefficient),
|
|
69
|
+
Htex = H.tex;
|
|
68
70
|
let {reminder} = reduced.euclidian();
|
|
69
71
|
asymptotes.push({
|
|
72
|
+
fx: new polynom_1.Polynom(H),
|
|
70
73
|
type: study_1.ASYMPTOTE.HORIZONTAL,
|
|
71
|
-
tex: `y=${
|
|
74
|
+
tex: `y=${Htex}`,
|
|
72
75
|
zero: null,
|
|
73
|
-
limits: `\\lim_{x\\to\\infty}\\ f(x) = ${
|
|
76
|
+
limits: `\\lim_{x\\to\\infty}\\ f(x) = ${Htex}`,
|
|
74
77
|
deltaX: new rational_1.Rational(reminder, reduced.denominator)
|
|
75
78
|
});
|
|
76
79
|
} else if (DDegree.greater(NDegree)) {
|
|
77
80
|
asymptotes.push({
|
|
81
|
+
fx: new polynom_1.Polynom('0'),
|
|
78
82
|
type: study_1.ASYMPTOTE.HORIZONTAL,
|
|
79
83
|
tex: `y=0`,
|
|
80
84
|
zero: null,
|
|
@@ -85,6 +89,7 @@ class RationalStudy extends study_1.Study {
|
|
|
85
89
|
// Calculate the slope
|
|
86
90
|
let {quotient, reminder} = reduced.euclidian();
|
|
87
91
|
asymptotes.push({
|
|
92
|
+
fx: quotient.clone(),
|
|
88
93
|
type: study_1.ASYMPTOTE.SLOPE,
|
|
89
94
|
tex: `y=${quotient.tex}`,
|
|
90
95
|
zero: null,
|
|
@@ -98,7 +103,6 @@ class RationalStudy extends study_1.Study {
|
|
|
98
103
|
makeDerivative() {
|
|
99
104
|
let dx = this.fx.clone().derivative(),
|
|
100
105
|
tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.GROWS);
|
|
101
|
-
console.log(tos.factors.length, tos.signs.length);
|
|
102
106
|
let result = this.makeGrowsResult(tos);
|
|
103
107
|
tos.signs.push(result.growsLine);
|
|
104
108
|
tos.extremes = result.extremes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rationalStudy.js","sourceRoot":"","sources":["../../../../src/maths/algebra/study/rationalStudy.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;GAcG;AACH,oCAUkB;AAClB,0CAAqC;AACrC,0DAAqD;
|
|
1
|
+
{"version":3,"file":"rationalStudy.js","sourceRoot":"","sources":["../../../../src/maths/algebra/study/rationalStudy.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ export declare enum ASYMPTOTE {
|
|
|
23
23
|
HOLE = "hole"
|
|
24
24
|
}
|
|
25
25
|
export interface IAsymptote {
|
|
26
|
+
fx: Polynom;
|
|
26
27
|
deltaX: StudyableFunction;
|
|
27
28
|
limits: string;
|
|
28
29
|
tex: string;
|
|
@@ -84,7 +85,9 @@ export declare class Study {
|
|
|
84
85
|
private _signs;
|
|
85
86
|
private _variations;
|
|
86
87
|
private _zeroes;
|
|
88
|
+
|
|
87
89
|
constructor(fx: StudyableFunction);
|
|
90
|
+
|
|
88
91
|
get zeroes(): IZero[];
|
|
89
92
|
|
|
90
93
|
get domain(): string;
|
|
@@ -95,19 +98,20 @@ export declare class Study {
|
|
|
95
98
|
|
|
96
99
|
get derivative(): ITableOfSigns;
|
|
97
100
|
|
|
101
|
+
drawCode: () => string;
|
|
102
|
+
|
|
103
|
+
get texGrows(): string;
|
|
104
|
+
|
|
105
|
+
get texVariations(): string;
|
|
106
|
+
|
|
98
107
|
makeGrowsResult: (tos: ITableOfSigns) => {
|
|
99
108
|
growsLine: string[];
|
|
100
109
|
extremes: {
|
|
101
110
|
[Key: string]: IExtrema;
|
|
102
111
|
};
|
|
103
112
|
};
|
|
104
|
-
|
|
105
|
-
get texGrows(): string;
|
|
106
|
-
|
|
107
|
-
get texVariations(): string;
|
|
108
|
-
|
|
109
|
-
makeOneLineForSigns: (factor: Polynom, zeroes: IZero[], zeroSign: ZEROTYPE) => string[];
|
|
110
113
|
indexOfZero: (zeroes: IZero[], zero: IZero | ISolution) => number;
|
|
114
|
+
makeOneLineForSigns: (factor: Polynom, zeroes: IZero[], zeroSign: ZEROTYPE) => string[];
|
|
111
115
|
makeSignsResult: (signs: (string[])[]) => string[];
|
|
112
116
|
makeStudy: () => void;
|
|
113
117
|
makeVariationsResult: (tos: ITableOfSigns) => {
|
|
@@ -117,12 +121,17 @@ export declare class Study {
|
|
|
117
121
|
};
|
|
118
122
|
};
|
|
119
123
|
|
|
120
|
-
get texSigns(): string;
|
|
121
|
-
|
|
122
124
|
makeZeroes(): IZero[];
|
|
125
|
+
|
|
123
126
|
makeSigns(): ITableOfSigns;
|
|
127
|
+
|
|
124
128
|
makeAsymptotes(): IAsymptote[];
|
|
129
|
+
|
|
125
130
|
makeDerivative(): ITableOfSigns;
|
|
131
|
+
|
|
126
132
|
makeVariation(): ITableOfSigns;
|
|
133
|
+
|
|
127
134
|
private _makeTexFromTableOfSigns;
|
|
135
|
+
|
|
136
|
+
get texSigns(): string;
|
|
128
137
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {value: true});
|
|
7
7
|
exports.Study = exports.TABLE_OF_SIGNS = exports.FUNCTION_EXTREMA = exports.ASYMPTOTE = exports.ZEROTYPE = void 0;
|
|
8
8
|
const fraction_1 = require("../coefficients/fraction");
|
|
9
|
+
const numexp_1 = require("../expressions/numexp");
|
|
9
10
|
var ZEROTYPE;
|
|
10
11
|
(function (ZEROTYPE) {
|
|
11
12
|
ZEROTYPE["ZERO"] = "z";
|
|
@@ -132,6 +133,8 @@ class Study {
|
|
|
132
133
|
if (resultLine[pos] === 'z') {
|
|
133
134
|
// It's a zero. Get the coordinates
|
|
134
135
|
let x, y, zero = zeroes[i].exact, pt, xTex, yTex, pointType;
|
|
136
|
+
// TODO: NumExp should parse something that isn't yet plotFunction
|
|
137
|
+
let exp = new numexp_1.NumExp(this.fx.plotFunction);
|
|
135
138
|
if (zero instanceof fraction_1.Fraction) {
|
|
136
139
|
let value = zero, evalY = this.fx.evaluate(value);
|
|
137
140
|
x = zero.value;
|
|
@@ -140,7 +143,7 @@ class Study {
|
|
|
140
143
|
yTex = evalY.tex;
|
|
141
144
|
} else {
|
|
142
145
|
x = zeroes[i].value;
|
|
143
|
-
y =
|
|
146
|
+
y = exp.evaluate({x});
|
|
144
147
|
xTex = x.toFixed(2);
|
|
145
148
|
yTex = y.toFixed(2);
|
|
146
149
|
}
|
|
@@ -207,6 +210,37 @@ class Study {
|
|
|
207
210
|
tex += `\n\\end{tikzpicture}`;
|
|
208
211
|
return tex;
|
|
209
212
|
};
|
|
213
|
+
this.drawCode = () => {
|
|
214
|
+
// Function as string
|
|
215
|
+
let code = `f(x)=${this.fx.plotFunction}`;
|
|
216
|
+
// Asymptotes
|
|
217
|
+
let i = 1;
|
|
218
|
+
this.asymptotes.forEach(asymptote => {
|
|
219
|
+
if (asymptote.type === ASYMPTOTE.VERTICAL) {
|
|
220
|
+
code += `\nav_${i}=line x=${asymptote.zero.value}->red,dash`;
|
|
221
|
+
i++;
|
|
222
|
+
} else if (asymptote.type === ASYMPTOTE.HORIZONTAL) {
|
|
223
|
+
code += `\nah=line y=${asymptote.fx.monoms[0].coefficient.value}->orange,dash`;
|
|
224
|
+
} else if (asymptote.type === ASYMPTOTE.SLOPE) {
|
|
225
|
+
code += `\nao=line y=${asymptote.fx.plotFunction}->red,dash`;
|
|
226
|
+
}
|
|
227
|
+
i++;
|
|
228
|
+
});
|
|
229
|
+
// Extremes
|
|
230
|
+
for (let zero in this.derivative.extremes) {
|
|
231
|
+
let extreme = this.derivative.extremes[zero];
|
|
232
|
+
code += `\nM_${i}(${extreme.value.x},${extreme.value.y})*`;
|
|
233
|
+
i++;
|
|
234
|
+
}
|
|
235
|
+
// Zeroes
|
|
236
|
+
this.zeroes.forEach(zero => {
|
|
237
|
+
if (zero.type === ZEROTYPE.ZERO) {
|
|
238
|
+
code += `\nZ_${i}(${zero.value},0)*`;
|
|
239
|
+
i++;
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
return code;
|
|
243
|
+
};
|
|
210
244
|
this.fx = fx;
|
|
211
245
|
this.makeStudy();
|
|
212
246
|
return this;
|
|
@@ -223,15 +257,12 @@ class Study {
|
|
|
223
257
|
get asymptotes() {
|
|
224
258
|
return this._asymptotes;
|
|
225
259
|
}
|
|
226
|
-
|
|
227
260
|
get derivative() {
|
|
228
261
|
return this._derivative;
|
|
229
262
|
}
|
|
230
|
-
|
|
231
263
|
get texSigns() {
|
|
232
264
|
return this._makeTexFromTableOfSigns(this._signs);
|
|
233
265
|
}
|
|
234
|
-
|
|
235
266
|
get texGrows() {
|
|
236
267
|
return this._makeTexFromTableOfSigns(this._derivative);
|
|
237
268
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"study.js","sourceRoot":"","sources":["../../../src/maths/algebra/study.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"study.js","sourceRoot":"","sources":["../../../src/maths/algebra/study.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -36,7 +36,6 @@ export class RationalStudy extends Study {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
makeZeroes(): IZero[] {
|
|
39
|
-
console.log('GETTING ZEROES')
|
|
40
39
|
return this._getZeroes(this.fx)
|
|
41
40
|
};
|
|
42
41
|
|
|
@@ -68,6 +67,7 @@ export class RationalStudy extends Study {
|
|
|
68
67
|
}
|
|
69
68
|
|
|
70
69
|
asymptotes.push({
|
|
70
|
+
fx: null,
|
|
71
71
|
type: Ztype,
|
|
72
72
|
tex: tex,
|
|
73
73
|
zero: zero,
|
|
@@ -80,19 +80,22 @@ export class RationalStudy extends Study {
|
|
|
80
80
|
let NDegree = this.fx.numerator.degree(),
|
|
81
81
|
DDegree = this.fx.denominator.degree()
|
|
82
82
|
if (NDegree.isEqual(DDegree)) {
|
|
83
|
-
let H = this.fx.numerator.monomByDegree().coefficient.clone().divide(this.fx.denominator.monomByDegree().coefficient)
|
|
83
|
+
let H = this.fx.numerator.monomByDegree().coefficient.clone().divide(this.fx.denominator.monomByDegree().coefficient),
|
|
84
|
+
Htex = H.tex
|
|
84
85
|
|
|
85
86
|
let {reminder} = reduced.euclidian()
|
|
86
87
|
|
|
87
88
|
asymptotes.push({
|
|
89
|
+
fx: new Polynom(H),
|
|
88
90
|
type: ASYMPTOTE.HORIZONTAL,
|
|
89
|
-
tex: `y=${
|
|
91
|
+
tex: `y=${Htex}`,
|
|
90
92
|
zero: null,
|
|
91
|
-
limits: `\\lim_{x\\to\\infty}\\ f(x) = ${
|
|
93
|
+
limits: `\\lim_{x\\to\\infty}\\ f(x) = ${Htex}`,
|
|
92
94
|
deltaX: new Rational(reminder, reduced.denominator)
|
|
93
95
|
})
|
|
94
96
|
} else if (DDegree.greater(NDegree)) {
|
|
95
97
|
asymptotes.push({
|
|
98
|
+
fx: new Polynom('0'),
|
|
96
99
|
type: ASYMPTOTE.HORIZONTAL,
|
|
97
100
|
tex: `y=0`,
|
|
98
101
|
zero: null,
|
|
@@ -104,6 +107,7 @@ export class RationalStudy extends Study {
|
|
|
104
107
|
let {quotient, reminder} = reduced.euclidian()
|
|
105
108
|
|
|
106
109
|
asymptotes.push({
|
|
110
|
+
fx: quotient.clone(),
|
|
107
111
|
type: ASYMPTOTE.SLOPE,
|
|
108
112
|
tex: `y=${quotient.tex}`,
|
|
109
113
|
zero: null,
|
|
@@ -119,7 +123,6 @@ export class RationalStudy extends Study {
|
|
|
119
123
|
let dx = this.fx.clone().derivative(),
|
|
120
124
|
tos = this._getSigns(dx, this._getZeroes(dx), TABLE_OF_SIGNS.GROWS)
|
|
121
125
|
|
|
122
|
-
console.log(tos.factors.length, tos.signs.length)
|
|
123
126
|
let result = this.makeGrowsResult(tos)
|
|
124
127
|
tos.signs.push(result.growsLine)
|
|
125
128
|
tos.extremes = result.extremes
|
|
@@ -8,6 +8,7 @@ import {ISolution} from "./equation";
|
|
|
8
8
|
import {Polynom} from "./polynom";
|
|
9
9
|
import {Fraction} from "../coefficients/fraction";
|
|
10
10
|
import {Point} from "../geometry/point";
|
|
11
|
+
import {NumExp} from "../expressions/numexp";
|
|
11
12
|
|
|
12
13
|
export type StudyableFunction = Rational
|
|
13
14
|
|
|
@@ -31,6 +32,7 @@ export enum ASYMPTOTE {
|
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
export interface IAsymptote {
|
|
35
|
+
fx: Polynom,
|
|
34
36
|
deltaX: StudyableFunction
|
|
35
37
|
limits: string,
|
|
36
38
|
tex: string,
|
|
@@ -251,6 +253,9 @@ export class Study {
|
|
|
251
253
|
xTex: string, yTex: string,
|
|
252
254
|
pointType: FUNCTION_EXTREMA
|
|
253
255
|
|
|
256
|
+
// TODO: NumExp should parse something that isn't yet plotFunction
|
|
257
|
+
let exp = new NumExp(this.fx.plotFunction)
|
|
258
|
+
|
|
254
259
|
if (zero instanceof Fraction) {
|
|
255
260
|
let value: Fraction = zero,
|
|
256
261
|
evalY = this.fx.evaluate(value)
|
|
@@ -261,7 +266,7 @@ export class Study {
|
|
|
261
266
|
yTex = evalY.tex
|
|
262
267
|
} else {
|
|
263
268
|
x = zeroes[i].value
|
|
264
|
-
y =
|
|
269
|
+
y = exp.evaluate({x})
|
|
265
270
|
|
|
266
271
|
xTex = x.toFixed(2)
|
|
267
272
|
yTex = y.toFixed(2)
|
|
@@ -390,4 +395,41 @@ export class Study {
|
|
|
390
395
|
|
|
391
396
|
return tex
|
|
392
397
|
}
|
|
398
|
+
|
|
399
|
+
drawCode = (): string => {
|
|
400
|
+
// Function as string
|
|
401
|
+
let code = `f(x)=${this.fx.plotFunction}`
|
|
402
|
+
|
|
403
|
+
// Asymptotes
|
|
404
|
+
let i: number = 1
|
|
405
|
+
this.asymptotes.forEach(asymptote => {
|
|
406
|
+
if (asymptote.type === ASYMPTOTE.VERTICAL) {
|
|
407
|
+
code += `\nav_${i}=line x=${asymptote.zero.value}->red,dash`
|
|
408
|
+
i++
|
|
409
|
+
} else if (asymptote.type === ASYMPTOTE.HORIZONTAL) {
|
|
410
|
+
code += `\nah=line y=${asymptote.fx.monoms[0].coefficient.value}->orange,dash`
|
|
411
|
+
} else if (asymptote.type === ASYMPTOTE.SLOPE) {
|
|
412
|
+
code += `\nao=line y=${asymptote.fx.plotFunction}->red,dash`
|
|
413
|
+
}
|
|
414
|
+
i++
|
|
415
|
+
})
|
|
416
|
+
|
|
417
|
+
// Extremes
|
|
418
|
+
for (let zero in this.derivative.extremes) {
|
|
419
|
+
let extreme = this.derivative.extremes[zero]
|
|
420
|
+
|
|
421
|
+
code += `\nM_${i}(${extreme.value.x},${extreme.value.y})*`
|
|
422
|
+
i++
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
// Zeroes
|
|
426
|
+
this.zeroes.forEach(zero => {
|
|
427
|
+
if (zero.type === ZEROTYPE.ZERO) {
|
|
428
|
+
code += `\nZ_${i}(${zero.value},0)*`
|
|
429
|
+
i++
|
|
430
|
+
}
|
|
431
|
+
})
|
|
432
|
+
|
|
433
|
+
return code
|
|
434
|
+
}
|
|
393
435
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {describe} from "mocha";
|
|
2
2
|
import {Rational} from "../../src/maths/algebra/rational";
|
|
3
3
|
import {RationalStudy} from "../../src/maths/algebra/study/rationalStudy";
|
|
4
|
+
import {expect} from "chai";
|
|
4
5
|
|
|
5
6
|
describe('Study tests', () => {
|
|
6
7
|
it('should get the zeroes', function () {
|
|
@@ -14,5 +15,23 @@ describe('Study tests', () => {
|
|
|
14
15
|
console.log(study.derivative.fx.texFactors)
|
|
15
16
|
console.log(study.texGrows)
|
|
16
17
|
|
|
18
|
+
|
|
19
|
+
console.log('----------------')
|
|
20
|
+
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it('should create draw code block', function () {
|
|
24
|
+
const study = new RationalStudy(
|
|
25
|
+
new Rational("(3x-4)(2x+5)", "(x-4)(x+4)")
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
expect(study.drawCode()).to.be.equal("f(x)=(6*x^(2)+7*x-20)/(x^(2)-16)\n" +
|
|
29
|
+
"av_1=line x=-4->red,dash\n" +
|
|
30
|
+
"av_3=line x=4->red,dash\n" +
|
|
31
|
+
"ah=line y=6->orange,dash\n" +
|
|
32
|
+
"M_6(-20.950583847231826,5.832940216581962)*\n" +
|
|
33
|
+
"M_7(-0.7637018670538883,1.4170597834180383)*\n" +
|
|
34
|
+
"Z_8(-2.5,0)*\n" +
|
|
35
|
+
"Z_9(1.3333333333333333,0)*")
|
|
17
36
|
});
|
|
18
37
|
})
|