CVP verified calculation capability
Forward, backward, or central finite difference of a polynomial, sin, or exp, plus a numeric two-sided limit. Discovery /two-sided-limit. Not symbolic d/dx.
Math · Numerical Capability ID math.numerical.derivative version 1.1.4 CVP VERIFIED CURRENT Core
Forward
(f(x+h) − f(x)) / h(f(x) − f(x−h)) / h(f(x+h) − f(x−h)) / (2h)[f(x+h) + f(x−h)] / 2Canonical symbols for this capability. Agent schemas remain the contract.
| Symbol | Quantity | Unit | Role |
|---|---|---|---|
method | central/center/centred/centered; forward/fwd; backward/back/bwd; limit/lim/two_sided/twosided/two_sided_limit | — | input / output |
integrand | poly/polynomial, sin, exp/e^x | — | input / output |
f | Alias of integrand; supplied aliases must agree | — | input |
coeffs | — | — | input / output |
coefficients | — | — | input |
x | — | — | input / output |
h | — | — | input / output |
value | — | — | output |
abs_err | — | — | output |
left | — | — | output |
right | — | — | output |
gap | — | — | output |
quantity | — | — | output |
Inspectable numeric contract for this Capability@Version. Not a rewrite of the engine.
| Field | Declaration |
|---|---|
numeric_domain | real |
exactness | float64 |
algorithm | forward / backward / central finite difference; bounded-degree exact dyadic polynomial finite-step identities; sin addition identities and expm1/sinh stabilize elementary stencils; stable two-sided probe mean; 12 significant digits without nonzero clamping |
valid_domain | finite decimal x; 0<h≤1, default1e-6 only when absent; poly degree≤8 with2–9 coefficients, sin/exp; supplied aliases agree |
singularity_policy | h ≤ 0 → VALUE_MUST_BE_POSITIVE; h > 1 → VALUE_OUT_OF_RANGE; non-finite probes, result or signed error and exp underflow to zero → NUMERICAL_RANGE_ERROR |
branch_policy | not applicable — real iterate |
tolerance | note: step h is an input; truncation vs roundoff is not auto-balanced |
convergence | not applicable — one-shot stencil, not an adaptive tableau |
conditioning | Mathematical x±h retains supplied binary64 h even when rounded nodes collapse; polynomial intermediates are exact dyadic. Too-large h gives truncation error. Nonzero primary value/baseline underflow rejects; subnormal probes/gap/error may quantize to zero. abs_err is signed published value minus analytic binary64 baseline, not a bound. |
rounding | ieee754_round_ties_to_even |
overflow | ieee754_nonfinite_or_coded_error |
reproducibility | deterministic algorithm + Capability@Version |
independent_oracle | cvp:math.numerical.derivative O2 / Evidence published cases |
golden_vectors | Evidence golden + boundary + property (and published_reference_case when listed) |
Declared scope for this capability. Do not use it outside this domain.
Assumptions
One numerical check. The calculator page holds worked steps and FAQ.
central poly 0,0,1 at x=3 → 6
CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published methods. Computational verification is defined by CVP. Supplemental domain review (internal) and named expert review are defined by the Review policy and do not by themselves determine CVP conformance.
Human page, REST, and MCP share the same engine and calculation_version.
Build verified hashes workspace artifacts only. After deploy, attest:production GETs canonical URLs twice — the public/cached view an Agent actually hits, and origin — including every /capabilities/{id} HTML page. Public Capability HTML version must match catalog before production attestation passes. Live Trust rows above fetch /.well-known/calculatorx-production-attestation.json
and the output schema const. Build hashes: release integrity. That proves currently published page / engine / schema / evidence / MCP agree — not that a historical version is independently immutable. Reference Calculation Standard — Production surface contract 6/6.
curl -sS -X POST 'https://www.calculatorx.com/api/v1/calc/numerical-derivative' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"method":"central","integrand":"poly","coeffs":[0,0,1],"x":3},"calculation_version":"1.1.4"}'{
"inputs": {
"method": "central",
"integrand": "poly",
"coeffs": [
0,
0,
1
],
"x": 3
},
"calculation_version": "1.1.4"
}POST /api/v1/calc/numerical-derivative. This is a POST calculate endpoint — do not GET it.
Full REST contract: REST API docs.
Human-readable sources plus CVP reference evidence classes.
Sources
Reference evidence classes: O1 model · O2 expected_values · O2 numerical_behavior
Inspect, then execute. Same engine as REST and the human calculator.
curl -sS -X POST 'https://www.calculatorx.com/mcp' \
-H 'Content-Type: application/json' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/call' \
-H 'Mcp-Name: inspect_capability' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"inspect_capability","arguments":{"capability_id":"math.numerical.derivative"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"calculatorx-docs-example","version":"1.0.0"},"io.modelcontextprotocol/clientCapabilities":{}}}}'curl -sS -X POST 'https://www.calculatorx.com/mcp' \
-H 'Content-Type: application/json' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/call' \
-H 'Mcp-Name: execute_calculation' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"execute_calculation","arguments":{"capability_id":"math.numerical.derivative","inputs":{"method":"central","integrand":"poly","coeffs":[0,0,1],"x":3},"calculation_version":"1.1.4"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"calculatorx-docs-example","version":"1.0.0"},"io.modelcontextprotocol/clientCapabilities":{}}}}'Pin calculation_version (1.1.4) when the result must stay reproducible.
Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.