{"abstract":"The exact exact ldl decomposition result violates the stated contract at off diagonal schur complement.","category":"Numerics","checks":8,"contract":"Input symmetric positive definite integer matrix; return unit lower L and diagonal D as rational pairs such that A=L*D*Ltranspose.","evaluation_group":"s3-numerics-exact-ldl-decomposition","failed_approach":"The partial repair a[i][j]-sum(L[i][k]*L[j][k] for k in range(j)) still violates the off diagonal schur complement invariant.","family":"s3-numerics-exact-ldl-decomposition-off-diagonal-schur-complement","id":"FA-15456","implementations":{"attempt":{"sha256":"07e33399c736c8798b63ec8fcf5b5b8949b0d7d4d6025e349d46ca0b6f74f6a0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport itertools\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    a=[list(map(Fraction,row)) for row in x];n=len(a);L=[[Fraction(int(i==j)) for j in range(n)] for i in range(n)];D=[Fraction(0)]*n\n    for j in range(n):\n     D[j]=a[j][j]-sum(L[j][k]**2*D[k] for k in range(j))\n     if not D[j]:return None\n     for i in range(j+1,n):\n      L[i][j]=(a[i][j]-sum(L[i][k]*L[j][k] for k in range(j)))/(D[j])\n    return [[[[v.numerator,v.denominator] for v in row] for row in L],[[v.numerator,v.denominator] for v in D]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([[15, 14, 1], [14, 20, -1], [1, -1, 6]], [[[[1, 1], [0, 1], [0, 1]], [[14, 15], [1, 1], [0, 1]], [[1, 15], [-29, 104], [1, 1]]], [[15, 1], [104, 15], [561, 104]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[10]], [[[[1, 1]]], [[10, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]])], [([[11, 2, 6], [2, 14, 6], [6, 6, 9]], [[[[1, 1], [0, 1], [0, 1]], [[2, 11], [1, 1], [0, 1]], [[6, 11], [9, 25], [1, 1]]], [[11, 1], [150, 11], [99, 25]]]), ([[7, 2, -10], [2, 5, -4], [-10, -4, 18]], [[[[1, 1], [0, 1], [0, 1]], [[2, 7], [1, 1], [0, 1]], [[-10, 7], [-8, 31], [1, 1]]], [[7, 1], [31, 7], [106, 31]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[10]], [[[[1, 1]]], [[10, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[10]], [[[[1, 1]]], [[10, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]])], [([[20, -4, -6], [-4, 15, 11], [-6, 11, 15]], [[[[1, 1], [0, 1], [0, 1]], [[-1, 5], [1, 1], [0, 1]], [[-3, 10], [49, 71], [1, 1]]], [[20, 1], [71, 5], [457, 71]]]), ([[28, 6, -3], [6, 23, -5], [-3, -5, 14]], [[[[1, 1], [0, 1], [0, 1]], [[3, 14], [1, 1], [0, 1]], [[-3, 28], [-61, 304], [1, 1]]], [[28, 1], [152, 7], [7785, 608]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[10]], [[[[1, 1]]], [[10, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[10]], [[[[1, 1]]], [[10, 1]]])], [([[7, 2, -10], [2, 5, -4], [-10, -4, 18]], [[[[1, 1], [0, 1], [0, 1]], [[2, 7], [1, 1], [0, 1]], [[-10, 7], [-8, 31], [1, 1]]], [[7, 1], [31, 7], [106, 31]]]), ([[12, -6, -4], [-6, 19, -3], [-4, -3, 7]], [[[[1, 1], [0, 1], [0, 1]], [[-1, 2], [1, 1], [0, 1]], [[-1, 3], [-5, 16], [1, 1]]], [[12, 1], [16, 1], [197, 48]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]])], [([[18, -12, -2], [-12, 14, 2], [-2, 2, 13]], [[[[1, 1], [0, 1], [0, 1]], [[-2, 3], [1, 1], [0, 1]], [[-1, 9], [1, 9], [1, 1]]], [[18, 1], [6, 1], [343, 27]]]), ([[2, -2, 2], [-2, 10, -2], [2, -2, 13]], [[[[1, 1], [0, 1], [0, 1]], [[-1, 1], [1, 1], [0, 1]], [[1, 1], [0, 1], [1, 1]]], [[2, 1], [8, 1], [11, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[11, 6], [6, 5]], [[[[1, 1], [0, 1]], [[6, 11], [1, 1]]], [[11, 1], [19, 11]]]), ([[1, 0], [0, 19]], [[[[1, 1], [0, 1]], [[0, 1], [1, 1]]], [[1, 1], [19, 1]]]), ([[3, 2], [2, 5]], [[[[1, 1], [0, 1]], [[2, 3], [1, 1]]], [[3, 1], [11, 3]]]), ([[9, 0], [0, 1]], [[[[1, 1], [0, 1]], [[0, 1], [1, 1]]], [[9, 1], [1, 1]]])]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"explicit oracle %d\" % i, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"de34c96cefeb70b425a7774d565c8857b1bf701f33e73bf10aa1287af61d42d7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport itertools\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    a=[list(map(Fraction,row)) for row in x];n=len(a);L=[[Fraction(int(i==j)) for j in range(n)] for i in range(n)];D=[Fraction(0)]*n\n    for j in range(n):\n     D[j]=a[j][j]-sum(L[j][k]**2*D[k] for k in range(j))\n     if not D[j]:return None\n     for i in range(j+1,n):\n      L[i][j]=(a[i][j]+sum(L[i][k]*L[j][k]*D[k] for k in range(j)))/(D[j])\n    return [[[[v.numerator,v.denominator] for v in row] for row in L],[[v.numerator,v.denominator] for v in D]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([[15, 14, 1], [14, 20, -1], [1, -1, 6]], [[[[1, 1], [0, 1], [0, 1]], [[14, 15], [1, 1], [0, 1]], [[1, 15], [-29, 104], [1, 1]]], [[15, 1], [104, 15], [561, 104]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[10]], [[[[1, 1]]], [[10, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]])], [([[11, 2, 6], [2, 14, 6], [6, 6, 9]], [[[[1, 1], [0, 1], [0, 1]], [[2, 11], [1, 1], [0, 1]], [[6, 11], [9, 25], [1, 1]]], [[11, 1], [150, 11], [99, 25]]]), ([[7, 2, -10], [2, 5, -4], [-10, -4, 18]], [[[[1, 1], [0, 1], [0, 1]], [[2, 7], [1, 1], [0, 1]], [[-10, 7], [-8, 31], [1, 1]]], [[7, 1], [31, 7], [106, 31]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[10]], [[[[1, 1]]], [[10, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[10]], [[[[1, 1]]], [[10, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]])], [([[20, -4, -6], [-4, 15, 11], [-6, 11, 15]], [[[[1, 1], [0, 1], [0, 1]], [[-1, 5], [1, 1], [0, 1]], [[-3, 10], [49, 71], [1, 1]]], [[20, 1], [71, 5], [457, 71]]]), ([[28, 6, -3], [6, 23, -5], [-3, -5, 14]], [[[[1, 1], [0, 1], [0, 1]], [[3, 14], [1, 1], [0, 1]], [[-3, 28], [-61, 304], [1, 1]]], [[28, 1], [152, 7], [7785, 608]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[10]], [[[[1, 1]]], [[10, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[10]], [[[[1, 1]]], [[10, 1]]])], [([[7, 2, -10], [2, 5, -4], [-10, -4, 18]], [[[[1, 1], [0, 1], [0, 1]], [[2, 7], [1, 1], [0, 1]], [[-10, 7], [-8, 31], [1, 1]]], [[7, 1], [31, 7], [106, 31]]]), ([[12, -6, -4], [-6, 19, -3], [-4, -3, 7]], [[[[1, 1], [0, 1], [0, 1]], [[-1, 2], [1, 1], [0, 1]], [[-1, 3], [-5, 16], [1, 1]]], [[12, 1], [16, 1], [197, 48]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]])], [([[18, -12, -2], [-12, 14, 2], [-2, 2, 13]], [[[[1, 1], [0, 1], [0, 1]], [[-2, 3], [1, 1], [0, 1]], [[-1, 9], [1, 9], [1, 1]]], [[18, 1], [6, 1], [343, 27]]]), ([[2, -2, 2], [-2, 10, -2], [2, -2, 13]], [[[[1, 1], [0, 1], [0, 1]], [[-1, 1], [1, 1], [0, 1]], [[1, 1], [0, 1], [1, 1]]], [[2, 1], [8, 1], [11, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[11, 6], [6, 5]], [[[[1, 1], [0, 1]], [[6, 11], [1, 1]]], [[11, 1], [19, 11]]]), ([[1, 0], [0, 19]], [[[[1, 1], [0, 1]], [[0, 1], [1, 1]]], [[1, 1], [19, 1]]]), ([[3, 2], [2, 5]], [[[[1, 1], [0, 1]], [[2, 3], [1, 1]]], [[3, 1], [11, 3]]]), ([[9, 0], [0, 1]], [[[[1, 1], [0, 1]], [[0, 1], [1, 1]]], [[9, 1], [1, 1]]])]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"explicit oracle %d\" % i, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"16ce899fcba43d5617daa0bafd6dcda3671e2c38af5b5aafd19610fdbdab510c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport itertools\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    a=[list(map(Fraction,row)) for row in x];n=len(a);L=[[Fraction(int(i==j)) for j in range(n)] for i in range(n)];D=[Fraction(0)]*n\n    for j in range(n):\n     D[j]=a[j][j]-sum(L[j][k]**2*D[k] for k in range(j))\n     if not D[j]:return None\n     for i in range(j+1,n):\n      L[i][j]=(a[i][j]-sum(L[i][k]*L[j][k]*D[k] for k in range(j)))/(D[j])\n    return [[[[v.numerator,v.denominator] for v in row] for row in L],[[v.numerator,v.denominator] for v in D]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([[15, 14, 1], [14, 20, -1], [1, -1, 6]], [[[[1, 1], [0, 1], [0, 1]], [[14, 15], [1, 1], [0, 1]], [[1, 15], [-29, 104], [1, 1]]], [[15, 1], [104, 15], [561, 104]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[10]], [[[[1, 1]]], [[10, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]])], [([[11, 2, 6], [2, 14, 6], [6, 6, 9]], [[[[1, 1], [0, 1], [0, 1]], [[2, 11], [1, 1], [0, 1]], [[6, 11], [9, 25], [1, 1]]], [[11, 1], [150, 11], [99, 25]]]), ([[7, 2, -10], [2, 5, -4], [-10, -4, 18]], [[[[1, 1], [0, 1], [0, 1]], [[2, 7], [1, 1], [0, 1]], [[-10, 7], [-8, 31], [1, 1]]], [[7, 1], [31, 7], [106, 31]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[10]], [[[[1, 1]]], [[10, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[10]], [[[[1, 1]]], [[10, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]])], [([[20, -4, -6], [-4, 15, 11], [-6, 11, 15]], [[[[1, 1], [0, 1], [0, 1]], [[-1, 5], [1, 1], [0, 1]], [[-3, 10], [49, 71], [1, 1]]], [[20, 1], [71, 5], [457, 71]]]), ([[28, 6, -3], [6, 23, -5], [-3, -5, 14]], [[[[1, 1], [0, 1], [0, 1]], [[3, 14], [1, 1], [0, 1]], [[-3, 28], [-61, 304], [1, 1]]], [[28, 1], [152, 7], [7785, 608]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[10]], [[[[1, 1]]], [[10, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[10]], [[[[1, 1]]], [[10, 1]]])], [([[7, 2, -10], [2, 5, -4], [-10, -4, 18]], [[[[1, 1], [0, 1], [0, 1]], [[2, 7], [1, 1], [0, 1]], [[-10, 7], [-8, 31], [1, 1]]], [[7, 1], [31, 7], [106, 31]]]), ([[12, -6, -4], [-6, 19, -3], [-4, -3, 7]], [[[[1, 1], [0, 1], [0, 1]], [[-1, 2], [1, 1], [0, 1]], [[-1, 3], [-5, 16], [1, 1]]], [[12, 1], [16, 1], [197, 48]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]]), ([[5]], [[[[1, 1]]], [[5, 1]]])], [([[18, -12, -2], [-12, 14, 2], [-2, 2, 13]], [[[[1, 1], [0, 1], [0, 1]], [[-2, 3], [1, 1], [0, 1]], [[-1, 9], [1, 9], [1, 1]]], [[18, 1], [6, 1], [343, 27]]]), ([[2, -2, 2], [-2, 10, -2], [2, -2, 13]], [[[[1, 1], [0, 1], [0, 1]], [[-1, 1], [1, 1], [0, 1]], [[1, 1], [0, 1], [1, 1]]], [[2, 1], [8, 1], [11, 1]]]), ([[2]], [[[[1, 1]]], [[2, 1]]]), ([[20, -8, 15, -3], [-8, 8, -9, -7], [15, -9, 15, 4], [-3, -7, 4, 22]], [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]]), ([[11, 6], [6, 5]], [[[[1, 1], [0, 1]], [[6, 11], [1, 1]]], [[11, 1], [19, 11]]]), ([[1, 0], [0, 19]], [[[[1, 1], [0, 1]], [[0, 1], [1, 1]]], [[1, 1], [19, 1]]]), ([[3, 2], [2, 5]], [[[[1, 1], [0, 1]], [[2, 3], [1, 1]]], [[3, 1], [11, 3]]]), ([[9, 0], [0, 1]], [[[[1, 1], [0, 1]], [[0, 1], [1, 1]]], [[9, 1], [1, 1]]])]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"explicit oracle %d\" % i, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic bounded teaching model. Inputs are restricted to the explicit contract; this is not a production algebra library. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-numerics-exact-ldl-decomposition-off-diagonal-schur-complement","generated_at":"2026-09-29T14:39:26.997098+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Exact discrete arithmetic with observable algorithmic state; no floating point approximation is used.","repair":"Use a[i][j]-sum(L[i][k]*L[j][k]*D[k] for k in range(j)) at the off diagonal schur complement step.","root_cause":"The off diagonal schur complement step uses a[i][j]+sum(L[i][k]*L[j][k]*D[k] for k in range(j)) instead of a[i][j]-sum(L[i][k]*L[j][k]*D[k] for k in range(j)).","sha256":"6f0cda4ddd08427409ed5827a71882145583a0a86b2448b5ff06504f89673618","title":"Exact ldl decomposition: off diagonal schur complement · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":49.727,"exit_code":1,"observations":[{"actual":[[[[1,1],[0,1],[0,1]],[[14,15],[1,1],[0,1]],[[1,15],[-239,1560],[1,1]]],[[15,1],[104,15],[2025479,351000]]],"check":"explicit oracle 0","expected":[[[[1,1],[0,1],[0,1]],[[14,15],[1,1],[0,1]],[[1,15],[-29,104],[1,1]]],[[15,1],[104,15],[561,104]]],"passed":false},{"actual":[[[[1,1]]],[[2,1]]],"check":"explicit oracle 1","expected":[[[[1,1]]],[[2,1]]],"passed":true},{"actual":[[[[1,1],[0,1],[0,1],[0,1]],[[-2,5],[1,1],[0,1],[0,1]],[[3,4],[-29,16],[1,1],[0,1]],[[-3,20],[-353,240],[-5555,46152],[1,1]]],[[20,1],[24,5],[-1923,160],[50243071681,4430592000]]],"check":"explicit oracle 2","expected":[[[[1,1],[0,1],[0,1],[0,1]],[[-2,5],[1,1],[0,1],[0,1]],[[3,4],[-5,8],[1,1],[0,1]],[[-3,20],[-41,24],[3,5],[1,1]]],[[20,1],[24,5],[15,8],[103,15]]],"passed":false},{"actual":[[[[1,1]]],[[5,1]]],"check":"explicit oracle 3","expected":[[[[1,1]]],[[5,1]]],"passed":true},{"actual":[[[[1,1]]],[[5,1]]],"check":"explicit oracle 4","expected":[[[[1,1]]],[[5,1]]],"passed":true},{"actual":[[[[1,1]]],[[2,1]]],"check":"explicit oracle 5","expected":[[[[1,1]]],[[2,1]]],"passed":true},{"actual":[[[[1,1]]],[[10,1]]],"check":"explicit oracle 6","expected":[[[[1,1]]],[[10,1]]],"passed":true},{"actual":[[[[1,1]]],[[2,1]]],"check":"explicit oracle 7","expected":[[[[1,1]]],[[2,1]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit oracle 0\", \"actual\": [[[[1, 1], [0, 1], [0, 1]], [[14, 15], [1, 1], [0, 1]], [[1, 15], [-239, 1560], [1, 1]]], [[15, 1], [104, 15], [2025479, 351000]]], \"expected\": [[[[1, 1], [0, 1], [0, 1]], [[14, 15], [1, 1], [0, 1]], [[1, 15], [-29, 104], [1, 1]]], [[15, 1], [104, 15], [561, 104]]], \"passed\": false}, {\"check\": \"explicit oracle 1\", \"actual\": [[[[1, 1]]], [[2, 1]]], \"expected\": [[[[1, 1]]], [[2, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 2\", \"actual\": [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-29, 16], [1, 1], [0, 1]], [[-3, 20], [-353, 240], [-5555, 46152], [1, 1]]], [[20, 1], [24, 5], [-1923, 160], [50243071681, 4430592000]]], \"expected\": [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]], \"passed\": false}, {\"check\": \"explicit oracle 3\", \"actual\": [[[[1, 1]]], [[5, 1]]], \"expected\": [[[[1, 1]]], [[5, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 4\", \"actual\": [[[[1, 1]]], [[5, 1]]], \"expected\": [[[[1, 1]]], [[5, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 5\", \"actual\": [[[[1, 1]]], [[2, 1]]], \"expected\": [[[[1, 1]]], [[2, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 6\", \"actual\": [[[[1, 1]]], [[10, 1]]], \"expected\": [[[[1, 1]]], [[10, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 7\", \"actual\": [[[[1, 1]]], [[2, 1]]], \"expected\": [[[[1, 1]]], [[2, 1]]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.032,"exit_code":1,"observations":[{"actual":[[[[1,1],[0,1],[0,1]],[[14,15],[1,1],[0,1]],[[1,15],[-1,104],[1,1]]],[[15,1],[104,15],[617,104]]],"check":"explicit oracle 0","expected":[[[[1,1],[0,1],[0,1]],[[14,15],[1,1],[0,1]],[[1,15],[-29,104],[1,1]]],[[15,1],[104,15],[561,104]]],"passed":false},{"actual":[[[[1,1]]],[[2,1]]],"check":"explicit oracle 1","expected":[[[[1,1]]],[[2,1]]],"passed":true},{"actual":[[[[1,1],[0,1],[0,1],[0,1]],[[-2,5],[1,1],[0,1],[0,1]],[[3,4],[-25,8],[1,1],[0,1]],[[-3,20],[-29,24],[-53,115],[1,1]]],[[20,1],[24,5],[-345,8],[8177,345]]],"check":"explicit oracle 2","expected":[[[[1,1],[0,1],[0,1],[0,1]],[[-2,5],[1,1],[0,1],[0,1]],[[3,4],[-5,8],[1,1],[0,1]],[[-3,20],[-41,24],[3,5],[1,1]]],[[20,1],[24,5],[15,8],[103,15]]],"passed":false},{"actual":[[[[1,1]]],[[5,1]]],"check":"explicit oracle 3","expected":[[[[1,1]]],[[5,1]]],"passed":true},{"actual":[[[[1,1]]],[[5,1]]],"check":"explicit oracle 4","expected":[[[[1,1]]],[[5,1]]],"passed":true},{"actual":[[[[1,1]]],[[2,1]]],"check":"explicit oracle 5","expected":[[[[1,1]]],[[2,1]]],"passed":true},{"actual":[[[[1,1]]],[[10,1]]],"check":"explicit oracle 6","expected":[[[[1,1]]],[[10,1]]],"passed":true},{"actual":[[[[1,1]]],[[2,1]]],"check":"explicit oracle 7","expected":[[[[1,1]]],[[2,1]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit oracle 0\", \"actual\": [[[[1, 1], [0, 1], [0, 1]], [[14, 15], [1, 1], [0, 1]], [[1, 15], [-1, 104], [1, 1]]], [[15, 1], [104, 15], [617, 104]]], \"expected\": [[[[1, 1], [0, 1], [0, 1]], [[14, 15], [1, 1], [0, 1]], [[1, 15], [-29, 104], [1, 1]]], [[15, 1], [104, 15], [561, 104]]], \"passed\": false}, {\"check\": \"explicit oracle 1\", \"actual\": [[[[1, 1]]], [[2, 1]]], \"expected\": [[[[1, 1]]], [[2, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 2\", \"actual\": [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-25, 8], [1, 1], [0, 1]], [[-3, 20], [-29, 24], [-53, 115], [1, 1]]], [[20, 1], [24, 5], [-345, 8], [8177, 345]]], \"expected\": [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]], \"passed\": false}, {\"check\": \"explicit oracle 3\", \"actual\": [[[[1, 1]]], [[5, 1]]], \"expected\": [[[[1, 1]]], [[5, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 4\", \"actual\": [[[[1, 1]]], [[5, 1]]], \"expected\": [[[[1, 1]]], [[5, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 5\", \"actual\": [[[[1, 1]]], [[2, 1]]], \"expected\": [[[[1, 1]]], [[2, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 6\", \"actual\": [[[[1, 1]]], [[10, 1]]], \"expected\": [[[[1, 1]]], [[10, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 7\", \"actual\": [[[[1, 1]]], [[2, 1]]], \"expected\": [[[[1, 1]]], [[2, 1]]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.143,"exit_code":0,"observations":[{"actual":[[[[1,1],[0,1],[0,1]],[[14,15],[1,1],[0,1]],[[1,15],[-29,104],[1,1]]],[[15,1],[104,15],[561,104]]],"check":"explicit oracle 0","expected":[[[[1,1],[0,1],[0,1]],[[14,15],[1,1],[0,1]],[[1,15],[-29,104],[1,1]]],[[15,1],[104,15],[561,104]]],"passed":true},{"actual":[[[[1,1]]],[[2,1]]],"check":"explicit oracle 1","expected":[[[[1,1]]],[[2,1]]],"passed":true},{"actual":[[[[1,1],[0,1],[0,1],[0,1]],[[-2,5],[1,1],[0,1],[0,1]],[[3,4],[-5,8],[1,1],[0,1]],[[-3,20],[-41,24],[3,5],[1,1]]],[[20,1],[24,5],[15,8],[103,15]]],"check":"explicit oracle 2","expected":[[[[1,1],[0,1],[0,1],[0,1]],[[-2,5],[1,1],[0,1],[0,1]],[[3,4],[-5,8],[1,1],[0,1]],[[-3,20],[-41,24],[3,5],[1,1]]],[[20,1],[24,5],[15,8],[103,15]]],"passed":true},{"actual":[[[[1,1]]],[[5,1]]],"check":"explicit oracle 3","expected":[[[[1,1]]],[[5,1]]],"passed":true},{"actual":[[[[1,1]]],[[5,1]]],"check":"explicit oracle 4","expected":[[[[1,1]]],[[5,1]]],"passed":true},{"actual":[[[[1,1]]],[[2,1]]],"check":"explicit oracle 5","expected":[[[[1,1]]],[[2,1]]],"passed":true},{"actual":[[[[1,1]]],[[10,1]]],"check":"explicit oracle 6","expected":[[[[1,1]]],[[10,1]]],"passed":true},{"actual":[[[[1,1]]],[[2,1]]],"check":"explicit oracle 7","expected":[[[[1,1]]],[[2,1]]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit oracle 0\", \"actual\": [[[[1, 1], [0, 1], [0, 1]], [[14, 15], [1, 1], [0, 1]], [[1, 15], [-29, 104], [1, 1]]], [[15, 1], [104, 15], [561, 104]]], \"expected\": [[[[1, 1], [0, 1], [0, 1]], [[14, 15], [1, 1], [0, 1]], [[1, 15], [-29, 104], [1, 1]]], [[15, 1], [104, 15], [561, 104]]], \"passed\": true}, {\"check\": \"explicit oracle 1\", \"actual\": [[[[1, 1]]], [[2, 1]]], \"expected\": [[[[1, 1]]], [[2, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 2\", \"actual\": [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]], \"expected\": [[[[1, 1], [0, 1], [0, 1], [0, 1]], [[-2, 5], [1, 1], [0, 1], [0, 1]], [[3, 4], [-5, 8], [1, 1], [0, 1]], [[-3, 20], [-41, 24], [3, 5], [1, 1]]], [[20, 1], [24, 5], [15, 8], [103, 15]]], \"passed\": true}, {\"check\": \"explicit oracle 3\", \"actual\": [[[[1, 1]]], [[5, 1]]], \"expected\": [[[[1, 1]]], [[5, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 4\", \"actual\": [[[[1, 1]]], [[5, 1]]], \"expected\": [[[[1, 1]]], [[5, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 5\", \"actual\": [[[[1, 1]]], [[2, 1]]], \"expected\": [[[[1, 1]]], [[2, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 6\", \"actual\": [[[[1, 1]]], [[10, 1]]], \"expected\": [[[[1, 1]]], [[10, 1]]], \"passed\": true}, {\"check\": \"explicit oracle 7\", \"actual\": [[[[1, 1]]], [[2, 1]]], \"expected\": [[[[1, 1]]], [[2, 1]]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}