pimath 0.0.63 → 0.0.64
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 +20 -14
- 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.d.ts +0 -1
- package/esm/maths/algebra/rational.js +1 -2
- package/esm/maths/algebra/study/rationalStudy.d.ts +1 -7
- package/esm/maths/algebra/study/rationalStudy.js +6 -6
- package/esm/maths/algebra/study/rationalStudy.js.map +1 -1
- package/esm/maths/algebra/study.d.ts +11 -16
- package/esm/maths/algebra/study.js +17 -8
- package/esm/maths/algebra/study.js.map +1 -1
- package/package.json +1 -1
- package/src/maths/algebra/study/rationalStudy.ts +6 -9
- package/src/maths/algebra/study.ts +17 -8
- package/tests/algebra/study.test.ts +1 -1
|
@@ -145,8 +145,7 @@ class Rational {
|
|
|
145
145
|
}
|
|
146
146
|
if (denominator instanceof polynom_1.Polynom) {
|
|
147
147
|
this._denominator = denominator.clone();
|
|
148
|
-
}
|
|
149
|
-
else if (typeof denominator === 'string') {
|
|
148
|
+
} else if (typeof denominator === 'string') {
|
|
150
149
|
this._denominator = new polynom_1.Polynom(denominator);
|
|
151
150
|
}
|
|
152
151
|
else {
|
|
@@ -17,17 +17,11 @@ import {IAsymptote, ITableOfSigns, IZero, Study, StudyableFunction} from "../stu
|
|
|
17
17
|
|
|
18
18
|
export declare class RationalStudy extends Study {
|
|
19
19
|
constructor(fx: StudyableFunction);
|
|
20
|
-
|
|
21
20
|
makeZeroes(): IZero[];
|
|
22
|
-
|
|
23
21
|
makeSigns(): ITableOfSigns;
|
|
24
|
-
|
|
25
22
|
makeAsymptotes(): IAsymptote[];
|
|
26
|
-
|
|
27
23
|
makeDerivative(): ITableOfSigns;
|
|
28
|
-
|
|
29
24
|
makeVariation(): ITableOfSigns;
|
|
30
|
-
|
|
31
|
-
private _getSigns;
|
|
32
25
|
private _getZeroes;
|
|
26
|
+
private _getSigns;
|
|
33
27
|
}
|
|
@@ -21,7 +21,6 @@ const rational_1 = require("../rational");
|
|
|
21
21
|
const fraction_1 = require("../../coefficients/fraction");
|
|
22
22
|
class RationalStudy extends study_1.Study {
|
|
23
23
|
constructor(fx) {
|
|
24
|
-
console.log('RATIONAL STUDY');
|
|
25
24
|
super(fx);
|
|
26
25
|
return this;
|
|
27
26
|
}
|
|
@@ -31,7 +30,8 @@ class RationalStudy extends study_1.Study {
|
|
|
31
30
|
}
|
|
32
31
|
;
|
|
33
32
|
makeSigns() {
|
|
34
|
-
|
|
33
|
+
let tos = this._getSigns(this.fx, this.zeroes);
|
|
34
|
+
return tos;
|
|
35
35
|
}
|
|
36
36
|
;
|
|
37
37
|
makeAsymptotes() {
|
|
@@ -99,10 +99,9 @@ class RationalStudy extends study_1.Study {
|
|
|
99
99
|
let dx = this.fx.clone().derivative(),
|
|
100
100
|
tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.GROWS);
|
|
101
101
|
console.log(tos.factors.length, tos.signs.length);
|
|
102
|
-
let result = this.makeGrowsResult(
|
|
102
|
+
let result = this.makeGrowsResult(tos);
|
|
103
103
|
tos.signs.push(result.growsLine);
|
|
104
104
|
tos.extremes = result.extremes;
|
|
105
|
-
console.log(tos.signs.length);
|
|
106
105
|
return tos;
|
|
107
106
|
}
|
|
108
107
|
;
|
|
@@ -110,7 +109,7 @@ class RationalStudy extends study_1.Study {
|
|
|
110
109
|
// Get the zeroes, make signs.
|
|
111
110
|
let dx = this.derivative.fx.clone().derivative(),
|
|
112
111
|
tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.VARIATIONS);
|
|
113
|
-
let result = this.makeVariationsResult(
|
|
112
|
+
let result = this.makeVariationsResult(tos);
|
|
114
113
|
tos.signs.push(result.varsLine);
|
|
115
114
|
tos.extremes = result.extremes;
|
|
116
115
|
return tos;
|
|
@@ -166,7 +165,8 @@ class RationalStudy extends study_1.Study {
|
|
|
166
165
|
factors,
|
|
167
166
|
zeroes,
|
|
168
167
|
signs,
|
|
169
|
-
extremes: {}
|
|
168
|
+
extremes: {},
|
|
169
|
+
tex: ''
|
|
170
170
|
};
|
|
171
171
|
}
|
|
172
172
|
}
|
|
@@ -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;AAGrD,MAAa,aAAc,SAAQ,aAAK;IACpC,YAAY,EAAqB;QAC7B,
|
|
1
|
+
{"version":3,"file":"rationalStudy.js","sourceRoot":"","sources":["../../../../src/maths/algebra/study/rationalStudy.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,7 @@ export interface ITableOfSigns {
|
|
|
55
55
|
signs: (string[])[];
|
|
56
56
|
type: TABLE_OF_SIGNS;
|
|
57
57
|
zeroes: IZero[];
|
|
58
|
+
tex: string;
|
|
58
59
|
}
|
|
59
60
|
export declare enum TABLE_OF_SIGNS {
|
|
60
61
|
DEFAULT = 0,
|
|
@@ -83,9 +84,7 @@ export declare class Study {
|
|
|
83
84
|
private _signs;
|
|
84
85
|
private _variations;
|
|
85
86
|
private _zeroes;
|
|
86
|
-
|
|
87
87
|
constructor(fx: StudyableFunction);
|
|
88
|
-
|
|
89
88
|
get zeroes(): IZero[];
|
|
90
89
|
|
|
91
90
|
get domain(): string;
|
|
@@ -96,38 +95,34 @@ export declare class Study {
|
|
|
96
95
|
|
|
97
96
|
get derivative(): ITableOfSigns;
|
|
98
97
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
get texGrows(): string;
|
|
102
|
-
|
|
103
|
-
get texVariations(): string;
|
|
104
|
-
|
|
105
|
-
indexOfZero: (zeroes: IZero[], zero: IZero | ISolution) => number;
|
|
106
|
-
makeGrowsResult: (fx: StudyableFunction, tos: ITableOfSigns) => {
|
|
98
|
+
makeGrowsResult: (tos: ITableOfSigns) => {
|
|
107
99
|
growsLine: string[];
|
|
108
100
|
extremes: {
|
|
109
101
|
[Key: string]: IExtrema;
|
|
110
102
|
};
|
|
111
103
|
};
|
|
104
|
+
|
|
105
|
+
get texGrows(): string;
|
|
106
|
+
|
|
107
|
+
get texVariations(): string;
|
|
108
|
+
|
|
112
109
|
makeOneLineForSigns: (factor: Polynom, zeroes: IZero[], zeroSign: ZEROTYPE) => string[];
|
|
110
|
+
indexOfZero: (zeroes: IZero[], zero: IZero | ISolution) => number;
|
|
113
111
|
makeSignsResult: (signs: (string[])[]) => string[];
|
|
114
112
|
makeStudy: () => void;
|
|
115
|
-
makeVariationsResult: (
|
|
113
|
+
makeVariationsResult: (tos: ITableOfSigns) => {
|
|
116
114
|
varsLine: string[];
|
|
117
115
|
extremes: {
|
|
118
116
|
[Key: string]: IExtrema;
|
|
119
117
|
};
|
|
120
118
|
};
|
|
121
119
|
|
|
122
|
-
|
|
120
|
+
get texSigns(): string;
|
|
123
121
|
|
|
122
|
+
makeZeroes(): IZero[];
|
|
124
123
|
makeSigns(): ITableOfSigns;
|
|
125
|
-
|
|
126
124
|
makeAsymptotes(): IAsymptote[];
|
|
127
|
-
|
|
128
125
|
makeDerivative(): ITableOfSigns;
|
|
129
|
-
|
|
130
126
|
makeVariation(): ITableOfSigns;
|
|
131
|
-
|
|
132
127
|
private _makeTexFromTableOfSigns;
|
|
133
128
|
}
|
|
@@ -55,6 +55,9 @@ class Study {
|
|
|
55
55
|
this._asymptotes = this.makeAsymptotes();
|
|
56
56
|
this._derivative = this.makeDerivative();
|
|
57
57
|
this._variations = this.makeVariation();
|
|
58
|
+
this._signs.tex = this.texSigns;
|
|
59
|
+
this._derivative.tex = this.texGrows;
|
|
60
|
+
this._variations.tex = this.texVariations;
|
|
58
61
|
};
|
|
59
62
|
this.indexOfZero = (zeroes, zero) => {
|
|
60
63
|
for (let i = 0; i < zeroes.length; i++) {
|
|
@@ -118,7 +121,7 @@ class Study {
|
|
|
118
121
|
}
|
|
119
122
|
return resultLine;
|
|
120
123
|
};
|
|
121
|
-
this.makeGrowsResult = (
|
|
124
|
+
this.makeGrowsResult = (tos) => {
|
|
122
125
|
// Use the last line (=> resultLine) to grab the necessary information
|
|
123
126
|
let signsAsArray = Object.values(tos.signs), resultLine = signsAsArray[signsAsArray.length - 1],
|
|
124
127
|
growsLine = [], extremes = {}, zeroes = tos.zeroes;
|
|
@@ -130,14 +133,14 @@ class Study {
|
|
|
130
133
|
// It's a zero. Get the coordinates
|
|
131
134
|
let x, y, zero = zeroes[i].exact, pt, xTex, yTex, pointType;
|
|
132
135
|
if (zero instanceof fraction_1.Fraction) {
|
|
133
|
-
let value = zero, evalY = fx.evaluate(value);
|
|
136
|
+
let value = zero, evalY = this.fx.evaluate(value);
|
|
134
137
|
x = zero.value;
|
|
135
138
|
y = evalY.value;
|
|
136
139
|
xTex = zero.tex;
|
|
137
140
|
yTex = evalY.tex;
|
|
138
141
|
} else {
|
|
139
142
|
x = zeroes[i].value;
|
|
140
|
-
y = fx.evaluate(zeroes[i].value).value;
|
|
143
|
+
y = this.fx.evaluate(zeroes[i].value).value;
|
|
141
144
|
xTex = x.toFixed(2);
|
|
142
145
|
yTex = y.toFixed(2);
|
|
143
146
|
}
|
|
@@ -172,7 +175,7 @@ class Study {
|
|
|
172
175
|
growsLine.push(`${resultLine[resultLine.length - 2]}/`);
|
|
173
176
|
return {growsLine, extremes};
|
|
174
177
|
};
|
|
175
|
-
this.makeVariationsResult = (
|
|
178
|
+
this.makeVariationsResult = (tos) => {
|
|
176
179
|
// TODO: make variations result is not yet implemented.
|
|
177
180
|
let extremes = {}, varsLine = [];
|
|
178
181
|
return {varsLine, extremes};
|
|
@@ -220,12 +223,15 @@ class Study {
|
|
|
220
223
|
get asymptotes() {
|
|
221
224
|
return this._asymptotes;
|
|
222
225
|
}
|
|
226
|
+
|
|
223
227
|
get derivative() {
|
|
224
228
|
return this._derivative;
|
|
225
229
|
}
|
|
226
|
-
|
|
230
|
+
|
|
231
|
+
get texSigns() {
|
|
227
232
|
return this._makeTexFromTableOfSigns(this._signs);
|
|
228
233
|
}
|
|
234
|
+
|
|
229
235
|
get texGrows() {
|
|
230
236
|
return this._makeTexFromTableOfSigns(this._derivative);
|
|
231
237
|
}
|
|
@@ -243,7 +249,8 @@ class Study {
|
|
|
243
249
|
factors: [],
|
|
244
250
|
zeroes: [],
|
|
245
251
|
signs: [],
|
|
246
|
-
extremes: {}
|
|
252
|
+
extremes: {},
|
|
253
|
+
tex: ''
|
|
247
254
|
};
|
|
248
255
|
}
|
|
249
256
|
;
|
|
@@ -257,7 +264,8 @@ class Study {
|
|
|
257
264
|
factors: [],
|
|
258
265
|
zeroes: [],
|
|
259
266
|
signs: [],
|
|
260
|
-
extremes: {}
|
|
267
|
+
extremes: {},
|
|
268
|
+
tex: ''
|
|
261
269
|
};
|
|
262
270
|
}
|
|
263
271
|
makeVariation() {
|
|
@@ -267,7 +275,8 @@ class Study {
|
|
|
267
275
|
factors: [],
|
|
268
276
|
zeroes: [],
|
|
269
277
|
signs: [],
|
|
270
|
-
extremes: {}
|
|
278
|
+
extremes: {},
|
|
279
|
+
tex: ''
|
|
271
280
|
};
|
|
272
281
|
}
|
|
273
282
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"study.js","sourceRoot":"","sources":["../../../src/maths/algebra/study.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH,uDAAkD;AAMlD,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,sBAAU,CAAA;IACV,yBAAa,CAAA;IACb,yBAAa,CAAA;AACjB,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AAOD,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,yBAAY,CAAA;IACZ,0BAAa,CAAA;AACjB,CAAC,EALW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAKpB;AAUD,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,+BAAW,CAAA;IACX,+BAAW,CAAA;IACX,iCAAa,CAAA;IACb,gCAAY,CAAA;AAChB,CAAC,EALW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAK3B;
|
|
1
|
+
{"version":3,"file":"study.js","sourceRoot":"","sources":["../../../src/maths/algebra/study.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -30,8 +30,6 @@ import {Polynom} from "../polynom";
|
|
|
30
30
|
|
|
31
31
|
export class RationalStudy extends Study {
|
|
32
32
|
constructor(fx: StudyableFunction) {
|
|
33
|
-
console.log('RATIONAL STUDY')
|
|
34
|
-
|
|
35
33
|
super(fx)
|
|
36
34
|
|
|
37
35
|
return this
|
|
@@ -43,7 +41,8 @@ export class RationalStudy extends Study {
|
|
|
43
41
|
};
|
|
44
42
|
|
|
45
43
|
makeSigns(): ITableOfSigns {
|
|
46
|
-
|
|
44
|
+
let tos = this._getSigns(this.fx, this.zeroes)
|
|
45
|
+
return tos
|
|
47
46
|
};
|
|
48
47
|
|
|
49
48
|
makeAsymptotes(): IAsymptote[] {
|
|
@@ -121,11 +120,9 @@ export class RationalStudy extends Study {
|
|
|
121
120
|
tos = this._getSigns(dx, this._getZeroes(dx), TABLE_OF_SIGNS.GROWS)
|
|
122
121
|
|
|
123
122
|
console.log(tos.factors.length, tos.signs.length)
|
|
124
|
-
let result = this.makeGrowsResult(
|
|
123
|
+
let result = this.makeGrowsResult(tos)
|
|
125
124
|
tos.signs.push(result.growsLine)
|
|
126
125
|
tos.extremes = result.extremes
|
|
127
|
-
|
|
128
|
-
console.log(tos.signs.length)
|
|
129
126
|
return tos
|
|
130
127
|
};
|
|
131
128
|
|
|
@@ -134,10 +131,9 @@ export class RationalStudy extends Study {
|
|
|
134
131
|
let dx = this.derivative.fx.clone().derivative(),
|
|
135
132
|
tos = this._getSigns(dx, this._getZeroes(dx), TABLE_OF_SIGNS.VARIATIONS)
|
|
136
133
|
|
|
137
|
-
let result = this.makeVariationsResult(
|
|
134
|
+
let result = this.makeVariationsResult(tos)
|
|
138
135
|
tos.signs.push(result.varsLine)
|
|
139
136
|
tos.extremes = result.extremes
|
|
140
|
-
|
|
141
137
|
return tos
|
|
142
138
|
};
|
|
143
139
|
|
|
@@ -202,7 +198,8 @@ export class RationalStudy extends Study {
|
|
|
202
198
|
factors,
|
|
203
199
|
zeroes,
|
|
204
200
|
signs,
|
|
205
|
-
extremes: {}
|
|
201
|
+
extremes: {},
|
|
202
|
+
tex: ''
|
|
206
203
|
}
|
|
207
204
|
}
|
|
208
205
|
}
|
|
@@ -65,6 +65,7 @@ export interface ITableOfSigns {
|
|
|
65
65
|
signs: (string[])[],
|
|
66
66
|
type: TABLE_OF_SIGNS
|
|
67
67
|
zeroes: IZero[],
|
|
68
|
+
tex: string
|
|
68
69
|
}
|
|
69
70
|
|
|
70
71
|
export enum TABLE_OF_SIGNS {
|
|
@@ -122,7 +123,7 @@ export class Study {
|
|
|
122
123
|
return this._derivative;
|
|
123
124
|
}
|
|
124
125
|
|
|
125
|
-
get
|
|
126
|
+
get texSigns(): string {
|
|
126
127
|
return this._makeTexFromTableOfSigns(this._signs)
|
|
127
128
|
}
|
|
128
129
|
|
|
@@ -144,6 +145,11 @@ export class Study {
|
|
|
144
145
|
this._derivative = this.makeDerivative()
|
|
145
146
|
|
|
146
147
|
this._variations = this.makeVariation()
|
|
148
|
+
|
|
149
|
+
this._signs.tex = this.texSigns
|
|
150
|
+
this._derivative.tex = this.texGrows
|
|
151
|
+
this._variations.tex = this.texVariations
|
|
152
|
+
|
|
147
153
|
};
|
|
148
154
|
|
|
149
155
|
indexOfZero = (zeroes: IZero[], zero: IZero | ISolution): number => {
|
|
@@ -223,7 +229,7 @@ export class Study {
|
|
|
223
229
|
return resultLine
|
|
224
230
|
}
|
|
225
231
|
|
|
226
|
-
makeGrowsResult = (
|
|
232
|
+
makeGrowsResult = (tos: ITableOfSigns): { growsLine: string[], extremes: { [Key: string]: IExtrema } } => {
|
|
227
233
|
|
|
228
234
|
// Use the last line (=> resultLine) to grab the necessary information
|
|
229
235
|
let signsAsArray = Object.values(tos.signs),
|
|
@@ -247,7 +253,7 @@ export class Study {
|
|
|
247
253
|
|
|
248
254
|
if (zero instanceof Fraction) {
|
|
249
255
|
let value: Fraction = zero,
|
|
250
|
-
evalY = fx.evaluate(value)
|
|
256
|
+
evalY = this.fx.evaluate(value)
|
|
251
257
|
|
|
252
258
|
x = zero.value
|
|
253
259
|
y = evalY.value
|
|
@@ -255,7 +261,7 @@ export class Study {
|
|
|
255
261
|
yTex = evalY.tex
|
|
256
262
|
} else {
|
|
257
263
|
x = zeroes[i].value
|
|
258
|
-
y = fx.evaluate(zeroes[i].value).value
|
|
264
|
+
y = this.fx.evaluate(zeroes[i].value).value
|
|
259
265
|
|
|
260
266
|
xTex = x.toFixed(2)
|
|
261
267
|
yTex = y.toFixed(2)
|
|
@@ -298,7 +304,7 @@ export class Study {
|
|
|
298
304
|
return {growsLine, extremes}
|
|
299
305
|
}
|
|
300
306
|
|
|
301
|
-
makeVariationsResult = (
|
|
307
|
+
makeVariationsResult = (tos: ITableOfSigns): { varsLine: string[], extremes: { [Key: string]: IExtrema } } => {
|
|
302
308
|
// TODO: make variations result is not yet implemented.
|
|
303
309
|
let extremes = {},
|
|
304
310
|
varsLine: string[] = []
|
|
@@ -316,7 +322,8 @@ export class Study {
|
|
|
316
322
|
factors: [],
|
|
317
323
|
zeroes: [],
|
|
318
324
|
signs: [],
|
|
319
|
-
extremes: {}
|
|
325
|
+
extremes: {},
|
|
326
|
+
tex: ''
|
|
320
327
|
}
|
|
321
328
|
};
|
|
322
329
|
|
|
@@ -331,7 +338,8 @@ export class Study {
|
|
|
331
338
|
factors: [],
|
|
332
339
|
zeroes: [],
|
|
333
340
|
signs: [],
|
|
334
|
-
extremes: {}
|
|
341
|
+
extremes: {},
|
|
342
|
+
tex: ''
|
|
335
343
|
}
|
|
336
344
|
}
|
|
337
345
|
|
|
@@ -342,7 +350,8 @@ export class Study {
|
|
|
342
350
|
factors: [],
|
|
343
351
|
zeroes: [],
|
|
344
352
|
signs: [],
|
|
345
|
-
extremes: {}
|
|
353
|
+
extremes: {},
|
|
354
|
+
tex: ''
|
|
346
355
|
}
|
|
347
356
|
}
|
|
348
357
|
|