CVP verified calculation capability
All roots of a real polynomial of degree 1–8, or Horner evaluation at a real x. Closed form for linear, quadratic, and cubic (Cardano); Durand–Kerner otherwise. Cubic discovery /cubic-equation. Evaluate discovery /polynomial-evaluate. Not the quadratic formula page, not Ferrari, not a single Newton root, not CAS.
Math · Polynomial Capability ID math.polynomial.roots version 1.2.1 CVP VERIFIED CURRENT Core
All n roots
c0 + c1 x + … + cn x^n = 0x = −c0 / c1x = (−b ± √(b² − 4ac)) / (2a)Cardano / trigonometric closed formDurand–Kerner simultaneous iterationCanonical symbols for this capability. Agent schemas remain the contract.
| Symbol | Quantity | Unit | Role |
|---|---|---|---|
coeffs | c0,c1,…,cn constant first | — | input |
a | Cubic leading coefficient of ax³+bx²+cx+d | — | input |
b | — | — | input |
c | — | — | input |
d | — | — | input |
x | Evaluation point for Horner | — | input / output |
method | — | — | input |
api_version | — | — | output |
api_contract_version | — | — | output |
spec_version | — | — | output |
page | Canonical calculator page URL | — | output |
links | — | — | output |
degree | — | — | output |
n | — | — | output |
solver | — | — | output |
roots | — | — | output |
residual_max | — | — | output |
cubic_case | — | — | output |
delta | — | — | output |
value | — | — | output |
n_mul | — | — | output |
Inspectable numeric contract for this Capability@Version. Not a rewrite of the engine.
| Field | Declaration |
|---|---|
numeric_domain | real |
exactness | float64 |
algorithm | degree 1–2 closed; cubic Cardano; else Durand–Kerner |
valid_domain | real coefficients; degree 1–8; leading coefficient ≠ 0 |
singularity_policy | INVALID_INPUT when leading coefficient is 0 or degree off-bound |
branch_policy | not applicable — real iterate |
tolerance | note: Durand–Kerner residual vs capability Evidence; no global default |
convergence | max_iter: engine published bound; criterion: residual / no-convergence coded |
conditioning | multiple-root clusters are ill-conditioned; not a CAS factorizer |
rounding | ieee754_round_ties_to_even |
overflow | ieee754_nonfinite_or_coded_error |
reproducibility | deterministic algorithm + Capability@Version |
independent_oracle | cvp:math.polynomial.roots 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.
coeffs=-6,11,-6,1 → 1, 2, 3
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 3/3.
curl -sS -X POST 'https://www.calculatorx.com/api/v1/calc/polynomial-roots' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"coeffs":[-2,2]},"calculation_version":"1.2.1"}'{
"inputs": {
"coeffs": [
-2,
2
]
},
"calculation_version": "1.2.1"
}POST /api/v1/calc/polynomial-roots. 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.polynomial.roots"},"_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.polynomial.roots","inputs":{"coeffs":[-2,2]},"calculation_version":"1.2.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.2.1) when the result must stay reproducible.
Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.