@johnhenry/math 0.0.2 → 0.1.0

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.
@@ -139,9 +139,31 @@ export interface OdeClosedFormResult {
139
139
  y?: Expr;
140
140
  implicitRelation?: Expr;
141
141
  }
142
+ /** Options for {@link Symbolic.parse} and {@link Symbolic.fromLatex}. */
143
+ export interface ParseOptions {
144
+ /**
145
+ * Read juxtaposition as multiplication, the way people type maths: `2x`, `x y`, `xy`, `2(x+1)`,
146
+ * `(x+1)(x-1)`, `x(x+1)`, `3sin(x)`. Default `false`, which keeps the strict grammar (`2x` is an
147
+ * error and `xy` is one variable named `xy`).
148
+ *
149
+ * With this on, a run of letters that is not a function call (`name(`) or `pi` is split into
150
+ * single-letter variables, so `xy` is `x*y` and multi-letter variable names such as `theta` are
151
+ * unavailable (use a subscript: `x_1` or `x_a`, which stays one variable). A letter followed by
152
+ * digits is a product too (`x3` is `x*3`). A function name must be followed by `(`. Space
153
+ * between two numbers multiplies (`2 3` is `6`). Juxtaposition has the same precedence as `*`
154
+ * and `/` and binds left to right, so `1/2x` is `(1/2)*x`; `^` binds tighter (`2x^2` is `2*(x^2)`).
155
+ * For `fromLatex` it also lets a function with no brackets take a whole product as its argument
156
+ * (`\sin 2x` is `sin(2*x)`, `\sin x\cos x` is `sin(x)*cos(x)`), and `^` take one token (`x^23` is
157
+ * `x^2*3`, as TeX reads it; `x^{23}` is `x^23`).
158
+ */
159
+ implicitMultiplication?: boolean;
160
+ }
142
161
  export declare class Symbolic {
143
- /** Parse an expression string such as `"sin(x^2) + 3*x"` into an AST. */
144
- static parse(input: string): Expr;
162
+ /**
163
+ * Parse an expression string such as `"sin(x^2) + 3*x"` into an AST.
164
+ * Pass `{ implicitMultiplication: true }` to also read `2x`, `x y` and `2(x+1)`; see {@link ParseOptions}.
165
+ */
166
+ static parse(input: string, options?: ParseOptions): Expr;
145
167
  static differentiate(expr: Expr | string, variable?: string): Expr;
146
168
  /**
147
169
  * Like {@link differentiate}, but also returns a bottom-up trace of every
@@ -154,6 +176,16 @@ export declare class Symbolic {
154
176
  steps: DifferentiationStep[];
155
177
  result: Expr;
156
178
  };
179
+ /**
180
+ * Algebraic simplification: constant folding, like-term collection, and, as a last
181
+ * step, expanding the expression as a rational function and cancelling common
182
+ * factors -- `(x+1)^2 - x^2 - 2*x` gives `1` and `(x^2-1)/(x-1)` gives `x+1`.
183
+ * The expanded/cancelled form is used only when it is strictly smaller than the
184
+ * collected form, so a product such as `(x+1)*2` keeps its shape. Non-polynomial
185
+ * subexpressions (`sin(x)`, `x^y`) are treated as opaque symbols. Like any CAS
186
+ * cancellation, `(x^2-1)/(x-1)` is `x+1` as an expression, ignoring that the
187
+ * original is undefined at `x = 1`.
188
+ */
157
189
  static simplify(expr: Expr | string): Expr;
158
190
  /**
159
191
  * Simplifies `expr` with additional domain knowledge about specific
@@ -352,11 +384,15 @@ export declare class Symbolic {
352
384
  * commands (`\sin`, `\arcsin`, `\sinh`, `\operatorname{sech}`, ...), and the
353
385
  * two-argument `BinaryFuncName` commands (`\min`, `\max`, `\gcd`,
354
386
  * `\operatorname{atan2}`, `\operatorname{hypot}`, `\operatorname{lcm}`).
355
- * Spacing commands (`\,`, `\;`, `\!`, `\quad`) are ignored.
387
+ * Spacing commands (`\,`, `\;`, `\!`, `\quad`) are ignored. Single-token arguments as TeX
388
+ * reads them (`\frac12`, `\frac1x`, `\sqrt2`) and a power on a function command
389
+ * (`\sin^{2}(x)` is `sin(x)^2`) are accepted. An exponent of `-1` on a function command (`\sin^{-1}`) is
390
+ * refused as ambiguous (inverse function or reciprocal): write `\arcsin(x)` or `(\sin x)^{-1}`. For what people type into a math field
391
+ * (`2x`, `\sin 2x`, `(x+1)(x-1)`, `x^23`) pass `{ implicitMultiplication: true }`; see {@link ParseOptions}.
356
392
  *
357
393
  * @throws on LaTeX constructs with no `Expr` equivalent, e.g. `\int` or `\sum`.
358
394
  */
359
- static fromLatex(latex: string): Expr;
395
+ static fromLatex(latex: string, options?: ParseOptions): Expr;
360
396
  /**
361
397
  * Solve `expr = 0` for `variable`, returning every *real* root @johnhenry/math
362
398
  * can find as an exact `Expr` (rationals and `sqrt`-radicals where
@@ -1 +1 @@
1
- {"version":3,"file":"Symbolic.d.ts","sourceRoot":"","sources":["../src/Symbolic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Symbolic.d.ts","sourceRoot":"","sources":["../src/Symbolic.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,QAAQ,GAChB,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,IAAI,GACJ,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,OAAO,GACP,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,KAAK,GACL,OAAO,GACP,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,SAAS,GACT,KAAK,GACL,MAAM,CAAC;AAEX,mGAAmG;AACnG,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE/E,oGAAoG;AACpG,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5D,MAAM,MAAM,IAAI,GACZ;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,EAAE,CAAC;IAAC,SAAS,EAAE,IAAI,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AA6E5E;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAS3C,CAAC;AAqGF,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,CAAC;AA6C7F,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,SAA8E;CAIlG;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,SAA8E;CAIlG;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAE1C,OAAO,SAAiG;CAK3G;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAE1C,OAAO,SAAoG;CAK9G;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBACb,KAAK,EAAE,MAAM,EAAE;CAO5B;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,OAAO,SAAuF;CAI3G;AAED,qBAAa,2BAA4B,SAAQ,KAAK;gBAElD,OAAO,SAA2G;CAKrH;AAED;;;;;GAKG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;gBAEpD,OAAO,SAAsK;CAKhL;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAExC,OAAO,SAAsJ;CAKhK;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAExC,OAAO,SAAsK;CAKhL;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAEzC,OAAO,SAAgK;CAK1K;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBAE7C,OAAO,SAA8G;CAKxH;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,CAAC,CAAC,EAAE,IAAI,CAAC;IACT,gBAAgB,CAAC,EAAE,IAAI,CAAC;CACzB;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;;;;OAcG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,qBAAa,QAAQ;IACnB;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,IAAI;IAI7D,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,SAAM,GAAG,IAAI;IAK/D;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,SAAM,GAAG;QAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QAAC,MAAM,EAAE,IAAI,CAAA;KAAE;IAO9G;;;;;;;;;OASG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAI1C;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAI;IAM3F,gGAAgG;IAChG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,SAAM,GAAG,IAAI;IAK3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,MAAM,CAAC,iBAAiB,CACtB,IAAI,EAAE,IAAI,GAAG,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,QAAQ,SAAM,EACd,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC/B,MAAM;IAkBT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,MAAM,CAAC,kBAAkB,CACvB,QAAQ,EAAE,IAAI,GAAG,MAAM,EACvB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,IAAI,SAAM,EACV,IAAI,SAAM,GACT,mBAAmB;IAetB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,MAAM,CAAC,0BAA0B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA2DjH,iFAAiF;IACjF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,SAAM,EAAE,MAAM,SAAI,EAAE,KAAK,SAAI,GAAG,IAAI;IAgB/E,gIAAgI;IAChI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAM1F,gIAAgI;IAChI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAWxC;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE;IAKnD;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAOrE;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,IAAI,GAAG,MAAM,EACnB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAChC,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACzC,MAAM;IAMT;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CACZ,IAAI,EAAE,IAAI,GAAG,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACzC,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM;IAM1C;;;;;;;;;OASG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAM,GAAG,QAAQ;IAKvF;;;;;;;;;OASG;IACH,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAM,GAAG,CAAC;IAK7G,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM;IAI5C,yEAAyE;IACzE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM;IAI3C;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,IAAI;IAIjE;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,SAAM,GAAG,IAAI,EAAE;IASzD;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiC7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,MAAM,CAAC,kBAAkB,CACvB,SAAS,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,EAC5B,SAAS,EAAE,MAAM,EAAE,EACnB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAkFzB;;;;;;;;;OASG;IACH,MAAM,CAAC,cAAc,CACnB,QAAQ,EAAE,IAAI,GAAG,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAChC,SAAS,SAAO,GACf,OAAO;IAKV;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CACzB,SAAS,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,EAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,SAAS,SAAO,GACf,OAAO;IAOV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,MAAM,CAAC,SAAS,CACd,IAAI,EAAE,IAAI,GAAG,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,QAAQ,SAAM,EACd,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC/B,MAAM;IAcT;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,SAAM,GAAG,IAAI;IAQxD;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,SAAM,EAAE,KAAK,SAAI,EAAE,SAAS,GAAE,MAAM,GAAG,OAAO,GAAG,MAAe,GAAG,MAAM;CAIpH;AAID,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,KAAK,EAAE,IAAI,CAAC;IACZ,sEAAsE;IACtE,MAAM,EAAE,IAAI,CAAC;CACd"}