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.
@@ -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).tex;
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=${H}`,
74
+ tex: `y=${Htex}`,
72
75
  zero: null,
73
- limits: `\\lim_{x\\to\\infty}\\ f(x) = ${H}`,
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":"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"}
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 = this.fx.evaluate(zeroes[i].value).value;
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pimath",
3
- "version": "0.0.64",
3
+ "version": "0.0.65",
4
4
  "description": "A math library for teacher :)",
5
5
  "scripts": {
6
6
  "test": "mocha -r ts-node/register 'tests/**/*.test.ts'",
@@ -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).tex
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=${H}`,
91
+ tex: `y=${Htex}`,
90
92
  zero: null,
91
- limits: `\\lim_{x\\to\\infty}\\ f(x) = ${H}`,
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 = this.fx.evaluate(zeroes[i].value).value
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
  })