{
  "capability_id": "math.linear_algebra",
  "tool_id": "linear-system",
  "engine": "linear-algebra",
  "calculation_version": "1.2.0",
  "generated_at": "2026-09-19T02:14:29.320Z",
  "engine_build": "2026-09-19",
  "test_count": 18,
  "passed": 18,
  "failed": 0,
  "tests_summary": {
    "golden": {
      "total": 7,
      "passed": 7
    },
    "boundary": {
      "total": 2,
      "passed": 2
    },
    "property": {
      "total": 9,
      "passed": 9
    }
  },
  "engine_tested": true,
  "expert_reviewed": false,
  "internally_reviewed": false,
  "review_kind": null,
  "source_checked": true,
  "reviewed_by": null,
  "reviewer_role": null,
  "last_reviewed": null,
  "expert_review": {
    "status": "optional_not_performed",
    "reviewer": null,
    "scope": [
      "formula",
      "input semantics",
      "assumptions",
      "limitations",
      "sources",
      "tests"
    ],
    "note": "Domain expert review is optional under CVP (CVP-EXP-01). Absence does not block CVP Verified. See Review policy for supplemental domain assurance."
  },
  "internal_review": {
    "status": "not_applicable",
    "reviewer": null
  },
  "page": "https://www.calculatorx.com/calc/math/linear-system",
  "api": "https://www.calculatorx.com/api/v1/calc/linear-system",
  "schema_input": "https://www.calculatorx.com/schemas/math.linear_algebra.input.json",
  "schema_output": "https://www.calculatorx.com/schemas/math.linear_algebra.output.json",
  "assumptions": [
    "Real matrices",
    "Order ≤ 4",
    "Not a CAS"
  ],
  "limitations": [
    "Order ≤ 4 (local small-matrix seed)",
    "Singular inverse → SINGULAR_MATRIX",
    "Not SVD / large-matrix server compute"
  ],
  "boundary_conditions": [
    "singular inverse → SINGULAR_MATRIX",
    "unknown mode (including svd) → INVALID_MODE"
  ],
  "sources": [
    "ISO 80000-2:2019 Quantities and units — Mathematics"
  ],
  "methods": [],
  "fingerprint": "sha256:71870adce80328743f66874aac6fb45d3d26bc74c0dbbe24ed82bd5cc5e39cb2",
  "tests": [
    {
      "id": "golden-2x2",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "solve",
        "order": 2,
        "a11": 2,
        "a12": 1,
        "a21": 1,
        "a22": 1,
        "b1": 5,
        "b2": 3
      },
      "expect": {
        "x": 2,
        "y": 1,
        "status": "unique"
      },
      "expectWarning": null,
      "actual": {
        "mode": "solve",
        "order": 2,
        "A": [
          [
            2,
            1
          ],
          [
            1,
            1
          ]
        ],
        "rhs": [
          5,
          3
        ],
        "x": 2,
        "y": 1,
        "vector": [
          2,
          1
        ],
        "status": "unique",
        "det": 1,
        "formula": "Ax = b",
        "algorithm": "inverse_multiply",
        "numeric_backend": "float64",
        "singularity_threshold": 1e-15,
        "condition_number": 9,
        "warnings": []
      },
      "tol": null
    },
    {
      "id": "golden-det",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "det",
        "order": 2,
        "a11": 1,
        "a12": 2,
        "a21": 3,
        "a22": 4
      },
      "expect": {
        "det": -2
      },
      "expectWarning": null,
      "actual": {
        "mode": "det",
        "order": 2,
        "A": [
          [
            1,
            2
          ],
          [
            3,
            4
          ]
        ],
        "det": -2,
        "formula": "det(A)",
        "algorithm": "gaussian_elimination",
        "numeric_backend": "float64",
        "singularity_threshold": 1e-15,
        "condition_number": 21,
        "warnings": []
      },
      "tol": null
    },
    {
      "id": "golden-rank-singular",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "rank",
        "order": 2,
        "a11": 1,
        "a12": 2,
        "a21": 2,
        "a22": 4
      },
      "expect": {
        "rank": 1,
        "det": 0
      },
      "expectWarning": null,
      "actual": {
        "mode": "rank",
        "order": 2,
        "A": [
          [
            1,
            2
          ],
          [
            2,
            4
          ]
        ],
        "rank": 1,
        "det": 0,
        "formula": "rank via Gaussian elimination",
        "algorithm": "gaussian_elimination",
        "numeric_backend": "float64",
        "singularity_threshold": 1e-15,
        "condition_number": null,
        "warnings": []
      },
      "tol": null
    },
    {
      "id": "golden-identity-3",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "solve",
        "order": 3,
        "a11": 1,
        "a12": 0,
        "a13": 0,
        "a21": 0,
        "a22": 1,
        "a23": 0,
        "a31": 0,
        "a32": 0,
        "a33": 1,
        "b1": 4,
        "b2": 5,
        "b3": 6
      },
      "expect": {
        "x": 4,
        "y": 5,
        "z": 6
      },
      "expectWarning": null,
      "actual": {
        "mode": "solve",
        "order": 3,
        "A": [
          [
            1,
            0,
            0
          ],
          [
            0,
            1,
            0
          ],
          [
            0,
            0,
            1
          ]
        ],
        "rhs": [
          4,
          5,
          6
        ],
        "x": 4,
        "y": 5,
        "z": 6,
        "vector": [
          4,
          5,
          6
        ],
        "status": "unique",
        "det": 1,
        "formula": "Ax = b",
        "algorithm": "inverse_multiply",
        "numeric_backend": "float64",
        "singularity_threshold": 1e-15,
        "condition_number": 1,
        "warnings": []
      },
      "tol": null
    },
    {
      "id": "golden-eigen-diag",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "eigen",
        "order": 2,
        "a11": 2,
        "a12": 0,
        "a21": 0,
        "a22": 3
      },
      "expect": {
        "eigenvalues": [
          {
            "re": 2,
            "im": 0
          },
          {
            "re": 3,
            "im": 0
          }
        ]
      },
      "expectWarning": null,
      "actual": {
        "mode": "eigen",
        "order": 2,
        "A": [
          [
            2,
            0
          ],
          [
            0,
            3
          ]
        ],
        "eigenvalues": [
          {
            "re": 2,
            "im": 0,
            "kind": "real"
          },
          {
            "re": 3,
            "im": 0,
            "kind": "real"
          }
        ],
        "eigenvectors": [
          {
            "re": [
              1,
              0
            ],
            "im": [
              0,
              0
            ],
            "residual": 0
          },
          {
            "re": [
              0,
              1
            ],
            "im": [
              0,
              0
            ],
            "residual": 0
          }
        ],
        "eigenvectors_found": 2,
        "residual_max": 0,
        "char_poly": "x² − 5x + 6",
        "solver": "quadratic",
        "det": 6,
        "formula": "det(A − λI) = 0",
        "algorithm": "faddeev_leverrier + math.polynomial.roots + nullspace",
        "numeric_backend": "float64",
        "singularity_threshold": 1e-15,
        "condition_number": 1.5,
        "warnings": []
      },
      "tol": null
    },
    {
      "id": "golden-lu",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "lu",
        "order": 2,
        "a11": 2,
        "a12": 1,
        "a21": 1,
        "a22": 1
      },
      "expect": {
        "singular": false
      },
      "expectWarning": null,
      "actual": {
        "mode": "lu",
        "order": 2,
        "A": [
          [
            2,
            1
          ],
          [
            1,
            1
          ]
        ],
        "L": [
          [
            1,
            0
          ],
          [
            0.5,
            1
          ]
        ],
        "U": [
          [
            2,
            1
          ],
          [
            0,
            0.5
          ]
        ],
        "P": [
          [
            1,
            0
          ],
          [
            0,
            1
          ]
        ],
        "p": [
          0,
          1
        ],
        "singular": false,
        "reconstruction_residual": 0,
        "det": 1,
        "formula": "PA = LU",
        "algorithm": "lu_partial_pivoting",
        "numeric_backend": "float64",
        "singularity_threshold": 1e-15,
        "condition_number": 9,
        "warnings": []
      },
      "tol": 1e-12
    },
    {
      "id": "golden-qr",
      "ok": true,
      "kind": "golden",
      "inputs": {
        "mode": "qr",
        "order": 2,
        "a11": 1,
        "a12": 1,
        "a21": 0,
        "a22": 1
      },
      "expect": {
        "reconstruction_residual": 0
      },
      "expectWarning": null,
      "actual": {
        "mode": "qr",
        "order": 2,
        "A": [
          [
            1,
            1
          ],
          [
            0,
            1
          ]
        ],
        "Q": [
          [
            -1,
            0
          ],
          [
            0,
            1
          ]
        ],
        "R": [
          [
            -1,
            -1
          ],
          [
            0,
            1
          ]
        ],
        "reconstruction_residual": 0,
        "orthogonality_residual": 0,
        "formula": "A = QR (Householder)",
        "algorithm": "householder_qr",
        "numeric_backend": "float64",
        "singularity_threshold": 1e-15,
        "condition_number": 4,
        "warnings": []
      },
      "tol": 1e-12
    },
    {
      "id": "boundary-singular",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "inverse",
        "order": 2,
        "a11": 1,
        "a12": 2,
        "a21": 2,
        "a22": 4
      },
      "expectError": "SINGULAR_MATRIX",
      "code": "SINGULAR_MATRIX",
      "error": "Matrix is singular; inverse does not exist."
    },
    {
      "id": "boundary-svd",
      "ok": true,
      "kind": "boundary",
      "inputs": {
        "mode": "svd",
        "a11": 1,
        "a12": 0,
        "a21": 0,
        "a22": 1
      },
      "expectError": "INVALID_MODE",
      "code": "INVALID_MODE",
      "error": "mode must be solve, det, inverse, rank, multiply, transpose, eigen, lu, or qr."
    },
    {
      "id": "property-la-solve",
      "ok": true,
      "kind": "property",
      "detail": "2x+y=5",
      "expect": 2,
      "actual": 2
    },
    {
      "id": "property-la-det",
      "ok": true,
      "kind": "property",
      "detail": "det",
      "expect": -2,
      "actual": -2
    },
    {
      "id": "property-la-inv",
      "ok": true,
      "kind": "property",
      "detail": "diag inverse",
      "expect": 0.5,
      "actual": 0.5
    },
    {
      "id": "property-la-rank",
      "ok": true,
      "kind": "property",
      "detail": "rank-1 singular",
      "expect": 1,
      "actual": 1
    },
    {
      "id": "property-la-t",
      "ok": true,
      "kind": "property",
      "detail": "transpose",
      "expect": 3,
      "actual": 3
    },
    {
      "id": "property-la-qr",
      "ok": true,
      "kind": "property",
      "detail": "QR residual",
      "expect": 0,
      "actual": 0
    },
    {
      "id": "property-la-lu",
      "ok": true,
      "kind": "property",
      "detail": "LU residual",
      "expect": 0,
      "actual": 0
    },
    {
      "id": "property-la-eigen",
      "ok": true,
      "kind": "property",
      "detail": "diag eigen",
      "expect": 2,
      "actual": 2
    },
    {
      "id": "property-la-id3",
      "ok": true,
      "kind": "property",
      "detail": "I₃ solve",
      "expect": 9,
      "actual": 9
    }
  ],
  "tier": "engine_tested",
  "verification": {
    "tests": {
      "passed": 18,
      "total": 18,
      "golden": 7,
      "boundary": 2,
      "property": 9
    },
    "contract_checks": {
      "passed": 3,
      "total": 3
    }
  },
  "evidence_core_generated_at": "2026-09-19T00:49:10.356Z",
  "rendered_at": "2026-09-19T02:14:29.320Z",
  "release_integrity": {
    "status": "verified",
    "scope": "workspace",
    "production_attestation_required": true,
    "calculation_version": "1.2.0",
    "artifacts": {
      "engine": "1.2.0",
      "page": "1.2.0",
      "capability": "1.2.0",
      "evidence": "1.2.0",
      "input_schema": "1.2.0",
      "output_schema": "1.2.0",
      "mcp_contract": "1.2.0"
    },
    "digests": {
      "input_schema_sha256": "b4a37bc896da86edeea5877d92d13c5d1970a5c4515462b3dbae29be0983e810",
      "output_schema_sha256": "f42f187a538de001c137f27aafbff93258631b63c9746b8a856bc452f8138785",
      "evidence_sha256": "666c1b4845cf12e43c346d3bd1833b92c5c65dd4b1b4d18ff843fd01375cb711",
      "evidence_core_sha256": "666c1b4845cf12e43c346d3bd1833b92c5c65dd4b1b4d18ff843fd01375cb711",
      "capability_sha256": "ee7d7b868566d2cd6fe50e0a1da09751cde53cee1d43636f60be233d43646b96",
      "engine_sha256": "e2db0a7325e87d733eee5491a146d870677fe7b2ccb5d15ba36a8b5afbb17247",
      "mcp_contract_sha256": "312c860acede70764ad49c5e6180292fe8086ed8874884b9239465a80766d858"
    },
    "contract_checks": {
      "total": 3,
      "passed": 3,
      "failed": 0,
      "items": [
        {
          "id": "release-artifacts-aligned",
          "status": "pass",
          "detail": "1.2.0"
        },
        {
          "id": "schema-valid-input-executes",
          "status": "pass"
        },
        {
          "id": "engine-success-output-validates-schema",
          "status": "pass"
        }
      ]
    },
    "report": "https://www.calculatorx.com/.well-known/calculatorx-release-integrity.json"
  }
}
