pimath 0.0.133 → 0.0.134
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/pimath.js +2444 -3566
- package/package.json +38 -20
- package/types/algebra/equation.d.ts +109 -0
- package/types/algebra/equation.d.ts.map +1 -0
- package/types/algebra/equationSolver.d.ts +16 -0
- package/types/algebra/equationSolver.d.ts.map +1 -0
- package/types/algebra/factor.d.ts +47 -0
- package/types/algebra/factor.d.ts.map +1 -0
- package/{dist/maths → types}/algebra/monom.d.ts +98 -131
- package/types/algebra/monom.d.ts.map +1 -0
- package/types/algebra/polyFactor.d.ts +41 -0
- package/types/algebra/polyFactor.d.ts.map +1 -0
- package/types/algebra/polynom.d.ts +126 -0
- package/types/algebra/polynom.d.ts.map +1 -0
- package/types/algebra/rational.d.ts +41 -0
- package/types/algebra/rational.d.ts.map +1 -0
- package/{dist/maths → types}/coefficients/fraction.d.ts +69 -66
- package/types/coefficients/fraction.d.ts.map +1 -0
- package/{dist/maths → types}/coefficients/nthRoot.d.ts +3 -3
- package/{dist/maths → types}/geometry/circle.d.ts +10 -15
- package/types/geometry/circle.d.ts.map +1 -0
- package/types/geometry/geomMath.d.ts +10 -0
- package/types/geometry/geomMath.d.ts.map +1 -0
- package/{dist/maths → types}/geometry/line.d.ts +25 -35
- package/types/geometry/line.d.ts.map +1 -0
- package/types/geometry/line3.d.ts +50 -0
- package/types/geometry/line3.d.ts.map +1 -0
- package/types/geometry/plane3.d.ts +29 -0
- package/types/geometry/plane3.d.ts.map +1 -0
- package/types/geometry/vector.d.ts +70 -0
- package/types/geometry/vector.d.ts.map +1 -0
- package/types/geometry/vector3d.d.ts +37 -0
- package/types/geometry/vector3d.d.ts.map +1 -0
- package/types/index.d.ts +57 -0
- package/types/index.d.ts.map +1 -0
- package/types/numeric.d.ts +39 -0
- package/types/pimath.interface.d.ts +57 -0
- package/types/pimath.interface.d.ts.map +1 -0
- package/types/randomization/algebra/rndEquation.d.ts +4 -0
- package/types/randomization/algebra/rndEquation.d.ts.map +1 -0
- package/types/randomization/algebra/rndMonom.d.ts +4 -0
- package/types/randomization/algebra/rndMonom.d.ts.map +1 -0
- package/types/randomization/algebra/rndPolynom.d.ts +5 -0
- package/types/randomization/algebra/rndPolynom.d.ts.map +1 -0
- package/types/randomization/coefficient/rndFraction.d.ts +4 -0
- package/types/randomization/coefficient/rndFraction.d.ts.map +1 -0
- package/types/randomization/geometry/rndCircle.d.ts +4 -0
- package/types/randomization/geometry/rndCircle.d.ts.map +1 -0
- package/types/randomization/geometry/rndLine.d.ts +4 -0
- package/types/randomization/geometry/rndLine.d.ts.map +1 -0
- package/types/randomization/geometry/rndLine3.d.ts +4 -0
- package/types/randomization/geometry/rndLine3.d.ts.map +1 -0
- package/types/randomization/geometry/rndPoint.d.ts +4 -0
- package/types/randomization/geometry/rndPoint.d.ts.map +1 -0
- package/types/randomization/random.d.ts +20 -0
- package/types/randomization/random.d.ts.map +1 -0
- package/types/randomization/rndHelpers.d.ts +21 -0
- package/types/randomization/rndTypes.d.ts +64 -0
- package/types/randomization/rndTypes.d.ts.map +1 -0
- package/dist/main.d.ts +0 -39
- package/dist/maths/algebra/equation.d.ts +0 -120
- package/dist/maths/algebra/linearSystem.d.ts +0 -40
- package/dist/maths/algebra/logicalset.d.ts +0 -28
- package/dist/maths/algebra/polynom.d.ts +0 -155
- package/dist/maths/algebra/rational.d.ts +0 -44
- package/dist/maths/algebra/study/rationalStudy.d.ts +0 -14
- package/dist/maths/algebra/study.d.ts +0 -140
- package/dist/maths/geometry/point.d.ts +0 -36
- package/dist/maths/geometry/triangle.d.ts +0 -92
- package/dist/maths/geometry/vector.d.ts +0 -38
- package/dist/maths/numeric.d.ts +0 -28
- package/dist/maths/numexp.d.ts +0 -19
- package/dist/maths/randomization/random.d.ts +0 -26
- package/dist/maths/randomization/randomCore.d.ts +0 -7
- package/dist/maths/randomization/rndFraction.d.ts +0 -13
- package/dist/maths/randomization/rndGeometryCircle.d.ts +0 -13
- package/dist/maths/randomization/rndGeometryLine.d.ts +0 -13
- package/dist/maths/randomization/rndGeometryPoint.d.ts +0 -13
- package/dist/maths/randomization/rndHelpers.d.ts +0 -23
- package/dist/maths/randomization/rndMonom.d.ts +0 -13
- package/dist/maths/randomization/rndPolynom.d.ts +0 -14
- package/dist/maths/randomization/rndTypes.d.ts +0 -40
- package/dist/maths/shutingyard.d.ts +0 -59
package/package.json
CHANGED
|
@@ -1,19 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pimath",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.134",
|
|
4
4
|
"description": "A math library for teacher :)",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "dist/
|
|
7
|
-
"
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"module": "dist/index.js",
|
|
8
|
+
"types": "types/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/pimath.js",
|
|
12
|
+
"require": "./dist/pimath.js"
|
|
13
|
+
},
|
|
14
|
+
"./types": {
|
|
15
|
+
"import": "./types/index.d.ts",
|
|
16
|
+
"require": "./types/index.d.ts"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
8
19
|
"files": [
|
|
9
|
-
"dist"
|
|
20
|
+
"dist",
|
|
21
|
+
"types"
|
|
10
22
|
],
|
|
11
23
|
"scripts": {
|
|
12
|
-
"test": "
|
|
24
|
+
"test": "vitest",
|
|
13
25
|
"dev": "vite serve",
|
|
14
26
|
"build": "tsc --p ./tsconfig-build.json && vite build",
|
|
15
27
|
"preview": "vite preview",
|
|
16
|
-
"docs": "typedoc"
|
|
28
|
+
"docs": "typedoc",
|
|
29
|
+
"dependency-cruise": "dependency-cruise -T dot -x node_modules -v -- src/index.ts | dot -T svg > dependencies.svg"
|
|
17
30
|
},
|
|
18
31
|
"keywords": [
|
|
19
32
|
"math",
|
|
@@ -22,19 +35,24 @@
|
|
|
22
35
|
"author": "Basil Gass",
|
|
23
36
|
"license": "MIT",
|
|
24
37
|
"devDependencies": {
|
|
25
|
-
"@
|
|
26
|
-
"@types/
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"ts-loader": "^9.
|
|
34
|
-
"ts-node": "^10.9.
|
|
35
|
-
"typedoc": "^0.25.
|
|
36
|
-
"typescript": "^5.
|
|
37
|
-
"
|
|
38
|
-
"vite
|
|
38
|
+
"@eslint/js": "^9.4.0",
|
|
39
|
+
"@types/eslint__js": "^8.42.3",
|
|
40
|
+
"autoprefixer": "^10.4.19",
|
|
41
|
+
"dependency-cruiser": "^16.3.10",
|
|
42
|
+
"eslint": "^8.57.0",
|
|
43
|
+
"globals": "^15.3.0",
|
|
44
|
+
"postcss": "^8.4.38",
|
|
45
|
+
"tailwindcss": "^3.4.3",
|
|
46
|
+
"ts-loader": "^9.5.1",
|
|
47
|
+
"ts-node": "^10.9.2",
|
|
48
|
+
"typedoc": "^0.25.13",
|
|
49
|
+
"typescript": "^5.4.5",
|
|
50
|
+
"typescript-eslint": "^7.12.0",
|
|
51
|
+
"vite": "^5.2.12",
|
|
52
|
+
"vite-plugin-dts": "^3.9.1",
|
|
53
|
+
"vitest": "^1.6.0"
|
|
54
|
+
},
|
|
55
|
+
"dependencies": {
|
|
56
|
+
"piexpression": "^0.0.8"
|
|
39
57
|
}
|
|
40
58
|
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { IAlgebra, IEquation, InputAlgebra, InputValue, IPiMathObject, ISolution, literalType } from '../pimath.interface';
|
|
2
|
+
import { Fraction } from '../coefficients/fraction';
|
|
3
|
+
import { Polynom } from './polynom';
|
|
4
|
+
|
|
5
|
+
export type EQUATION_SIGN = "=" | "<=" | ">=" | "<" | ">";
|
|
6
|
+
export declare class Equation implements IPiMathObject<Equation>, IEquation<Equation>, IAlgebra<Equation> {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(equation: InputAlgebra<Polynom> | Equation);
|
|
9
|
+
constructor(left: InputAlgebra<Polynom>, right: InputAlgebra<Polynom>, sign?: EQUATION_SIGN);
|
|
10
|
+
parse: (equationString: string) => this;
|
|
11
|
+
create: (left: Polynom, right: Polynom, sign?: string) => this;
|
|
12
|
+
clone: () => Equation;
|
|
13
|
+
/**
|
|
14
|
+
* Add a value to the equation
|
|
15
|
+
* if value is an equation, add the left part to the left part of the equation
|
|
16
|
+
* and the right part to the right part of the equation
|
|
17
|
+
* if value is a string, try to create an equation
|
|
18
|
+
* if it fails, create a polynom and add it to the left and right part of the equation
|
|
19
|
+
* @param Equation | Polynom | Monom | Fraction | string | monom
|
|
20
|
+
*/
|
|
21
|
+
add(value: InputValue<Equation | Polynom>): this;
|
|
22
|
+
/**
|
|
23
|
+
* Get the degree of the equation
|
|
24
|
+
* @param letter
|
|
25
|
+
*/
|
|
26
|
+
degree: (letter?: string) => Fraction;
|
|
27
|
+
/**
|
|
28
|
+
* divide an equation by a given value (transformed as a fraction)
|
|
29
|
+
*
|
|
30
|
+
* ```
|
|
31
|
+
* 8x+10=6x \vert 2
|
|
32
|
+
* 4x+5=3x
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* |>Alternatively with $3x-4$ maybe it's working ?
|
|
36
|
+
* $$\frac{3x}{5}$$
|
|
37
|
+
*
|
|
38
|
+
* @param value
|
|
39
|
+
* @returns {Equation}
|
|
40
|
+
*/
|
|
41
|
+
divide: (value: InputValue<Fraction>) => this;
|
|
42
|
+
/**
|
|
43
|
+
* Create an Equation using two polynoms.
|
|
44
|
+
* Markdown *support* is cool
|
|
45
|
+
* @param values
|
|
46
|
+
* @param asNumeric
|
|
47
|
+
*/
|
|
48
|
+
evaluate(values: InputValue<Fraction> | literalType<number | Fraction>, asNumeric?: boolean | undefined): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Determine if the equation contains a variable.
|
|
51
|
+
* @param letter
|
|
52
|
+
*/
|
|
53
|
+
hasVariable: (letter: string) => boolean;
|
|
54
|
+
isLinearTo: (equ: Equation) => boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Determine if the equation contains more than one letter/variable.
|
|
57
|
+
*/
|
|
58
|
+
isMultiVariable: () => boolean;
|
|
59
|
+
isEqualTo: (equ: Equation) => boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Reorder the polynom to have only one letter on the left, the rest on the right.
|
|
62
|
+
* @param letter
|
|
63
|
+
*/
|
|
64
|
+
isolate: (letter?: string) => this | false;
|
|
65
|
+
letters: () => string[];
|
|
66
|
+
/**
|
|
67
|
+
* Reorder will move all monoms containing a letter on the left, all the other on the right.
|
|
68
|
+
*/
|
|
69
|
+
moveLeft: () => this;
|
|
70
|
+
/**
|
|
71
|
+
* Multiple an equation by a fraction value.
|
|
72
|
+
* @param value
|
|
73
|
+
*/
|
|
74
|
+
multiply: (value: InputValue<Fraction>) => this;
|
|
75
|
+
pow(value: number): this;
|
|
76
|
+
opposite: () => this;
|
|
77
|
+
reduce(): this;
|
|
78
|
+
reorder: (allLeft?: boolean) => this;
|
|
79
|
+
replaceBy: (letter: string, P: Polynom) => this;
|
|
80
|
+
/**
|
|
81
|
+
* Multiply by the lcm denominator and divide by the gcm numerators.
|
|
82
|
+
*/
|
|
83
|
+
simplify: () => this;
|
|
84
|
+
solve: () => ISolution[];
|
|
85
|
+
split(): [Polynom, Polynom];
|
|
86
|
+
subtract(value: InputValue<Equation | Polynom>): this;
|
|
87
|
+
test: (values: literalType<Fraction>) => boolean;
|
|
88
|
+
static isEquationString(equationString: string): boolean;
|
|
89
|
+
static makeSolutionsUnique(solutions: ISolution[], sorted?: boolean): ISolution[];
|
|
90
|
+
get display(): string;
|
|
91
|
+
get left(): Polynom;
|
|
92
|
+
set left(value: Polynom);
|
|
93
|
+
get numberOfVars(): number;
|
|
94
|
+
get randomizeDefaults(): Record<string, number | string | boolean>;
|
|
95
|
+
set randomizeDefaults(value: Record<string, number | string | boolean>);
|
|
96
|
+
get right(): Polynom;
|
|
97
|
+
set right(value: Polynom);
|
|
98
|
+
get sign(): string;
|
|
99
|
+
set sign(value: string);
|
|
100
|
+
get signAsTex(): string;
|
|
101
|
+
get tex(): string;
|
|
102
|
+
get variables(): string[];
|
|
103
|
+
private _findSign;
|
|
104
|
+
private _formatSign;
|
|
105
|
+
private _reverseSign;
|
|
106
|
+
private isAlsoEqual;
|
|
107
|
+
private isGreater;
|
|
108
|
+
private isStrictEqual;
|
|
109
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equation.d.ts","sourceRoot":"","sources":["../../src/algebra/equation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ISolution } from '../pimath.interface';
|
|
2
|
+
import { Equation } from './equation';
|
|
3
|
+
|
|
4
|
+
export declare class EquationSolver {
|
|
5
|
+
#private;
|
|
6
|
+
constructor(equation: Equation, variable?: string);
|
|
7
|
+
solve(): ISolution[];
|
|
8
|
+
solveAsCardan(): ISolution[];
|
|
9
|
+
private _makeSolution;
|
|
10
|
+
private _makeApproximativeSolution;
|
|
11
|
+
private _solveLinear;
|
|
12
|
+
private _solveQuadratic;
|
|
13
|
+
private _solveQuadratic_Output;
|
|
14
|
+
private _solveCubic_CardanFormula;
|
|
15
|
+
private _solveByFactorization;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equationSolver.d.ts","sourceRoot":"","sources":["../../src/algebra/equationSolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAGhE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,cAAc;;gBAIX,QAAQ,EAAE,QAAQ,EAAE,QAAQ,SAAM;IAK9C,KAAK,IAAI,SAAS,EAAE;IAuBpB,aAAa,IAAI,SAAS,EAAE;IAO5B,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,eAAe;IAmDvB,OAAO,CAAC,sBAAsB;IAiD9B,OAAO,CAAC,yBAAyB;IA0FjC,OAAO,CAAC,qBAAqB;CAkFhC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { IAlgebra, IExpression, InputAlgebra, InputValue, IPiMathObject, literalType } from '../pimath.interface';
|
|
2
|
+
import { Fraction } from '../coefficients/fraction';
|
|
3
|
+
import { Polynom } from './polynom';
|
|
4
|
+
|
|
5
|
+
export declare class Factor implements IPiMathObject<Factor>, IExpression<Factor>, IAlgebra<Factor> {
|
|
6
|
+
#private;
|
|
7
|
+
constructor(value: Factor);
|
|
8
|
+
constructor(value: InputAlgebra<Polynom>, power?: InputValue<Fraction>);
|
|
9
|
+
constructor(value: Polynom, power?: InputValue<Fraction>);
|
|
10
|
+
parse(): Factor;
|
|
11
|
+
clone(): Factor;
|
|
12
|
+
add(): Factor;
|
|
13
|
+
get asPower(): this;
|
|
14
|
+
get asRoot(): this;
|
|
15
|
+
degree(letter?: string): Fraction;
|
|
16
|
+
derivative(): Factor[];
|
|
17
|
+
develop(): Polynom;
|
|
18
|
+
get display(): string;
|
|
19
|
+
divide(value: InputAlgebra<Factor | Polynom>): this;
|
|
20
|
+
evaluate(values: InputValue<Fraction> | literalType<number | Fraction>, asNumeric?: boolean): number | Fraction;
|
|
21
|
+
hasVariable(letter: string): boolean;
|
|
22
|
+
inverse(): this;
|
|
23
|
+
isEqual(value: Factor): boolean;
|
|
24
|
+
isOne(): boolean;
|
|
25
|
+
isSameAs(value: InputAlgebra<Factor | Polynom>): boolean;
|
|
26
|
+
isZero(): boolean;
|
|
27
|
+
multiply(value: InputAlgebra<Factor | Polynom>): this;
|
|
28
|
+
one(): this;
|
|
29
|
+
opposite(): Factor;
|
|
30
|
+
get polynom(): Polynom;
|
|
31
|
+
set polynom(value: Polynom);
|
|
32
|
+
pow(value: number | Fraction): this;
|
|
33
|
+
get power(): Fraction;
|
|
34
|
+
set power(value: InputValue<Fraction>);
|
|
35
|
+
primitive(): Factor;
|
|
36
|
+
reduce(): Factor;
|
|
37
|
+
root(value: number): this;
|
|
38
|
+
sqrt(): this;
|
|
39
|
+
subtract(): Factor;
|
|
40
|
+
get tex(): string;
|
|
41
|
+
get variables(): string[];
|
|
42
|
+
zero(): this;
|
|
43
|
+
}
|
|
44
|
+
export declare enum FACTOR_DISPLAY {
|
|
45
|
+
ROOT = 0,
|
|
46
|
+
POWER = 1
|
|
47
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factor.d.ts","sourceRoot":"","sources":["../../src/algebra/factor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,qBAAa,MAAO,YAChB,aAAa,CAAC,MAAM,CAAC,EACrB,WAAW,CAAC,MAAM,CAAC,EACnB,QAAQ,CAAC,MAAM,CAAC;;gBAKJ,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC;gBAC1D,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC;IAcjD,KAAK,IAAiC,MAAM;IAI5C,KAAK,IAAI,MAAM;IAIf,GAAG,IAAI,MAAM;IAIpB,IAAW,OAAO,IAAI,IAAI,CAGzB;IAED,IAAW,MAAM,IAAI,IAAI,CAGxB;IAEM,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ;IAIjC,UAAU,IAAI,MAAM,EAAE;IAoBtB,OAAO,IAAI,OAAO;IAQzB,IAAW,OAAO,IAAI,MAAM,CAyB3B;IAEM,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;IAkBnD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ;IAS/G,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIpC,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAO/B,KAAK,IAAI,OAAO;IAIhB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC;IAc9C,MAAM,IAAI,OAAO;IAIjB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;IAkBrD,GAAG,IAAI,IAAI;IAMX,QAAQ,IAAI,MAAM;IAIzB,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,OAAO,EAEhC;IAEM,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAK1C,IAAW,KAAK,IAAI,QAAQ,CAE3B;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,EAE3C;IAEM,SAAS,IAAI,MAAM;IAInB,MAAM,IAAI,MAAM;IAIhB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB,IAAI,IAAI,IAAI;IAIZ,QAAQ,IAAI,MAAM;IAIzB,IAAW,GAAG,IAAI,MAAM,CAyBvB;IAED,IAAW,SAAS,IAAI,MAAM,EAAE,CAE/B;IAEM,IAAI,IAAI,IAAI;CAMtB;AAED,oBAAY,cAAc;IACtB,IAAI,IAAA;IACJ,KAAK,IAAA;CACR"}
|
|
@@ -1,207 +1,174 @@
|
|
|
1
|
+
import { IAlgebra, IAnalyse, IExpression, InputAlgebra, InputValue, IPiMathObject, literalType } from '../pimath.interface';
|
|
1
2
|
import { Fraction } from '../coefficients/fraction';
|
|
2
|
-
import { Token } from '../shutingyard.ts';
|
|
3
3
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
private _coefficient;
|
|
9
|
-
private _literal;
|
|
4
|
+
export declare class Monom implements IPiMathObject<Monom>, IExpression<Monom>, IAnalyse<Monom>, IAlgebra<Monom> {
|
|
5
|
+
#private;
|
|
6
|
+
constructor(value?: InputValue<Fraction>);
|
|
7
|
+
constructor(value?: Monom);
|
|
10
8
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* Examples: \\(3x^2\\) or \\(3/5x^2\\)
|
|
14
|
-
* @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).
|
|
9
|
+
* Parse a string to a monom. The string may include fraction.
|
|
10
|
+
* @param inputStr
|
|
15
11
|
*/
|
|
16
|
-
|
|
12
|
+
parse: (inputStr: InputAlgebra<Monom>) => this;
|
|
17
13
|
/**
|
|
18
|
-
*
|
|
19
|
-
* @returns {Fraction}
|
|
14
|
+
* Clone the current Monom.
|
|
20
15
|
*/
|
|
21
|
-
|
|
16
|
+
clone: () => Monom;
|
|
17
|
+
static gcd: (...monoms: Monom[]) => Monom;
|
|
22
18
|
/**
|
|
23
|
-
*
|
|
24
|
-
* @param
|
|
19
|
+
* Multiply two monoms and return a NEW monom.
|
|
20
|
+
* @param monoms
|
|
25
21
|
*/
|
|
26
|
-
|
|
22
|
+
static xMultiply: (...monoms: Monom[]) => Monom;
|
|
27
23
|
/**
|
|
28
|
-
*
|
|
29
|
-
* @
|
|
24
|
+
* Add all similar monoms. If they aren't similar, they are simply skipped.
|
|
25
|
+
* @param M (Monom[]) The monoms to add.
|
|
30
26
|
*/
|
|
31
|
-
|
|
27
|
+
add: (...M: InputAlgebra<Fraction>[]) => this;
|
|
32
28
|
/**
|
|
33
|
-
*
|
|
34
|
-
* @
|
|
29
|
+
* Get the coefficient \\(k\\) of the Monom \\(k\\cdot x^{n}\\)
|
|
30
|
+
* @returns {Fraction}
|
|
35
31
|
*/
|
|
36
|
-
|
|
32
|
+
get coefficient(): Fraction;
|
|
37
33
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* @returns {literalType}
|
|
34
|
+
* Set the coefficient \\(k\\) value of the monom
|
|
35
|
+
* @param {Fraction | number | string} F
|
|
41
36
|
*/
|
|
42
|
-
|
|
37
|
+
set coefficient(F: InputValue<Fraction>);
|
|
38
|
+
containsRationalPower: () => boolean;
|
|
43
39
|
/**
|
|
44
|
-
*
|
|
45
|
-
* @param
|
|
40
|
+
* Get the degree of a monom. If no setLetter is given, the result will be the global degree.
|
|
41
|
+
* @param letter (string) Letter to get to degree (power)
|
|
46
42
|
*/
|
|
47
|
-
|
|
43
|
+
degree: (letter?: string) => Fraction;
|
|
48
44
|
/**
|
|
49
|
-
*
|
|
45
|
+
* Derivative the monom
|
|
46
|
+
* @param letter
|
|
50
47
|
*/
|
|
51
|
-
|
|
48
|
+
derivative: (letter?: string) => Monom;
|
|
52
49
|
/**
|
|
53
50
|
* This display getter is to be used in the polynom display getter
|
|
54
51
|
*/
|
|
55
52
|
get display(): string;
|
|
56
|
-
get dividers(): Monom[];
|
|
57
|
-
/**
|
|
58
|
-
* Display the monom, forcing the '+' sign to appear
|
|
59
|
-
*/
|
|
60
|
-
get displayWithSign(): string;
|
|
61
|
-
get texWithSign(): string;
|
|
62
|
-
get plotFunction(): string;
|
|
63
53
|
/**
|
|
64
|
-
*
|
|
54
|
+
* Divide the current monoms by multiple monoms
|
|
55
|
+
* @param M (Monom[])
|
|
65
56
|
*/
|
|
66
|
-
|
|
57
|
+
divide: (...M: InputAlgebra<Fraction>[]) => this;
|
|
58
|
+
get dividers(): Monom[];
|
|
67
59
|
/**
|
|
68
|
-
*
|
|
69
|
-
* @param
|
|
60
|
+
* Evaluate a monom. Each setLetter must be assigned to a Fraction.
|
|
61
|
+
* @param values Dictionary of <setLetter: Fraction>
|
|
62
|
+
* @param asNumeric
|
|
70
63
|
*/
|
|
71
|
-
|
|
64
|
+
evaluate: (values: literalType<number | Fraction> | InputValue<Fraction>, asNumeric?: boolean) => Fraction | number;
|
|
72
65
|
/**
|
|
73
|
-
*
|
|
74
|
-
* @param
|
|
66
|
+
* Determine if a monom contains a setLetter in it's literal part
|
|
67
|
+
* @param letter
|
|
75
68
|
*/
|
|
76
|
-
|
|
69
|
+
hasVariable: (letter?: string) => boolean;
|
|
70
|
+
integrate(a: InputValue<Fraction>, b: InputValue<Fraction>, letter?: string | undefined): Fraction;
|
|
71
|
+
inverse: () => this;
|
|
72
|
+
isDivisible: (div: Monom) => boolean;
|
|
77
73
|
/**
|
|
78
|
-
*
|
|
79
|
-
* @param
|
|
74
|
+
* Determine if two monoms are equals
|
|
75
|
+
* @param M
|
|
80
76
|
*/
|
|
81
|
-
|
|
82
|
-
|
|
77
|
+
isEqual: (M: Monom) => boolean;
|
|
78
|
+
isLiteralSquare: () => boolean;
|
|
83
79
|
/**
|
|
84
|
-
*
|
|
80
|
+
* Determine if the monom is one
|
|
85
81
|
*/
|
|
86
|
-
|
|
87
|
-
copyLiterals: (literal: literalType) => literalType;
|
|
88
|
-
makeSame: (M: Monom) => Monom;
|
|
82
|
+
isOne: () => boolean;
|
|
89
83
|
/**
|
|
90
|
-
*
|
|
84
|
+
* Determine if two monoms are similar
|
|
85
|
+
* @param M
|
|
91
86
|
*/
|
|
92
|
-
|
|
87
|
+
isSameAs: (M: Monom) => boolean;
|
|
88
|
+
isSquare: () => boolean;
|
|
93
89
|
/**
|
|
94
|
-
*
|
|
90
|
+
* Determine if the monom is null
|
|
95
91
|
*/
|
|
96
|
-
|
|
92
|
+
isZero: () => boolean;
|
|
97
93
|
/**
|
|
98
|
-
*
|
|
94
|
+
* Get the literal part of \\(x^{n_1}y^{n_2}\\) as dictionary \\[\\begin{array}{ll}x&=n_1\\\\y&=n_2\\end{array}\\]
|
|
95
|
+
* @returns {literalType}
|
|
99
96
|
*/
|
|
100
|
-
|
|
101
|
-
reduce: () => Monom;
|
|
97
|
+
get literal(): literalType<Fraction>;
|
|
102
98
|
/**
|
|
103
|
-
*
|
|
104
|
-
*
|
|
99
|
+
* Set the literal part of the monom. Must be a dictionary {x: Fraction, y: Fraction, ...}
|
|
100
|
+
* @param {literalType<Fraction>} L
|
|
105
101
|
*/
|
|
106
|
-
|
|
102
|
+
set literal(L: literalType<Fraction>);
|
|
107
103
|
/**
|
|
108
|
-
*
|
|
109
|
-
*
|
|
104
|
+
* Get the literal square roots of the Monom.
|
|
105
|
+
* TODO: remove this getter ? Is it used and is it correct ?
|
|
106
|
+
* @returns {literalType<Fraction>}
|
|
110
107
|
*/
|
|
111
|
-
|
|
108
|
+
get literalSqrt(): literalType<Fraction>;
|
|
112
109
|
/**
|
|
113
|
-
*
|
|
114
|
-
* @param
|
|
110
|
+
* Set the literal part of the monom from a string
|
|
111
|
+
* @param inputStr String like x^2y^3
|
|
115
112
|
*/
|
|
116
|
-
|
|
113
|
+
set literalStr(inputStr: string);
|
|
117
114
|
/**
|
|
118
115
|
* Multiple multiple monoms to the current monom
|
|
119
116
|
* @param M (Monom[]) The monoms to multiply to.
|
|
120
117
|
*/
|
|
121
|
-
multiply: (...M:
|
|
122
|
-
multiplyByNumber: (F: Fraction | number) => Monom;
|
|
118
|
+
multiply: (...M: InputAlgebra<Fraction>[]) => this;
|
|
123
119
|
/**
|
|
124
|
-
*
|
|
125
|
-
* @param M (Monom[])
|
|
120
|
+
* Create a one value monom
|
|
126
121
|
*/
|
|
127
|
-
|
|
122
|
+
one: () => this;
|
|
123
|
+
/**
|
|
124
|
+
* Get the opposite
|
|
125
|
+
* Returns a monom.
|
|
126
|
+
*/
|
|
127
|
+
opposite: () => this;
|
|
128
|
+
get plotFunction(): string;
|
|
128
129
|
/**
|
|
129
130
|
* Get the pow of a monom.
|
|
130
131
|
* @param nb (number) : Mathematical pow
|
|
131
132
|
*/
|
|
132
|
-
pow: (nb: number | Fraction) =>
|
|
133
|
+
pow: (nb: number | Fraction) => this;
|
|
134
|
+
primitive: (letter?: string) => Monom;
|
|
135
|
+
reduce: () => this;
|
|
136
|
+
removeVariable(letter: string): void;
|
|
133
137
|
/**
|
|
134
138
|
* Get the nth-root of the monom
|
|
135
139
|
* @param p
|
|
136
140
|
*/
|
|
137
|
-
root: (
|
|
138
|
-
/**
|
|
139
|
-
* Return the square root of a monom
|
|
140
|
-
*/
|
|
141
|
-
sqrt: () => Monom;
|
|
142
|
-
compare: (M: Monom, sign?: string) => boolean;
|
|
143
|
-
/**
|
|
144
|
-
* Determine if the monom is null
|
|
145
|
-
*/
|
|
146
|
-
isZero(): boolean;
|
|
147
|
-
/**
|
|
148
|
-
* Determine if the monom is one
|
|
149
|
-
*/
|
|
150
|
-
isOne(): boolean;
|
|
151
|
-
/**
|
|
152
|
-
* Determine if two monoms are equals
|
|
153
|
-
* @param M
|
|
154
|
-
*/
|
|
155
|
-
isEqual: (M: Monom) => boolean;
|
|
156
|
-
/**
|
|
157
|
-
* Determine if two monoms are similar
|
|
158
|
-
* @param M
|
|
159
|
-
*/
|
|
160
|
-
isSameAs: (M: Monom) => boolean;
|
|
161
|
-
isSquare: () => boolean;
|
|
162
|
-
isLiteralSquare: () => boolean;
|
|
163
|
-
hasFractionCoefficient: () => boolean;
|
|
164
|
-
/**
|
|
165
|
-
* Determine if a monom contains a setLetter in it's literal part
|
|
166
|
-
* @param letter
|
|
167
|
-
*/
|
|
168
|
-
hasLetter: (letter?: string) => boolean;
|
|
141
|
+
root: () => this;
|
|
169
142
|
/**
|
|
170
143
|
* Set the power of a particular setLetter
|
|
171
144
|
* @param letter (string) Letter to change
|
|
172
145
|
* @param pow (number) Power of the setLetter (must be positive integer.
|
|
173
146
|
*/
|
|
174
|
-
setLetter: (letter: string, pow: Fraction
|
|
147
|
+
setLetter: (letter: string, pow: InputValue<Fraction>) => this;
|
|
175
148
|
/**
|
|
176
|
-
*
|
|
177
|
-
* @param letter (string) Letter to get to degree (power)
|
|
149
|
+
* Return the square root of a monom
|
|
178
150
|
*/
|
|
179
|
-
|
|
151
|
+
sqrt: () => this;
|
|
180
152
|
/**
|
|
181
|
-
*
|
|
182
|
-
* @param
|
|
153
|
+
* Subtract multiple monoms
|
|
154
|
+
* @param M (Monom[]) The monoms to subtract
|
|
183
155
|
*/
|
|
184
|
-
|
|
185
|
-
evaluateAsNumeric: (values: number | {
|
|
186
|
-
[Key: string]: number;
|
|
187
|
-
}) => number;
|
|
156
|
+
subtract: (...M: InputAlgebra<Fraction>[]) => this;
|
|
188
157
|
/**
|
|
189
|
-
*
|
|
190
|
-
* @param letter
|
|
158
|
+
* Get the tex output of the monom
|
|
191
159
|
*/
|
|
192
|
-
|
|
193
|
-
primitive: (letter?: string) => Monom;
|
|
160
|
+
get tex(): string;
|
|
194
161
|
/**
|
|
195
|
-
*
|
|
196
|
-
* @param M
|
|
162
|
+
* Get the variables letters
|
|
197
163
|
*/
|
|
198
|
-
|
|
164
|
+
get variables(): string[];
|
|
199
165
|
/**
|
|
200
|
-
*
|
|
201
|
-
* @param M
|
|
166
|
+
* Create a zero value monom
|
|
202
167
|
*/
|
|
203
|
-
|
|
204
|
-
|
|
168
|
+
zero: () => this;
|
|
169
|
+
private _cloneLiteral;
|
|
170
|
+
private _evaluateAsNumeric;
|
|
205
171
|
private _getLiteralDividers;
|
|
206
172
|
private _shutingYardToReducedMonom;
|
|
173
|
+
private _shutingYard_AddToken;
|
|
207
174
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monom.d.ts","sourceRoot":"","sources":["../../src/algebra/monom.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { IAlgebra, IExpression, InputAlgebra, InputValue, IPiMathObject, literalType } from '../pimath.interface';
|
|
2
|
+
import { Fraction } from '../coefficients/fraction';
|
|
3
|
+
import { Factor } from './factor';
|
|
4
|
+
import { Polynom } from './polynom';
|
|
5
|
+
|
|
6
|
+
export declare class PolyFactor implements IPiMathObject<PolyFactor>, IExpression<PolyFactor>, IAlgebra<PolyFactor> {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(...values: InputAlgebra<Polynom>[]);
|
|
9
|
+
constructor(...values: Factor[]);
|
|
10
|
+
parse(...values: (Factor | InputAlgebra<Polynom>)[]): this;
|
|
11
|
+
clone(): PolyFactor;
|
|
12
|
+
add(...values: PolyFactor[]): this;
|
|
13
|
+
degree(letter?: string): Fraction;
|
|
14
|
+
derivative(): this;
|
|
15
|
+
develop(): Polynom;
|
|
16
|
+
divide(value: PolyFactor): this;
|
|
17
|
+
evaluate(values: InputValue<Fraction> | literalType<number | Fraction>, asNumeric?: boolean): number | Fraction;
|
|
18
|
+
hasVariable(letter: string): boolean;
|
|
19
|
+
inverse(): this;
|
|
20
|
+
isEqual(value: PolyFactor): boolean;
|
|
21
|
+
isOne(): boolean;
|
|
22
|
+
isZero(): boolean;
|
|
23
|
+
multiply(...values: PolyFactor[]): this;
|
|
24
|
+
one(): this;
|
|
25
|
+
opposite(): this;
|
|
26
|
+
pow(value: number | Fraction): this;
|
|
27
|
+
primitive(): PolyFactor;
|
|
28
|
+
reduce(): this;
|
|
29
|
+
root(value: number): this;
|
|
30
|
+
sort(): this;
|
|
31
|
+
sqrt(): this;
|
|
32
|
+
subtract(...values: PolyFactor[]): this;
|
|
33
|
+
zero(): this;
|
|
34
|
+
static gcd(...values: PolyFactor[]): PolyFactor;
|
|
35
|
+
get display(): string;
|
|
36
|
+
get factors(): Factor[];
|
|
37
|
+
set factors(value: Factor[]);
|
|
38
|
+
get tex(): string;
|
|
39
|
+
get variables(): string[];
|
|
40
|
+
private static _gcdWith;
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polyFactor.d.ts","sourceRoot":"","sources":["../../src/algebra/polyFactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,qBAAa,UAAW,YACpB,aAAa,CAAC,UAAU,CAAC,EACzB,WAAW,CAAC,UAAU,CAAC,EACvB,QAAQ,CAAC,UAAU,CAAC;;gBASR,GAAG,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE;gBAClC,GAAG,MAAM,EAAE,MAAM,EAAE;IAUxB,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI;IAS1D,KAAK,IAAI,UAAU;IAInB,GAAG,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;IAuBlC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ;IAIjC,UAAU,IAAI,IAAI;IAsBlB,OAAO,IAAI,OAAO;IAWlB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAK/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ;IAU/G,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIpC,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IASnC,KAAK,IAAI,OAAO;IAIhB,MAAM,IAAI,OAAO;IAIjB,QAAQ,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;IAQvC,GAAG,IAAI,IAAI;IAKX,QAAQ,IAAI,IAAI;IAUhB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAKnC,SAAS,IAAI,UAAU;IAIvB,MAAM,IAAI,IAAI;IAgBd,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB,IAAI,IAAI,IAAI;IAMZ,IAAI,IAAI,IAAI;IAKZ,QAAQ,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;IAIvC,IAAI,IAAI,IAAI;WAKL,GAAG,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU;IAiBtD,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,IAAI,MAAM,EAAE,CAE7B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAEjC;IAED,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,IAAW,SAAS,IAAI,MAAM,EAAE,CAG/B;IAMD,OAAO,CAAC,MAAM,CAAC,QAAQ;CAoB1B"}
|