Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument implementation / implementation-contract

Matrix Calculator (det/inverse/rref/eigen/least-squares) implementation

A source-bound implementation contract for Matrix Calculator (det/inverse/rref/eigen/least-squares); deployment and executable qualification remain separate.

Status: VERIFIED_CLEANLifecycle: implementation-contract

Binding contract

This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.

Record owner
Guth Instruments
Lifecycle
verified-clean
Evidence ID
t8-019
Effect
Computation or source lookup only

Input and validation requirements

  • Inverse has a division-by-zero hazard when det(A)=0; near-zero determinants require a tolerance policy rather than an exact floating-point comparison.
  • LU, QR, RREF, eigenvalue, rank, and least-squares results depend on pivoting, scaling, floating-point tolerances, and iteration limits.
  • Normal equations can lose significant digits for ill-conditioned design matrices; rank-deficient systems can make A^T A singular.
  • Eigenvectors are non-unique up to scaling, and repeated or defective eigenvalues may not have a complete eigenbasis.
  • Real-input matrices can have complex eigenvalues and eigenvectors; the output type and supported arithmetic are unspecified.
  • Variable-size inputs need explicit maximum dimensions and clear errors for malformed, ragged, empty, non-square, or dimensionally incompatible matrices.
  • An offline build that needs a vendored math.js library must verify that the vendored version supports all claimed operations and has no runtime network dependency.

Required corrections

No binding erratum is attached to this unique-name record. Implementers must still preserve the declared units, domain, and failure behavior.

Inspectable interface fixture

The sample below is evidence for interface and validation tests, not a production implementation.

{
  "inputs": {
    "operation": "determinant_and_inverse",
    "A": [
      [
        4,
        7
      ],
      [
        2,
        6
      ]
    ]
  },
  "expected_outputs": {
    "determinant": "10",
    "inverse": [
      [
        "3/5",
        "-7/10"
      ],
      [
        "-1/5",
        "2/5"
      ]
    ],
    "verification_product": [
      [
        1,
        0
      ],
      [
        0,
        1
      ]
    ],
    "spot_checks": [
      {
        "at": "det([[4,7],[2,6]])",
        "input_side": 10,
        "answer_side": 10
      }
    ]
  },
  "reference_data": {
    "method": "For a 2 by 2 matrix [[a,b],[c,d]], det=ad-bc and inverse=(1/(ad-bc))*[[d,-b],[-c,a]]."
  },
  "working": "det(A)=4*6-7*2=24-14=10. Therefore inverse=(1/10)*[[6,-7],[-2,4]]=[[6/10,-7/10],[-2/10,4/10]]=[[3/5,-7/10],[-1/5,2/5]]. Product check: first row, first column=4*(3/5)+7*(-1/5)=12/5-7/5=1; first row, second column=4*(-7/10)+7*(2/5)=-28/10+28/10=0; second row, first column=2*(3/5)+6*(-1/5)=6/5-6/5=0; second row, second column=2*(-7/10)+6*(2/5)=-14/10+24/10=1."
}

Other records

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json
  • evidence-tranche8/tranche8-results.json