Verified calculation capability
Product of inertia and principal moments of a composite plane area. Ix and Iy reuse area moment. The 2-D inertia tensor uses math.linear_algebra eigen. θ is the I1 axis.
Mechanical · Statics Capability ID mechanical.statics.principal_moment version 1.0.0 UNPUBLISHED
Product of inertia
Ixy = Σ(Īxy + A (x − x̄)(y − ȳ))det([Ix, −Ixy; −Ixy, Iy] − λ I) = 0Canonical symbols for this capability. Agent schemas remain the contract.
| Symbol | Quantity | Unit | Role |
|---|---|---|---|
parts | Rows Ix,Iy,Ixy,A,x,y separated by semicolons | — | input |
area | — | — | output |
x | — | bar | output |
y | — | bar | output |
Ix | — | — | output |
Iy | — | — | output |
Ixy | — | — | output |
I1 | — | — | output |
I2 | — | — | output |
theta_deg | — | — | output |
n | — | — | output |
model | — | — | output |
solver | — | — | output |
Declared scope for this capability. Do not use it outside this domain.
Assumptions
One numerical check. The calculator page holds worked steps and FAQ.
0,0,0,1,0,0; 0,0,0,1,2,2 → I1 = 4, θ = −45°
Review-policy: engine tested — automated tests, sources, version lock, and evidence published. Supplemental to CVP; not Domain Expert Review. See CVP and Review policy.
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/principal-moment' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"parts":"4,1,0,2,0,0"},"calculation_version":"1.0.0"}'{
"inputs": {
"parts": "4,1,0,2,0,0"
},
"calculation_version": "1.0.0"
}POST /api/v1/calc/principal-moment. 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
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":"mechanical.statics.principal_moment"},"_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":"mechanical.statics.principal_moment","inputs":{"parts":"4,1,0,2,0,0"},"calculation_version":"1.0.0"},"_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.0.0) when the result must stay reproducible.
Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.