calculus-ai999x — offline, verified calculus solver with step-by-step answers

Desktop app & command line · Compute in your browser · Install (Python) · Guides · Evaluation · AI999X on Hugging Face · Website · Support: Buy Me a Coffee

License: Apache-2.0 · Author: Ibnul Jaif Farabi (creator and engineer) · Organization: AI999X · Version 1.0.3

Field: Mathematics & Statistics · Tasks: Question Answering, Token Classification, Text Classification, Sentence Similarity, Feature Extraction

calculus-ai999x is an offline, deterministic Python solver that answers calculus questions with verified results from 71 certified capabilities, gives 374 documented answers identically on Windows and Linux, and refuses rather than guesses when an answer cannot be verified.

calculus-ai999x is a compact, deterministic calculus engine for Python. It reads a question in plain English (or a typed call), picks a certified calculus capability, computes the answer exactly, checks it, and returns the result with its steps, units, LaTeX and assumptions — or an honest refusal that says what is missing. It runs fully offline on any CPU, needs no GPU, no API key and no internet, and is built to give zero wrong answers: when it is not sure, it refuses instead of guessing.

Buy me a coffee License Python Offline Rust

Run it your way. calculus-ai999x comes as the AI999X desktop app and as the command-line program calculus for Windows and Linux, runs in your browser as WebAssembly, and installs as a Python package. The desktop app, the command line and the browser run the same compiled Rust program on your own device: offline, no Python needed.

Get it

Way to run it For Get it
AI999X Calculus desktop app 1.2.0 Windows, Linux — this model in its own app: search, ask in words, forms, live figures, explanations, offline Windows (x86-64) · Linux (x86-64)
AI999X desktop app 1.2.0 Windows, Linux — every AI999X model in one app: search, ask in words, forms, live figures, explanations, offline Windows (x86-64) · Linux (x86-64)
Command line (calculus) Windows, Linux — one program per model, offline, no Python Windows (x86-64) · Linux (x86-64)
In your browser any device — nothing to install Compute on the model page
Python Python 3.10+ pip install calculus-ai999x

Checksums: SHA256SUMS · every version: https://www.ai999x.com/downloads/desktop/latest/ · install guide: desktop & command line

Rust versions

Calculus also comes as native programs compiled from Rust, version 1.2.0 of the AI999X desktop app and command line: they run offline on your computer and need no Python. Each file is in this repository's rust/ folder, on the GitHub release v1.0.3 and on the website.

Program System File Size Download Use
Desktop app (Calculus) Windows x86-64 ai999x-calculus-1.2.0-windows-x86_64.zip 7.7 MB Hub · GitHub · website unzip, then double-click ai999x-calculus.exe (no installer)
Desktop app (Calculus) Linux x86-64 ai999x-calculus-1.2.0-linux-x86_64.tar.gz 8.6 MB Hub · GitHub · website extract, then run ./ai999x-calculus (X11 or Wayland desktop)
Command line (calculus) Windows x86-64 ai999x-calculus-cli-1.2.0-windows-x86_64.zip 3.2 MB Hub · GitHub · website (all models) unzip, then calculus.exe ask "<question>" or calculus.exe solve <capability> name=value
Command line (calculus) Linux x86-64 ai999x-calculus-cli-1.2.0-linux-x86_64.tar.gz 3.2 MB Hub · GitHub · website (all models) extract, then ./calculus ask "<question>" or ./calculus solve <capability> name=value

The command-line archive holds calculus with a README of its commands and examples, the licence and the notice. Checksums: rust/SHA256SUMS (sha256sum -c SHA256SUMS).

Quick start

Desktop app

Download AI999X Calculus for your system (above), unpack it and start it; type a question in words or pick a capability, fill in the form and press Compute. Figures and an explanation of the answer appear beside it. The AI999X desktop app has the same, with Calculus among all AI999X models.

Linux, from a terminal:

curl -LO https://www.ai999x.com/downloads/desktop/1.2.0/ai999x-calculus-1.2.0-linux-x86_64.tar.gz
curl -LO https://www.ai999x.com/downloads/desktop/1.2.0/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS
tar xzf ai999x-calculus-1.2.0-linux-x86_64.tar.gz
./ai999x-calculus-1.2.0-linux-x86_64/ai999x-calculus

Command line

Linux:

curl -LO https://www.ai999x.com/downloads/desktop/1.2.0/ai999x-cli-1.2.0-linux-x86_64.tar.gz
curl -LO https://www.ai999x.com/downloads/desktop/1.2.0/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS
mkdir -p ~/.local/share && tar xzf ai999x-cli-1.2.0-linux-x86_64.tar.gz -C ~/.local/share
echo 'export PATH="$HOME/.local/share/ai999x-cli-1.2.0-linux-x86_64:$PATH"' >> ~/.bashrc && source ~/.bashrc
calculus --version

Windows (PowerShell):

$F = "ai999x-cli-1.2.0-windows-x86_64.zip"
Invoke-WebRequest "https://www.ai999x.com/downloads/desktop/1.2.0/$F" -OutFile $F
Invoke-WebRequest "https://www.ai999x.com/downloads/desktop/1.2.0/SHA256SUMS" -OutFile SHA256SUMS
(Get-FileHash $F -Algorithm SHA256).Hash.ToLower() -eq ((Select-String -SimpleMatch $F SHA256SUMS).Line -split ' ')[0]
Expand-Archive $F -DestinationPath "$env:LOCALAPPDATA\AI999X" -Force
$D = "$env:LOCALAPPDATA\AI999X\ai999x-cli-1.2.0-windows-x86_64"; $env:Path += ";$D"
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$D", "User")
calculus --version

Every command below was run as shown; the text under it is what the program printed.

Ask in words — Write the question as you would say it: the program reads the quantities and their units, picks the capability and answers.

$ calculus ask "Find the limit of (x^2 - 4)/(x - 2) as x approaches 2."
Read as: Limit at a point
limit = 4
  by: Limit at a point  (exact symbolic limit (series expansion / Gruntz algorithm) from both sides; refused if the one-sided limits differ or are infinite)
  a = 2
  f = (x^2 - 4)/(x - 2)
  assumes: the left and right limits exist, are finite and agree

What a capability needs — The equation or method, every input and output with its SI unit. Read this before solve: it tells you the input names.

$ calculus info limit_at_point
Limit at a point
  exact symbolic limit (series expansion / Gruntz algorithm) from both sides; refused if the one-sided limits differ or are infinite
  in   f        the function f(x) (text) [1]
  in   a        the point x = a [1]
  out  limit    the limit of f(x) as x -> a [1]

Solve — Inputs as name=value, each with any unit of the right kind. The answer lists every output, the method used, each input converted to SI, and the conditions the answer assumes.

$ calculus solve limit_at_point a=2.0 "f=(x^2 - 4)/(x - 2)"
limit = 4
  by: Limit at a point  (exact symbolic limit (series expansion / Gruntz algorithm) from both sides; refused if the one-sided limits differ or are infinite)
  a = 2
  f = (x^2 - 4)/(x - 2)
  assumes: the left and right limits exist, are finite and agree

Draw the figures — The live figures for your own inputs, written as SVG files into the folder given with --out (here the current folder); open them in any browser. Without --out the SVG text comes back as JSON.

$ calculus figures limit_at_point a=2.0 "f=(x^2 - 4)/(x - 2)" --out .
[
  {
    "slug": "limit-at-point-live-1",
    "title": "The limit of f(x) as x -> a as the point x = a varies",
    "caption": "The limit of f(x) as x -> a as a runs from 0.5 to 3.5, every other input as you entered it (41 solutions). Marked: your a = 2 gives limit = 4. Your inputs: a = 2.0, f = (x^2 - 4)/(x - 2).",
    "file": "./limit-at-point-live-1.svg"
  }
]

Many questions at once — One JSON request per line in, one JSON answer per line out, in order: for scripts, notebooks and agents (the program starts once). In PowerShell: Get-Content cases.jsonl | calculus batch

cases.jsonl:

{"key": "limit_at_point", "inputs": {"a": 2.0, "f": "(x^2 - 4)/(x - 2)"}}
{"key": "extrema_on_interval", "inputs": {"a": 0.0, "b": 2.0, "f": "x^3 - 3x"}}
$ calculus batch < cases.jsonl
{"outcome":"SOLVED","message":"","value":4.0,"unit":"","solved_for":"limit","si":[["a",2.0]],"values":[["limit",4.0,""]],"target":"limit","phrase":"the limit of f(x) as x -> a","assumptions":["the left and right limits exist, are finite and agree"],"name":"Limit at a point","equation":"exact symbolic limit (series expansion / Gruntz algorithm) from both sides; refused if the one-sided limits differ or are infinite"}
{"outcome":"SOLVED","message":"","value":2.0,"unit":"","solved_for":"absolute_max","si":[["a",0.0],["b",2.0]],"values":[["absolute_max",2.0,""],["absolute_min",-2.0,""],["critical_points",[1.0],""]],"target":"absolute_max","phrase":"the largest value of f on [a, b]","assumptions":["a < b","f is a polynomial with rational coefficients"],"name":"Absolute extrema on a closed interval","equation":"exact real roots of f' in (a, b) (Sturm isolation), then f compared at the critical points and both ends"}

In your browser

Open Calculus on ai999x.com, choose a capability and press Compute: the model runs on your own device as WebAssembly; nothing is sent anywhere. Change any input (any unit of the right kind) and the answer, its explanation and the figures follow.

In your own page: calculus_ai999x.wasm and the loader ax-wasm.js (https://www.ai999x.com/compute/rust/ax-wasm.js).

Python

pip install calculus-ai999x

Worked examples in every form

The same worked example from the command line, from Python and in the browser. Each command-line output is what the program printed.

Absolute extrema on a closed interval

The absolute maximum and minimum values of a polynomial on [a, b] by the closed-interval method, with the critical points inside (a, b).

Command line:

$ calculus solve extrema_on_interval a=0 b=2 "f=x^3 - 3x"
absolute_max = 2
absolute_min = -2
critical_points = [1.0]
  by: Absolute extrema on a closed interval  (exact real roots of f' in (a, b) (Sturm isolation), then f compared at the critical points and both ends)
  a = 0
  b = 2
  f = x^3 - 3x
  assumes: a < b; f is a polynomial with rational coefficients

Python:

import calculus_ai999x as m

a = m.solve("extrema_on_interval", a="0", b="2", f="x^3 - 3x")
print(a.values or (a.value, a.unit))

Browser: open this capability on the model page and press Compute in your browser.

What this means: This calculation determines the highest and lowest values attained by the polynomial f(x) over the closed interval from a to b. The method identifies all critical points where the derivative vanishes within the open interval, then compares the function value at each such point against the values at the two endpoints. The largest of these comparisons yields the absolute maximum 2, while the smallest gives the absolute minimum -2. This approach relies on the Extreme Value Theorem, which guarantees that a continuous function on a closed bounded interval must attain both its global extrema.

Average rate of change

The average rate of change (f(b) - f(a))/(b - a) of f over [a, b]: the slope of the secant line.

Command line:

$ calculus solve average_rate_of_change a=1 b=3 "f=x^2"
average_rate = 4
fa = 1
fb = 9
  by: Average rate of change  (difference quotient of the two function values)
  a = 1
  b = 3
  f = x^2
  assumes: a != b; f defined at a and b

Python:

import calculus_ai999x as m

a = m.solve("average_rate_of_change", a="1", b="3", f="x^2")
print(a.values or (a.value, a.unit))

Browser: open this capability on the model page and press Compute in your browser.

What this means: This calculation determines the average rate of change for the function over the interval defined by the start point 1 and the end point 3. It is computed using the difference quotient, which takes the value of the function at the end point, 9, subtracts the value at the start point, 1, and divides this difference by the width of the interval. The resulting value, 4, represents the slope of the secant line connecting these two points on the graph, indicating the mean speed or change per unit interval.

Critical points and their classification

All critical points of a polynomial f(x) and which are local maxima or minima (first-derivative test).

Command line:

$ calculus solve critical_points_classify "f=x^3 - 3x"
critical_points = [-1.0,1.0]
local_maxima = [-1.0]
local_minima = [1.0]
  by: Critical points and their classification  (exact real roots of f' (Sturm isolation); the sign of f' on each side decides max / min / neither)
  f = x^3 - 3x
  assumes: f is a polynomial of degree >= 2 with rational coefficients

Python:

import calculus_ai999x as m

a = m.solve("critical_points_classify", f="x^3 - 3x")
print(a.values or (a.value, a.unit))

Browser: open this capability on the model page and press Compute in your browser.

Curvature of a graph

The curvature kappa = |f''| / (1 + f'^2)^(3/2) of y = f(x) at x = a, and the radius of curvature 1/kappa.

Command line:

$ calculus solve curvature a=0 "f=x^2"
curvature = 2
radius_of_curvature = 0.5
  by: Curvature of a graph  (curvature formula of a graph from the exact first and second derivatives)
  a = 0
  f = x^2
  assumes: f twice differentiable at a

Python:

import calculus_ai999x as m

a = m.solve("curvature", a="0", f="x^2")
print(a.values or (a.value, a.unit))

Browser: open this capability on the model page and press Compute in your browser.

What this means: This calculation determines how sharply the graph of the function bends at the specific point defined by the input x-value. Using the exact first and second derivatives of the function, it computes the curvature value and the corresponding radius of the osculating circle. The result indicates that at this location, the curve has a curvature of 2 and fits within a circle of radius 0.5, providing a precise geometric measure of the local bend.

Documentation

Highlights

  • Verified, not generated. Every answer is computed by a certified calculus capability and checked (substituted back, dimension-checked or compared with an independent computation) before it is returned.
  • Zero wrong answers by design. Seven explicit outcomes — SOLVED, NEEDS_INPUT, AMBIGUOUS, INVALID_INPUT, OUT_OF_SCOPE, UNRECOGNIZED_FORMAT, INTERNAL_ERROR — never a silent guess. Every one of its 374 documented answers is reproduced exactly on every tested platform.
  • Plain-English questions and a guaranteed typed interface. ask() reads documented question forms; solve(capability_id, **inputs) always solves a supported task with valid inputs.
  • Explains itself. Steps, formulas in LaTeX, units, assumptions and the model used, ready for notebooks, tutoring apps and homework checkers.
  • Native and in the browser. Every capability also computes natively in Rust: the desktop app and the calculus command line for Windows and Linux, and WebAssembly on the model page — no Python, no network.
  • Small and portable. Pure Python (sympy, mpmath); identical answers on Windows and Linux (Python 3.10, 3.11, 3.12, 3.13, 3.14).
  • Coverage: limits, derivatives, integrals, series, Taylor polynomials, multivariable and vector calculus, special functions and numerical differentiation and integration.

Model overview

Property Value
Package calculus-ai999x 1.0.3 (import calculus_ai999x)
Type Deterministic neuro-symbolic calculus engine (rule-based reading + certified symbolic capabilities)
Capabilities 71 certified procedures
Knowledge pack version 1.0.0
Golden answers 374 documented answers, identical on every tested platform
Platforms tested Windows (Python 3.13), Linux x86-64 (Python 3.10, 3.11, 3.12, 3.13, 3.14)
Runtime CPU only, offline; no GPU, no network, no API key
License Apache-2.0
Creator / engineer Ibnul Jaif Farabi
Organization AI999X

Python quick start

pip install calculus-ai999x
# or straight from this repository:
pip install https://huggingface.co/AI999X/calculus-ai999x/resolve/main/dist/calculus_ai999x-1.0.3-py3-none-any.whl
import calculus_ai999x as calculus

calculus.ask("Find the limit of (x^2 - 4)/(x - 2) as x approaches 2.").show()
# -> SOLVED — limit = 4  (limit_at_point)
calculus.ask("Find the absolute maximum and minimum of x^3 - 3x on [0, 2].").show()
# -> SOLVED — absolute_max = 2, absolute_min = -2, critical_points = [1.0]  (extrema_on_interval)
calculus.ask("Find the Taylor polynomial of degree 3 of exp(x) about x = 0 and evaluate it at x = 0.5.").show()
# -> SOLVED — coefficients = [1.0, 1.0, 0.5, 0.16666666666666666], value = 1.64583, function_value = 1.64872, error = 0.00288794  (taylor_polynomial)
calculus.ask("Find the line integral of F = (-y, x) along x = cos(t), y = sin(t) from t = 0 to t = 2pi.").show()
# -> SOLVED — line_integral = 6.28319  (line_integral_vector)
calculus.solve("definite_integral", f="x^2*exp(-x)", a=0, b=2).show()
# -> SOLVED — integral = 0.646647  (definite_integral)
calculus.ask("Who created you?").message
# -> calculus-ai999x was created and engineered by Ibnul Jaif Farabi at AI999X.

The Python package also installs a Python command, calculus-ai999x "<question>"; for the native program use calculus (above). The outputs above were produced by running this exact code on calculus-ai999x 1.0.3.

Find the right capability, and draw it

calculus.search() finds which certified capability a question is about — across every AI999X model, so a question for another model points you to it. It runs ai999x-encoder, AI999X's own capability encoder (4.7M parameters, a 4.9 MB ONNX model, offline; the root model.safetensors of this repository): pip install "calculus-ai999x[search]". ask(question, suggest=True) adds the same pointers to a question it does not answer; an answer itself never changes.

import calculus_ai999x as calculus

calculus.search("Solve x^2 - 5x + 6 = 0", k=2)
# -> Roots of a quadratic equation (math-foundations-ai999x, 0.63); Roots of a cubic equation (math-foundations-ai999x, 0.59)

How every answer is verified

  1. Reading — the question is turned into typed quantities (value, unit, kind, role) and one asked quantity; every stated number must be used or the question is refused.
  2. Planning — only certified capabilities may answer; a capability applies only under the conditions the wording states (for example a pendulum, a liquid at rest, boiling).
  3. Computing — exact symbolic or high-precision numeric evaluation.
  4. Checking — dimensions, substitution back into the defining equation, and agreement between independent readings; any disagreement becomes a refusal, never a number.

Capabilities are certified before they ship: each must reproduce hand-worked reference cases, reject a deliberately wrong variant (a control), and leave every benchmark answer unchanged.

Python worked examples, with their steps

Each question was put to calculus-ai999x; the answer is the one it returned, with the steps it took.

Limit at a point · Limits

Find the limit of (x^2 - 4)/(x - 2) as x approaches 2.

→ limit = 4

Steps
  • Limit at a point: a = 2, f = (x^2 - 4)/(x - 2) → limit = 4

Absolute extrema on a closed interval · Derivatives

Find the absolute maximum and minimum of x^3 - 3x on [0, 2].

→ absolute_max = 2, absolute_min = -2, critical_points = [1]

Steps
  • Absolute extrema on a closed interval: a = 0, b = 2, f = x^3 - 3x → absolute_max = 2, absolute_min = -2, critical_points = [1]

Taylor polynomial · Series

Find the Taylor polynomial of degree 3 of exp(x) about x = 0 and evaluate it at x = 0.5.

→ coefficients = [1, 1, 0.5, 0.1666666667], value = 1.645833333, function_value = 1.648721271, error = 0.002887937367

Steps
  • Taylor polynomial: a = 0, f = exp(x), n = 3, x1 = 0.5 → coefficients = [1, 1, 0.5, 0.1666666667], value = 1.645833333, function_value = 1.648721271, error = 0.002887937367

Line integral of a vector field · Vector calculus

Find the line integral of F = (-y, x) along x = cos(t), y = sin(t) from t = 0 to t = 2pi.

→ line_integral = 6.283185307

Steps
  • Line integral of a vector field: P = -y, Q = x, t0 = 0, t1 = 6.283185307, xt = cos(t), yt = sin(t) → line_integral = 6.283185307

Definite integral · Integrals

m.solve("definite_integral", f="x^2*exp(-x)", a=0, b=2)

→ integral = 0.6466471676

Steps
  • Definite integral: f = x^2*exp(-x), a = 0, b = 2 → integral = 0.6466471676

Fourier coefficients · Fourier series

Find the Fourier coefficients of order 2 of f(x) = x on [-pi, pi].

→ a0 = 0, a_k = 0, b_k = -1

Steps
  • Fourier coefficients: L = 3.141592654, f = x, k = 2 → a0 = 0, a_k = 0, b_k = -1

Figures

Every point was computed by calculus-ai999x.

Taylor polynomials closing in on sin x

Taylor polynomials closing in on sin x — computed by calculus-ai999x

Taylor polynomials of sin x about 0 of degree 1, 3, 5 and 7 against sin x itself, each evaluated by the package at 121 points; marked: x = 2.5, degree-7 value = 0.588534 (sin 2.5 = 0.598472, error 0.00993823).

Left Riemann sum under y = x²

Left Riemann sum under y = x² — computed by calculus-ai999x

The area under y = x² on [0, 2] and the left Riemann sum with 8 rectangles (heights f(xᵢ) and the curve evaluated by the package): left sum 2.1875, right sum 3.1875, exact integral 2.66667.

Newton's method converging to √2

Newton's method converging to √2 — computed by calculus-ai999x

Newton's method on x² − 2 from x₀ = 3: each tangent (through the curve point computed by the package) meets the axis at the next iterate — 1.83333, 1.46212, 1.415, 1.41421; marked: x₄ = 1.41421, f(x₄) = 6.1568e-07.

Partial sums of a geometric series converging

Partial sums of a geometric series converging — computed by calculus-ai999x

Partial sums of the geometric series 1 + ½ + ¼ + …, each computed by the package: S₁ = 1, S₄ = 1.875, S₁₂ = 1.99951; the gap to the sum of the series, 2, halves with every term.

A solid of revolution and its disks

A solid of revolution and its disks — computed by calculus-ai999x

The solid made by turning y = √x (0 ≤ x ≤ 4) about the x-axis, with circular cross-sections drawn at x = 1, 2, 3, 4 (profile and radii computed by the package); the package's volume by disks, the integral of π(√x)² from 0 to 4, is 25.1327.

Capabilities

71 certified procedures. A few of them:

  • Procedures: Absolute extrema on a closed interval; Arc length of a graph; Arc length of a parametric curve; Area between two curves; Area enclosed by two curves; Area in polar coordinates; Average rate of change; Average value of a function; Bessel function of the first kind; Beta function; Centroid of a region under a curve; Chebyshev polynomial; Critical points and their classification; Curl; Curvature of a graph; Definite integral; Derivative at a point; Derivative of an integral (fundamental theorem); Directional derivative; Divergence; Double integral over a rectangle; Double integral over a region; Error function; Finite-difference derivative …

calculus_ai999x.templates() lists every question form ask() reads; the capability guide (PDF, every example executed) is included in this repository.

All 71 formulas

Show every formula, by topic

Fourier series

Fourier coefficients

ak=1L∫−LLf(x)cos⁡kπxLdx,bk=1L∫−LLf(x)sin⁡kπxLdx a_k = \frac{1}{L}\int_{-L}^{L} f(x)\cos\frac{k\pi x}{L}dx,\quad b_k = \frac{1}{L}\int_{-L}^{L} f(x)\sin\frac{k\pi x}{L}dx

Derivatives

Derivative at a point

f′(a)=lim⁡h→0f(a+h)−f(a)h f'(a) = \lim_{h\to 0}\frac{f(a+h)-f(a)}{h}

Higher derivative at a point

f(n)(a)=dnfdxn∣x=a f^{(n)}(a) = \frac{d^n f}{dx^n}\Big\vert _{x=a}

Implicit differentiation

dydx=−FxFy \frac{dy}{dx} = -\frac{F_x}{F_y}

Mean value theorem

f′(c)=f(b)−f(a)b−a f'(c) = \frac{f(b) - f(a)}{b - a}

Second derivative at a point

f′′(a)=d2fdx2∣x=a f''(a) = \frac{d^2 f}{dx^2}\Big\vert _{x=a}

Derivatives / concavity

Inflection points

f′′(c)=0 and f′′ changes sign at c f''(c) = 0 \text{ and } f'' \text{ changes sign at } c

Derivatives / curvature

Curvature of a graph

κ=∣f′′(a)∣(1+f′(a)2)3/2 \kappa = \frac{\vert f''(a)\vert }{\left(1 + f'(a)^2\right)^{3/2}}

Derivatives / linearization

Linear approximation

L(x)=f(a)+f′(a) (x−a) L(x) = f(a) + f'(a)\,(x-a)

Derivatives / motion

Velocity and acceleration from position

v=dsdt,a=d2sdt2 v = \frac{ds}{dt},\quad a = \frac{d^2 s}{dt^2}

Derivatives / optimization

Absolute extrema on a closed interval

max⁡[a,b]f=max⁡{f(a),f(b),f(c):f′(c)=0} \max_{[a,b]} f = \max\{f(a), f(b), f(c) : f'(c) = 0\}

Critical points and their classification

f′(c)=0, f′ changes +→−⇒local max f'(c) = 0,\ f' \text{ changes } + \to - \Rightarrow \text{local max}

Derivatives / rates of change

Average rate of change

ΔfΔx=f(b)−f(a)b−a \frac{\Delta f}{\Delta x} = \frac{f(b)-f(a)}{b-a}

Derivatives / tangent and normal lines

Normal line

y=f(a)−1f′(a) (x−a) y = f(a) - \frac{1}{f'(a)}\,(x - a)

Tangent line

y=f(a)+f′(a) (x−a) y = f(a) + f'(a)\,(x - a)

Integrals

Definite integral

∫abf(x) dx \int_a^b f(x)\,dx

Derivative of an integral (fundamental theorem)

ddx∫ag(x)f(t) dt=f(g(x)) g′(x) \frac{d}{dx}\int_a^{g(x)} f(t)\,dt = f(g(x))\,g'(x)

Integrals / Riemann sums

Left Riemann sum

Ln=h∑k=0n−1f(a+kh),h=b−an L_n = h\sum_{k=0}^{n-1} f(a + k h),\quad h = \frac{b-a}{n}

Right Riemann sum

Rn=h∑k=1nf(a+kh),h=b−an R_n = h\sum_{k=1}^{n} f(a + k h),\quad h = \frac{b-a}{n}

Integrals / applications

Average value of a function

favg=1b−a∫abf(x) dx f_{\text{avg}} = \frac{1}{b-a}\int_a^b f(x)\,dx

Integrals / arc length

Arc length of a graph

L=∫ab1+f′(x)2 dx L = \int_a^b \sqrt{1 + f'(x)^2}\,dx

Integrals / area

Area between two curves

A=∫ab∣f(x)−g(x)∣ dx A = \int_a^b \left\vert f(x) - g(x)\right\vert \,dx

Area enclosed by two curves

A=∫x1xn∣f(x)−g(x)∣ dx A = \int_{x_1}^{x_n} \left\vert f(x) - g(x)\right\vert \,dx

Integrals / centroids

Centroid of a region under a curve

xˉ=1A∫abxf(x) dx,yˉ=12A∫abf(x)2 dx \bar x = \frac{1}{A}\int_a^b x f(x)\,dx,\quad \bar y = \frac{1}{2A}\int_a^b f(x)^2\,dx

Integrals / improper integrals

Improper integral to infinity

∫a∞f(x) dx=lim⁡R→∞∫aRf(x) dx \int_a^\infty f(x)\,dx = \lim_{R\to\infty}\int_a^R f(x)\,dx

Integrals / surface area

Surface area of revolution

S=2π∫ab∣f(x)∣1+f′(x)2 dx S = 2\pi\int_a^b \vert f(x)\vert \sqrt{1 + f'(x)^2}\,dx

Integrals / volumes of revolution

Volume of revolution (disk method)

V=π∫abf(x)2 dx V = \pi\int_a^b f(x)^2\,dx

Volume of revolution (shell method)

V=2π∫abx f(x) dx V = 2\pi\int_a^b x\,f(x)\,dx

Volume of revolution (washer method)

V=π∫ab(f(x)2−g(x)2)dx V = \pi\int_a^b \left(f(x)^2 - g(x)^2\right)dx

Limits

Limit at a point

lim⁡x→af(x) \lim_{x\to a} f(x)

Limit at infinity

lim⁡x→∞f(x) \lim_{x\to\infty} f(x)

Multiple integrals

Double integral over a rectangle

∫ab ⁣∫cdf(x,y) dy dx \int_a^b\!\int_c^d f(x,y)\,dy\,dx

Double integral over a region

∫ab ⁣∫g1(x)g2(x)f(x,y) dy dx \int_a^b\!\int_{g_1(x)}^{g_2(x)} f(x,y)\,dy\,dx

Surface area of a graph

A=∬R1+fx2+fy2 dA A = \iint_R \sqrt{1 + f_x^2 + f_y^2}\,dA

Triple integral over a box

∭Bf(x,y,z) dV \iiint_B f(x,y,z)\,dV

Multivariable calculus

Directional derivative

Duf=∇f⋅u∣u∣ D_{\mathbf u} f = \nabla f\cdot\frac{\mathbf u}{\vert \mathbf u\vert }

Gradient

∇f=(fx,fy,fz) \nabla f = \left(f_x, f_y, f_z\right)

Partial derivative

∂f∂x(p) \frac{\partial f}{\partial x}(p)

Tangent plane

z=f(x0,y0)+fx(x−x0)+fy(y−y0) z = f(x_0,y_0) + f_x(x - x_0) + f_y(y - y_0)

Multivariable calculus / change of variables

Jacobian determinant

∂(x,y)∂(u,v)=xuyv−xvyu \frac{\partial(x,y)}{\partial(u,v)} = x_u y_v - x_v y_u

Multivariable calculus / optimization

Second derivative test (two variables)

D=fxxfyy−fxy2 D = f_{xx}f_{yy} - f_{xy}^2

Numerical differentiation

Finite-difference derivative

f′(a)≈f(a+h)−f(a−h)2h f'(a) \approx \frac{f(a+h) - f(a-h)}{2h}

Numerical integration

Gauss-Legendre quadrature

∫abf dx≈b−a2∑i=1nwi f ⁣(a+b2+b−a2xi) \int_a^b f\,dx \approx \frac{b-a}{2}\sum_{i=1}^n w_i\, f\!\left(\frac{a+b}{2} + \frac{b-a}{2}x_i\right)

Midpoint rule

Mn=h∑k=0n−1f(a+(k+12)h) M_n = h\sum_{k=0}^{n-1} f\left(a + (k + \tfrac12) h\right)

Simpson's rule

Sn=h3[f(x0)+4∑odd kf(xk)+2∑even kf(xk)+f(xn)] S_n = \frac{h}{3}\left[f(x_0) + 4\sum_{\text{odd } k} f(x_k) + 2\sum_{\text{even } k} f(x_k) + f(x_n)\right]

Trapezoidal rule

Tn=h2[f(x0)+2∑k=1n−1f(xk)+f(xn)] T_n = \frac{h}{2}\left[f(x_0) + 2\sum_{k=1}^{n-1} f(x_k) + f(x_n)\right]

Numerical methods / root finding

Newton's method

xk+1=xk−f(xk)f′(xk) x_{k+1} = x_k - \frac{f(x_k)}{f'(x_k)}

Parametric curves

Arc length of a parametric curve

L=∫t0t1x′(t)2+y′(t)2 dt L = \int_{t_0}^{t_1}\sqrt{x'(t)^2 + y'(t)^2}\,dt

Slope and concavity of a parametric curve

dydx=y′(t)x′(t),d2ydx2=ddtdydxx′(t) \frac{dy}{dx} = \frac{y'(t)}{x'(t)},\quad \frac{d^2y}{dx^2} = \frac{\frac{d}{dt}\frac{dy}{dx}}{x'(t)}

Polar curves

Area in polar coordinates

A=12∫αβr(θ)2 dθ A = \frac{1}{2}\int_{\alpha}^{\beta} r(\theta)^2\,d\theta

Series

Partial sum of a geometric series

Sn=a 1−rn1−r S_n = a\,\frac{1 - r^n}{1 - r}

Ratio test

L=lim⁡n→∞∣an+1an∣ L = \lim_{n\to\infty}\left\vert \frac{a_{n+1}}{a_n}\right\vert

Sum of an arithmetic series

Sn=n2(2a1+(n−1)d) S_n = \frac{n}{2}\left(2a_1 + (n-1)d\right)

Sum of an infinite geometric series

∑n=0∞arn=a1−r \sum_{n=0}^{\infty} a r^n = \frac{a}{1-r}

Sum of an infinite series

∑n=k∞an \sum_{n=k}^{\infty} a_n

Series / Taylor

Taylor polynomial

Pn(x)=∑k=0nf(k)(a)k!(x−a)k P_n(x) = \sum_{k=0}^{n}\frac{f^{(k)}(a)}{k!}(x-a)^k

Special functions

Bessel function of the first kind

Jn(x)=∑m=0∞(−1)mm! (m+n)!(x2)2m+n J_n(x) = \sum_{m=0}^{\infty}\frac{(-1)^m}{m!\,(m+n)!}\left(\frac{x}{2}\right)^{2m+n}

Beta function

B(a,b)=∫01ta−1(1−t)b−1dt=Γ(a)Γ(b)Γ(a+b) B(a,b) = \int_0^1 t^{a-1}(1-t)^{b-1}dt = \frac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)}

Error function

erf⁡(x)=2π∫0xe−t2 dt \operatorname{erf}(x) = \frac{2}{\sqrt{\pi}}\int_0^x e^{-t^2}\,dt

Gamma function

Γ(x)=∫0∞tx−1e−t dt \Gamma(x) = \int_0^\infty t^{x-1}e^{-t}\,dt

Regularized incomplete gamma functions

P(a,x)=1Γ(a)∫0xta−1e−t dt P(a,x) = \frac{1}{\Gamma(a)}\int_0^x t^{a-1}e^{-t}\,dt

Special functions / orthogonal polynomials

Chebyshev polynomial

Tk+1(x)=2x Tk(x)−Tk−1(x) T_{k+1}(x) = 2x\,T_k(x) - T_{k-1}(x)

Legendre polynomial

(k+1)Pk+1(x)=(2k+1) x Pk(x)−k Pk−1(x) (k+1)P_{k+1}(x) = (2k+1)\,x\,P_k(x) - k\,P_{k-1}(x)

Special functions / series

Riemann zeta function

ζ(s)=∑n=1∞1ns \zeta(s) = \sum_{n=1}^{\infty} \frac{1}{n^s}

Vector calculus

Curl

∇×F=(Ry−Qz, Pz−Rx, Qx−Py) \nabla\times\mathbf F = (R_y - Q_z,\ P_z - R_x,\ Q_x - P_y)

Divergence

∇⋅F=Px+Qy+Rz \nabla\cdot\mathbf F = P_x + Q_y + R_z

Green's theorem on a rectangle

∮CP dx+Q dy=∬R(Qx−Py)dA \oint_C P\,dx + Q\,dy = \iint_R \left(Q_x - P_y\right)dA

Laplacian

∇2f=fxx+fyy+fzz \nabla^2 f = f_{xx} + f_{yy} + f_{zz}

Line integral of a vector field

∫CF⋅dr=∫t0t1(P x′(t)+Q y′(t))dt \int_C \mathbf F\cdot d\mathbf r = \int_{t_0}^{t_1} \left(P\,x'(t) + Q\,y'(t)\right)dt

Line integral with respect to arc length

∫Cf ds=∫t0t1f(x(t),y(t))x′(t)2+y′(t)2 dt \int_C f\,ds = \int_{t_0}^{t_1} f(x(t),y(t))\sqrt{x'(t)^2 + y'(t)^2}\,dt

Outward flux through a box (divergence theorem)

∯SF⋅n dS=∭B∇⋅F dV \oiint_S \mathbf F\cdot\mathbf n\,dS = \iiint_B \nabla\cdot\mathbf F\,dV

Out of scope

  • Open-ended explanation, essay writing or tutoring dialogue: it is a solver, not a chatbot.
  • Questions outside its certified calculus capabilities, and any question whose stated numbers it cannot all use — it refuses with the reason instead.
  • High-stakes engineering, medical or legal decisions without independent review.

Limitations

  • It answers what its certified capabilities cover (limits, derivatives, integrals, series, Taylor polynomials, multivariable and vector calculus, special functions and numerical differentiation and integration); anything else is refused with a reason.
  • ask() reads documented question forms and common phrasings; unusual wording may be refused — use solve() for guaranteed results.
  • Results are as correct as the certified relations and their stated conditions; a certified relation is a checked model, not a claim about every physical situation.

Citation

@software{calculus_ai999x_1_0_3,
  title  = {calculus-ai999x: an offline, verified calculus solver},
  author = {Farabi, Ibnul Jaif}, organization = {AI999X},
  year   = {2026}, version = {1.0.3},
  url    = {https://huggingface.co/AI999X/calculus-ai999x}
}

Contact

Questions, bug reports and requests: open a discussion on https://huggingface.co/AI999X/calculus-ai999x/discussions or visit https://ai999x.com.

Support the project

calculus-ai999x is free and open source. If it helps you, you can support further development on Buy Me a Coffee.

Created and engineered by Ibnul Jaif Farabi · AI999X · ai999x.com

Downloads last month
94
Safetensors
Model size
4.72M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collections including AI999X/calculus-ai999x

Evaluation results

  • identical on every platform on Golden answers (374 documented questions, Windows + Linux Python 3.10-3.14)
    self-reported
    1.000