math
Simplify, solve, differentiate, integrate, and transform mathematical expressions with one unified tool supporting over 25 symbolic operations.
Instructions
Run mathematical operations (unified Mathematica-style tool)
═══════════════════════════════════════════════════════════════════════
SymKit's core tool — supports ~25 mathematical operations.
One tool handles derivation, calculation, solving, and transformation.
═══════════════════════════════════════════════════════════════════════
**Supported operations (operation):**
| Category | Operation | Description |
|------|------|------|
| Parse | `parse` | Parse expression and extract symbols |
| Simplify | `simplify` | General simplification |
| | `expand` | Expand polynomial |
| | `factor` | Factorization |
| | `collect` | Collect like terms (requires variable) |
| | `cancel` | Cancel rational function |
| | `apart` | Partial fraction expansion (requires variable) |
| | `together` | Combine over common denominator |
| | `trigsimp` | Trigonometric simplification |
| | `powsimp` | Power simplification |
| | `radsimp` | Radical simplification |
| | `combsimp` | Combinatorial simplification |
| Solve | `solve` | Solve for variable (requires variable) |
| Substitute | `substitute` | Substitute variables (requires substitution dict) |
| Calculus | `diff` | Differentiate (requires variable; order optional) |
| | `integrate` | Integrate (variable, lower/upper optional) |
| | `limit` | Limit (variable, point, direction) |
| | `series` | Series expansion (variable, point, order) |
| ODE | `dsolve` | Solve ODE (variable=function name, with_respect_to=independent variable) |
| Vector | `gradient` | Gradient (variable="x,y,z" comma-separated coordinates) |
| | `divergence` | Divergence |
| | `curl` | Curl |
| | `laplacian` | Laplacian |
| Matrix | `det` | Determinant |
| | `inv` | Inverse matrix |
| | `eigenvals` | Eigenvalues |
| | `eigenvects` | Eigenvectors |
| Transform | `laplace` | Laplace transform (variable=time, with_respect_to=s) |
| | `ilaplace` | Inverse Laplace transform (variable=s, with_respect_to=t) |
| | `fourier` | Fourier transform |
| | `ifourier` | Inverse Fourier transform |
Args:
operation: Operation name (see table above)
expression: Mathematical expression (SymPy or LaTeX format)
variable: Differentiation/integration/solving variable (for vector operations can be comma-separated like "x,y,z")
with_respect_to: Second variable (independent variable for ODE, target variable for transforms)
substitution: Substitution mapping {"var": "replacement", ...}
point: Limit point / series expansion point (default "0")
direction: Limit direction "+-", "+", "-"
order: Differentiation order / number of series terms (default 1)
lower: Definite integral lower bound
upper: Definite integral upper bound
assumptions: Symbolic assumptions ["x is positive", "t is real"]
method: Simplification method "auto", "trig", "radical", "expand_then_simplify"
session: True=record to derivation session, False=stateless computation
description: Description of this step (used when recording to session)
notes: Human insight (used when recording to session)
Returns:
Result dict containing expression, latex, operation
Examples:
# Stateless quick calculation
math("diff", "x**3", variable="x")
→ {"expression": "3*x**2", "latex": "3 x^{2}"}
# Substitute
math("substitute", "m*a", substitution={"m": "2", "a": "9.8"})
→ {"expression": "19.6", ...}
# Laplace transform
math("laplace", "exp(-k*t)", variable="t", with_respect_to="s")
→ {"expression": "1/(k + s)", ...}
# Vector calculus
math("gradient", "x**2 + y**2 + z**2", variable="x,y,z")
→ gradient in vector form
# Solve ODE
math("dsolve", "diff(y,t) - k*y", variable="y", with_respect_to="t")
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lower | No | ||
| notes | No | ||
| order | No | ||
| point | No | ||
| upper | No | ||
| method | No | auto | |
| session | No | ||
| variable | No | ||
| direction | No | +- | |
| operation | Yes | ||
| expression | Yes | ||
| assumptions | No | ||
| description | No | ||
| substitution | No | ||
| with_respect_to | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||