Home Developers Capabilities Linear system / small matrix

CVP verified calculation capability

Linear system / small matrix Calculation Capability

Solve Ax=b for order 2–4, plus det, inverse, rank, LU, Cholesky (SPD A=LLᵀ), QR and SVD (square or rectangular m×n with m,n∈[2,4]), least squares (same rectangular shape), RREF, condition number, nullspace, column space, rowspace, left-nullspace, eigen, multiply, transpose. Same engine as /workspace/matrix. Discovery pages share this capability. Not a CAS. Not Statistics regression.

Math Capability ID math.linear_algebra version 1.14.16 CVP VERIFIED CURRENT Core

Model

2×2 determinant

Modes: solve · system · axb · linear-system · det · determinant · inverse · inv · multiply · mul · product · transpose · t · rank · matrix-rank · eigen · eig · eigenvalue · eigenvalues · eigenvector · eigenvectors · lu · plu · factor-lu · chol · cholesky · factor-chol · factor-cholesky · llt · llT · qr · householder · factor-qr · svd · singular · singular value · singular values · lstsq · least squares · least-squares · leastsquare · ols · rref · reduced-row-echelon · reduced row echelon · row-reduced · gauss-jordan · condition · cond · kappa · condition number · condition-number · matrix-condition · nullspace · null-space · kernel · ker · null · matrix-nullspace · nullity · columnspace · column-space · colspace · image · im · range · matrix-column-space · col-space · rowspace · row-space · matrix-row-space · row space · leftnullspace · left-nullspace · left-null-space · left nullspace · cokernel · left-kernel · matrix-left-nullspace

Inputs / Outputs

Canonical symbols for this capability. Agent schemas remain the contract.

SymbolQuantityUnitRole
order——input / output
rows——input / output
cols——input / output
a11Finite binary64 decimal—input
a12Finite binary64 decimal—input
a13Finite binary64 decimal—input
a21Finite binary64 decimal—input
a22Finite binary64 decimal—input
a23Finite binary64 decimal—input
a31Finite binary64 decimal—input
a32Finite binary64 decimal—input
a33Finite binary64 decimal—input
b1Finite binary64 decimal—input
b2Finite binary64 decimal—input
b3Finite binary64 decimal—input
A——input / output
B——input / output
b——input
rhs——input / output
n——input
m——input
b11Finite binary64 decimal—input
b12Finite binary64 decimal—input
b13Finite binary64 decimal—input
a14Finite binary64 decimal—input
b14Finite binary64 decimal—input
b21Finite binary64 decimal—input
b22Finite binary64 decimal—input
b23Finite binary64 decimal—input
a24Finite binary64 decimal—input
b24Finite binary64 decimal—input
b31Finite binary64 decimal—input
b32Finite binary64 decimal—input
b33Finite binary64 decimal—input
a34Finite binary64 decimal—input
b34Finite binary64 decimal—input
b4Finite binary64 decimal—input
a41Finite binary64 decimal—input
b41Finite binary64 decimal—input
a42Finite binary64 decimal—input
b42Finite binary64 decimal—input
a43Finite binary64 decimal—input
b43Finite binary64 decimal—input
a44Finite binary64 decimal—input
b44Finite binary64 decimal—input
x——output
y——output
z——output
residual_2——output
backward_error——output
rref——output
pivot_columns——output
det——output
rank——output
method——output
algorithm——output
numeric_backend——output
condition_number——output
basis——output
dimension——output
singular_values——output
rank_numeric——output
S——output
VT——output
eigenvalues——output
L——input / output
Q——output
inv——output
reconstruction_residual——output
orthogonality_residual——output
residual_max——output
singular——output
eigenvectors——output
U——output
R——output
AT——output
product——output
P——output
vector——output
p——output
char_poly——output
singularity_threshold——output
u_orthogonality_residual——output
v_orthogonality_residual——output
basis_residual——output
projection_residual——output
norm_1——output
inverse_norm_1——output
solver——output
norm——output
w——output
infinite——output
eigenvectors_found——output
trivial——output
free_columns——output
effective—Ainput / output
symmetry_error——output
symmetry_tolerance——output
symmetry_policy——output
relative_reconstruction_residual——output
reconstruction_tolerance——output

Trusted Math contract

Inspectable numeric contract for this Capability@Version. Not a rewrite of the engine.

FieldDeclaration
numeric_domainreal
exactnessfloat64
algorithmsmall-square seed: LU+partial-pivot solve (not explicit inverse), Gauss–Jordan inverse/RREF, Cholesky LLᵀ (SPD), Householder QR (square or rectangular), one-sided Jacobi SVD (square or rectangular; does not form AᵀA), Faddeev–LeVerrier eigen (P2 vs Hessenberg+QR), QR/SVD lstsq (rectangular m×n), 1-norm κ; scale-aware singularity ε·max(m,n)·‖A‖_max
valid_domainreal square order 2–4 for solve/det/inverse/LU/Cholesky; Cholesky requires SPD; qr, svd, and lstsq also A ∈ R^{m×n} with m,n ∈ [2,4]
singularity_policySINGULAR_MATRIX on inverse of a singular A; κ₁ → infinite (null) when A is singular; Cholesky NOT_SYMMETRIC / NOT_POSITIVE_DEFINITE; pivot/rank tests are scale-aware (ε·max(m,n)·‖A‖_max), not a fixed 1e-15 floor
branch_policynot applicable — real matrices; eigen may report conjugate pairs
tolerancenote: scale-aware pivot / SVD rank vs ε·max(m,n)·‖A‖_max (or σ_max); LINEAR_ALGEBRA_SINGULARITY_THRESHOLD is the O(1) documented floor, not the runtime test
convergencenot applicable — dense ≤4×4 direct factorizations; Jacobi SVD is the bounded iterate
conditioningκ₁ = ‖A‖₁‖A⁻¹‖₁; ill_conditioned warning when κ₁ ≥ engine threshold; unique solve publishes residual_2 = ‖Ax−b‖₂ and η = ‖Ax−b‖₂ / (‖A‖₁‖x‖₂ + ‖b‖₂) (denominator 0 → η = residual_2). REST exposes algorithm, numeric_backend, condition_number, warnings. Engine also returns singularity_threshold.
roundingieee754_round_ties_to_even
overflowieee754_nonfinite_or_coded_error
reproducibilitydeterministic + Capability@Version
independent_oraclecvp:math.linear_algebra O2 (linear-algebra-reference) / Evidence published cases
golden_vectorsEvidence golden + boundary + property (and published_reference_case when listed)

Assumptions / Validity

Declared scope for this capability. Do not use it outside this domain.

Assumptions

Example

One numerical check. The calculator page holds worked steps and FAQ.

2x+y=5, x+y=3 → x=2, y=1

Open this example in the calculator

Trust

CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes. 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.

CVP
CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes· View Manifest · CVP overview · Specification
Verified scope
all published modes
Assurance
Core
Declared partition coverage
PASS · 19/19 declared partitions (solve, det, inverse, multiply, transpose, rank, eigen, lu, chol, qr, svd, lstsq, rref, condition, nullspace, columnspace, rowspace, leftnullspace, invalid-domain)
Calculation version
1.14.16
Verification
58/58 calculation tests · 29/29 legacy golden · 6/6 legacy boundary · 23/23 legacy property
Production surface contract
6/6
Versions
Calculation 1.14.16 · CVP protocol 1.0.0-proposed · Evidence 2026-10-30.cholesky-numeric-contract-v2
Verification revision
2026-10-30.cholesky-numeric-contract-v2 · 10/10 property · digest 2f8af10fde34
Reference
O1 model · O2 expected_values · O2 expected_values · O2 expected_values · O2 expected_values · O2 expected_values · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP
ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 24/24 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only. Raw HTTP REST/JSON-RPC transport rejection 5/5; raw-number source and conflicting pins are transport-only checks, not engine/SSR input-source parity.
CVP suite
478/478 golden · 8/8 CVP boundary · 78/78 invalid · 10/10 property · 2/2 metamorphic · 3/3 round-trip · 67/67 cross-interface · 2/2 cross-calculator · 6/6 CVP contract
Supplemental domain review
Not performed
Named expert review
Not performed
Version lock
Supported (409 VERSION_MISMATCH)
Artifact consistency
Build verified · 1.14.16 (workspace artifacts agree)
Review-policy tier
Engine tested — catalog token engine_tested; supplemental; not CVP status
This calculator CURRENT · Public schema 1.14.16 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓

Call this capability

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/linear-system' \
  -H 'Content-Type: application/json' \
  -d '{"inputs":{"mode":"solve","order":2,"a11":2,"a12":1,"a21":1,"a22":1,"b1":5,"b2":3},"calculation_version":"1.14.16"}'

POST /api/v1/calc/linear-system. This is a POST calculate endpoint — do not GET it.

Full REST contract: REST API docs.

Tool id
linear-system
Engine
linear-algebra
REST
POST /api/v1/calc/linear-system
MCP
execute_calculation with capability_id: "math.linear_algebra"
Agent input schema
Canonical (MCP / Agent)
Output schema
JSON Schema (latest)
Versioned input schema
Immutable pin (1.14.16)
Versioned output schema
Immutable pin (1.14.16)

Operations

Declared calculation modes for this capability.

References

Human-readable sources plus CVP reference evidence classes.

Sources

Reference evidence classes: O1 model · O2 expected_values · O2 expected_values · O2 expected_values · O2 expected_values · O2 expected_values · O2 expected_values · O2 numerical_behavior

Try with an agent

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.linear_algebra"},"_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.14.16) when the result must stay reproducible.

Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.