CVP verified calculation capability
Scalar first-order IVP y′=f(t,y) by Euler or RK4. rhs linear is y′=k y; poly is y′=p(t). Not rk45, not systems, not PDE, not CAS.
Math · Numerical Capability ID math.numerical.ode version 1.1.1 CVP VERIFIED CURRENT Core
Euler
y ← y + h f(t,y)y ← y + (h/6)(k1+2k2+2k3+k4)Canonical symbols for this capability. Agent schemas remain the contract.
| Symbol | Quantity | Unit | Role |
|---|---|---|---|
y0 | Finite binary64 decimal number or decimal text; nonzero text underflow is rejected | — | input / output |
t0 | Finite binary64 decimal number or decimal text; nonzero text underflow is rejected | — | input / output |
t1 | Finite binary64 decimal number or decimal text; nonzero text underflow is rejected | — | input / output |
k | Finite binary64 decimal number or decimal text; nonzero text underflow is rejected | — | input / output |
n | Must evaluate to an integer1–10000 | — | input / output |
method | — | — | input / output |
rhs | — | — | input / output |
coeffs | Constant-first degree0–8 coefficients | — | input / output |
f | — | — | input |
integrand | — | — | input |
y_0 | Finite binary64 decimal number or decimal text; nonzero text underflow is rejected | — | input |
initial | Finite binary64 decimal number or decimal text; nonzero text underflow is rejected | — | input |
t_0 | Finite binary64 decimal number or decimal text; nonzero text underflow is rejected | — | input |
a | Finite binary64 decimal number or decimal text; nonzero text underflow is rejected | — | input |
t_1 | Finite binary64 decimal number or decimal text; nonzero text underflow is rejected | — | input |
b | Finite binary64 decimal number or decimal text; nonzero text underflow is rejected | — | input |
coefficients | Constant-first degree0–8 coefficients | — | input |
h | — | — | output |
y | — | — | output |
abs_err | — | — | output |
diagnostics | — | — | output |
Inspectable numeric contract for this Capability@Version. Not a rewrite of the engine.
| Field | Declaration |
|---|---|
numeric_domain | real |
exactness | float64 |
algorithm | scalar first-order IVP Euler / RK4; binary-scaled linear amplification recurrence; anchored representable time grid; scaled exponential / exact dyadic polynomial reference and composite quadrature; representable time nodes, binary64 model inputs and h; 12-digit endpoints/errors without nonzero clamping |
valid_domain | finite y0, t0, t1, h; integer n in [1,10000]; yprime=k*y or degree <=8 polynomial in t; strict decimal inputs with matching aliases; explicit empty fields do not default; polynomial constant-first lists1–9 |
singularity_policy | INVALID_INPUT for degenerate t-span; NUMERICAL_RANGE_ERROR for zero/nonfinite h, nonfinite step/reference/error or nonzero analytic underflow |
branch_policy | not applicable — real iterate |
tolerance | note: fixed step; Euler global error O(h), RK4 global O(h^4) for smooth problems; no adaptive/user-tolerance acceptance, diagnostics.accuracy_status=not_assessed |
convergence | criterion: fixed-step march; not RK45 / not a system |
conditioning | stiff f is out of seed scope; structured diagnostics and warnings flag |R(kh)| >=1, negative amplification, nonzero-reference numerical zero and subnormal precision; stability is distinct from accuracy |
rounding | ieee754_round_ties_to_even |
overflow | ieee754_nonfinite_or_coded_error |
reproducibility | deterministic algorithm + Capability@Version |
independent_oracle | O2 separate implementation plus exact-input Python Decimal 100/160 and100/180-digit plus Fraction discrete-quadrature listed fixtures; not a full-domain error guarantee |
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.
rk4 linear k=1 y0=1 t0=0 t1=1 n=40 → exact=e
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 5/5.
curl -sS -X POST 'https://www.calculatorx.com/api/v1/calc/ordinary-differential-equation' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"method":"rk4","rhs":"linear","k":1,"y0":1,"t0":0,"t1":1,"n":40},"calculation_version":"1.1.1"}'{
"inputs": {
"method": "rk4",
"rhs": "linear",
"k": 1,
"y0": 1,
"t0": 0,
"t1": 1,
"n": 40
},
"calculation_version": "1.1.1"
}POST /api/v1/calc/ordinary-differential-equation. This is a POST calculate endpoint — do not GET it.
Full REST contract: REST API docs.
Declared calculation modes for this capability.
eulerrk4Human-readable sources plus CVP reference evidence classes.
Sources
Reference evidence classes: O1 model · O2 expected_values · O3 expected_values · 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.ode"},"_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.ode","inputs":{"method":"rk4","rhs":"linear","k":1,"y0":1,"t0":0,"t1":1,"n":40},"calculation_version":"1.1.1"},"_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.1) when the result must stay reproducible.
Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.