FAILURE MAP
← Case archive

FA-91261 / Quantum circuit simulation / Open access

Bloch Hadamard leaves y unchanged · case 01

H applied to |+i> stays at y = +1 instead of moving to y = -1.

Verified by executionVariant 1 · 7 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The Hadamard map swaps x and z but does not negate y.

VERIFIED REPAIR

Use (x, y, z) -> (z, -y, x).

Unsuccessful approach: The attempted repair negates all three coordinates after swapping, a point reflection rather than a rotation.

Case contract

Input [[x, y, z], channels] (decimal strings). Apply in order: depol p (r -> (1-p) r), dephase p (x, y scaled by 1-2p), bitflip p (y, z scaled by 1-2p), ampdamp g (x, y scaled by sqrt(1-g), z -> g + (1-g) z toward |0> at z=+1), h ((x,y,z) -> (z,-y,x)), s ((x,y) -> (-y,x)), x ((y,z) -> (-y,-z)). Return the final vector rounded to 6 decimals.

Why this case matters

Single-qubit noise channels on the Bloch ball are the standard sanity model for T1/T2 behaviour; axis or scale slips mislead calibration.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(x):
    bx, by, bz = [float(v) for v in x[0]]
    for ch in x[1]:
        kind = ch[0]
        if kind == 'depol':
            p = float(ch[1])
            bx, by, bz = (1 - p) * bx, (1 - p) * by, (1 - p) * bz
        elif kind == 'dephase':
            p = float(ch[1])
            bx, by = (1 - 2 * p) * bx, (1 - 2 * p) * by
        elif kind == 'bitflip':
            p = float(ch[1])
            by, bz = (1 - 2 * p) * by, (1 - 2 * p) * bz
        elif kind == 'ampdamp':
            g = float(ch[1])
            s = math.sqrt(1 - g)
            bx, by, bz = s * bx, s * by, g + (1 - g) * bz
        elif kind == 'h':
            bx, by, bz = bz, by, bx
        elif kind == 's':
            bx, by = -by, bx
        elif kind == 'x':
            by, bz = -by, -bz
    return [round(v, 6) + 0.0 for v in (bx, by, bz)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: hadamard on y', [['0', '1', '0'], [['h']]], [0.0, -1.0, 0.0]], ['regression: random channel chain 1', [['0.2317', '0.4662', '-0.3393'], [['h'], ['ampdamp', '0.1'], ['h'], ['h']]], [-0.321888, -0.442276, 0.30853]], ['regression: random channel chain 5', [['-0.4729', '-0.0797', '-0.3692'], [['h'], ['s'], ['dephase', '0.1']]], [-0.06376, -0.29536, -0.4729]], ['control: amplitude damping from |1>', [['0', '0', '-1'], [['ampdamp', '0.5']]], [0.0, 0.0, 0.0]], ['control: dephasing plus state', [['1', '0', '0'], [['dephase', '0.25']]], [0.5, 0.0, 0.0]], ['control: bit flip on |0>', [['0', '0', '1'], [['bitflip', '0.25']]], [0.0, 0.0, 0.5]], ['control: s on x', [['1', '0', '0'], [['s']]], [0.0, 1.0, 0.0]]], [['regression: random channel chain 8', [['0.255', '-0.4128', '-0.2664'], [['x'], ['dephase', '0.05'], ['h'], ['depol', '0.05']]], [0.25308, -0.352944, 0.218025]], ['regression: random channel chain 10', [['0.0325', '0.65', '0.2184'], [['depol', '0.2'], ['ampdamp', '0.05'], ['bitflip', '0.05'], ['h']]], [0.194386, -0.45615, 0.025342]], ['regression: random channel chain 13', [['-0.3842', '-0.4838', '0.2088'], [['h'], ['depol', '0.05']]], [0.19836, 0.45961, -0.36499]], ['control: x on |+i>', [['0', '1', '0'], [['x']]], [0.0, -1.0, 0.0]], ['control: depolarize', [['0.6', '0', '0.8'], [['depol', '0.1']]], [0.54, 0.0, 0.72]], ['control: random channel chain 0', [['0.0691', '-0.4004', '0.0791'], [['dephase', '0.2'], ['bitflip', '0.3'], ['s']]], [0.096096, 0.04146, 0.03164]], ['control: random channel chain 2', [['0.0766', '-0.6718', '0.0357'], [['s']]], [0.6718, 0.0766, 0.0357]]], [['regression: random channel chain 14', [['-0.1159', '-0.3227', '0.1975'], [['bitflip', '0.3'], ['h'], ['bitflip', '0.1'], ['dephase', '0.3']]], [0.0316, 0.041306, -0.09272]], ['regression: random channel chain 16', [['0.0125', '-0.322', '0.0664'], [['h'], ['ampdamp', '0.05']]], [0.064719, 0.313847, 0.061875]], ['regression: random channel chain 13', [['-0.3842', '-0.4838', '0.2088'], [['h'], ['depol', '0.05']]], [0.19836, 0.45961, -0.36499]], ['control: random channel chain 3', [['0.2389', '-0.1722', '0.2639'], [['dephase', '0.1'], ['bitflip', '0.2'], ['x']]], [0.19112, 0.082656, -0.15834]], ['control: random channel chain 4', [['-0.0477', '-0.2431', '-0.2391'], [['x'], ['depol', '0.5'], ['x'], ['bitflip', '0.1']]], [-0.02385, -0.09724, -0.09564]], ['control: random channel chain 6', [['0.394', '0.1792', '-0.6952'], [['x']]], [0.394, -0.1792, 0.6952]], ['control: random channel chain 7', [['0.2531', '-0.7095', '0.5685'], [['ampdamp', '0.2'], ['bitflip', '0.1'], ['dephase', '0.2'], ['x']]], [0.135828, 0.304606, -0.52384]]], [['regression: random channel chain 33', [['-0.1736', '-0.2281', '-0.3032'], [['ampdamp', '0.1'], ['h']]], [-0.17288, 0.216395, -0.164691]], ['regression: random channel chain 38', [['0.1646', '-0.3434', '-0.0118'], [['s'], ['h']]], [-0.0118, -0.1646, 0.3434]], ['regression: random channel chain 16', [['0.0125', '-0.322', '0.0664'], [['h'], ['ampdamp', '0.05']]], [0.064719, 0.313847, 0.061875]], ['control: random channel chain 9', [['0.2932', '0.3716', '-0.2949'], [['x'], ['bitflip', '0.2'], ['ampdamp', '0.3']]], [0.245309, -0.186542, 0.423858]], ['control: random channel chain 11', [['0.2608', '0.1361', '-0.2576'], [['x'], ['depol', '0.05']]], [0.24776, -0.129295, 0.24472]], ['control: random channel chain 12', [['0.3838', '0.2434', '0.1995'], [['x'], ['s'], ['depol', '0.5'], ['dephase', '0.05']]], [0.10953, 0.17271, -0.09975]], ['control: random channel chain 15', [['0.2915', '0.4987', '-0.2812'], [['ampdamp', '0.1'], ['s'], ['x']]], [-0.473108, -0.276541, 0.15308]]], [['regression: hadamard on y', [['0', '1', '0'], [['h']]], [0.0, -1.0, 0.0]], ['regression: random channel chain 1', [['0.2317', '0.4662', '-0.3393'], [['h'], ['ampdamp', '0.1'], ['h'], ['h']]], [-0.321888, -0.442276, 0.30853]], ['regression: random channel chain 28', [['-0.4727', '0.0368', '-0.4788'], [['h'], ['ampdamp', '0.2']]], [-0.428252, -0.032915, -0.17816]], ['control: random channel chain 17', [['0.1445', '-0.5422', '-0.0485'], [['s'], ['s'], ['dephase', '0.2'], ['dephase', '0.05']]], [-0.07803, 0.292788, -0.0485]], ['control: random channel chain 18', [['-0.3894', '0.6131', '-0.5953'], [['bitflip', '0.05']]], [-0.3894, 0.55179, -0.53577]], ['control: random channel chain 19', [['0.6907', '-0.2493', '0.6355'], [['depol', '0.5'], ['dephase', '0.05'], ['depol', '0.05']]], [0.295274, -0.106576, 0.301862]], ['control: random channel chain 20', [['0.1424', '0.3599', '0.436'], [['dephase', '0.3'], ['depol', '0.5']]], [0.02848, 0.07198, 0.218]]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: hadamard on y[0.0, 1.0, 0.0][0.0, -1.0, 0.0]Failed
regression: random channel chain 1[-0.321888, 0.442276, 0.30853][-0.321888, -0.442276, 0.30853]Failed
regression: random channel chain 5[0.06376, -0.29536, -0.4729][-0.06376, -0.29536, -0.4729]Failed
control: amplitude damping from |1>[0.0, 0.0, 0.0][0.0, 0.0, 0.0]Passed
control: dephasing plus state[0.5, 0.0, 0.0][0.5, 0.0, 0.0]Passed
control: bit flip on |0>[0.0, 0.0, 0.5][0.0, 0.0, 0.5]Passed
control: s on x[0.0, 1.0, 0.0][0.0, 1.0, 0.0]Passed

SHA-256 / acc190eb8fa047d2bbea7fddc4605067eab4279c431bf0473edab018d0d30b96

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(x):
    bx, by, bz = [float(v) for v in x[0]]
    for ch in x[1]:
        kind = ch[0]
        if kind == 'depol':
            p = float(ch[1])
            bx, by, bz = (1 - p) * bx, (1 - p) * by, (1 - p) * bz
        elif kind == 'dephase':
            p = float(ch[1])
            bx, by = (1 - 2 * p) * bx, (1 - 2 * p) * by
        elif kind == 'bitflip':
            p = float(ch[1])
            by, bz = (1 - 2 * p) * by, (1 - 2 * p) * bz
        elif kind == 'ampdamp':
            g = float(ch[1])
            s = math.sqrt(1 - g)
            bx, by, bz = s * bx, s * by, g + (1 - g) * bz
        elif kind == 'h':
            bx, by, bz = -bz, -by, -bx
        elif kind == 's':
            bx, by = -by, bx
        elif kind == 'x':
            by, bz = -by, -bz
    return [round(v, 6) + 0.0 for v in (bx, by, bz)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: hadamard on y', [['0', '1', '0'], [['h']]], [0.0, -1.0, 0.0]], ['regression: random channel chain 1', [['0.2317', '0.4662', '-0.3393'], [['h'], ['ampdamp', '0.1'], ['h'], ['h']]], [-0.321888, -0.442276, 0.30853]], ['regression: random channel chain 5', [['-0.4729', '-0.0797', '-0.3692'], [['h'], ['s'], ['dephase', '0.1']]], [-0.06376, -0.29536, -0.4729]], ['control: amplitude damping from |1>', [['0', '0', '-1'], [['ampdamp', '0.5']]], [0.0, 0.0, 0.0]], ['control: dephasing plus state', [['1', '0', '0'], [['dephase', '0.25']]], [0.5, 0.0, 0.0]], ['control: bit flip on |0>', [['0', '0', '1'], [['bitflip', '0.25']]], [0.0, 0.0, 0.5]], ['control: s on x', [['1', '0', '0'], [['s']]], [0.0, 1.0, 0.0]]], [['regression: random channel chain 8', [['0.255', '-0.4128', '-0.2664'], [['x'], ['dephase', '0.05'], ['h'], ['depol', '0.05']]], [0.25308, -0.352944, 0.218025]], ['regression: random channel chain 10', [['0.0325', '0.65', '0.2184'], [['depol', '0.2'], ['ampdamp', '0.05'], ['bitflip', '0.05'], ['h']]], [0.194386, -0.45615, 0.025342]], ['regression: random channel chain 13', [['-0.3842', '-0.4838', '0.2088'], [['h'], ['depol', '0.05']]], [0.19836, 0.45961, -0.36499]], ['control: x on |+i>', [['0', '1', '0'], [['x']]], [0.0, -1.0, 0.0]], ['control: depolarize', [['0.6', '0', '0.8'], [['depol', '0.1']]], [0.54, 0.0, 0.72]], ['control: random channel chain 0', [['0.0691', '-0.4004', '0.0791'], [['dephase', '0.2'], ['bitflip', '0.3'], ['s']]], [0.096096, 0.04146, 0.03164]], ['control: random channel chain 2', [['0.0766', '-0.6718', '0.0357'], [['s']]], [0.6718, 0.0766, 0.0357]]], [['regression: random channel chain 14', [['-0.1159', '-0.3227', '0.1975'], [['bitflip', '0.3'], ['h'], ['bitflip', '0.1'], ['dephase', '0.3']]], [0.0316, 0.041306, -0.09272]], ['regression: random channel chain 16', [['0.0125', '-0.322', '0.0664'], [['h'], ['ampdamp', '0.05']]], [0.064719, 0.313847, 0.061875]], ['regression: random channel chain 13', [['-0.3842', '-0.4838', '0.2088'], [['h'], ['depol', '0.05']]], [0.19836, 0.45961, -0.36499]], ['control: random channel chain 3', [['0.2389', '-0.1722', '0.2639'], [['dephase', '0.1'], ['bitflip', '0.2'], ['x']]], [0.19112, 0.082656, -0.15834]], ['control: random channel chain 4', [['-0.0477', '-0.2431', '-0.2391'], [['x'], ['depol', '0.5'], ['x'], ['bitflip', '0.1']]], [-0.02385, -0.09724, -0.09564]], ['control: random channel chain 6', [['0.394', '0.1792', '-0.6952'], [['x']]], [0.394, -0.1792, 0.6952]], ['control: random channel chain 7', [['0.2531', '-0.7095', '0.5685'], [['ampdamp', '0.2'], ['bitflip', '0.1'], ['dephase', '0.2'], ['x']]], [0.135828, 0.304606, -0.52384]]], [['regression: random channel chain 33', [['-0.1736', '-0.2281', '-0.3032'], [['ampdamp', '0.1'], ['h']]], [-0.17288, 0.216395, -0.164691]], ['regression: random channel chain 38', [['0.1646', '-0.3434', '-0.0118'], [['s'], ['h']]], [-0.0118, -0.1646, 0.3434]], ['regression: random channel chain 16', [['0.0125', '-0.322', '0.0664'], [['h'], ['ampdamp', '0.05']]], [0.064719, 0.313847, 0.061875]], ['control: random channel chain 9', [['0.2932', '0.3716', '-0.2949'], [['x'], ['bitflip', '0.2'], ['ampdamp', '0.3']]], [0.245309, -0.186542, 0.423858]], ['control: random channel chain 11', [['0.2608', '0.1361', '-0.2576'], [['x'], ['depol', '0.05']]], [0.24776, -0.129295, 0.24472]], ['control: random channel chain 12', [['0.3838', '0.2434', '0.1995'], [['x'], ['s'], ['depol', '0.5'], ['dephase', '0.05']]], [0.10953, 0.17271, -0.09975]], ['control: random channel chain 15', [['0.2915', '0.4987', '-0.2812'], [['ampdamp', '0.1'], ['s'], ['x']]], [-0.473108, -0.276541, 0.15308]]], [['regression: hadamard on y', [['0', '1', '0'], [['h']]], [0.0, -1.0, 0.0]], ['regression: random channel chain 1', [['0.2317', '0.4662', '-0.3393'], [['h'], ['ampdamp', '0.1'], ['h'], ['h']]], [-0.321888, -0.442276, 0.30853]], ['regression: random channel chain 28', [['-0.4727', '0.0368', '-0.4788'], [['h'], ['ampdamp', '0.2']]], [-0.428252, -0.032915, -0.17816]], ['control: random channel chain 17', [['0.1445', '-0.5422', '-0.0485'], [['s'], ['s'], ['dephase', '0.2'], ['dephase', '0.05']]], [-0.07803, 0.292788, -0.0485]], ['control: random channel chain 18', [['-0.3894', '0.6131', '-0.5953'], [['bitflip', '0.05']]], [-0.3894, 0.55179, -0.53577]], ['control: random channel chain 19', [['0.6907', '-0.2493', '0.6355'], [['depol', '0.5'], ['dephase', '0.05'], ['depol', '0.05']]], [0.295274, -0.106576, 0.301862]], ['control: random channel chain 20', [['0.1424', '0.3599', '0.436'], [['dephase', '0.3'], ['depol', '0.5']]], [0.02848, 0.07198, 0.218]]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: hadamard on y[0.0, -1.0, 0.0][0.0, -1.0, 0.0]Passed
regression: random channel chain 1[0.321888, -0.442276, -0.10853][-0.321888, -0.442276, 0.30853]Failed
regression: random channel chain 5[-0.06376, 0.29536, 0.4729][-0.06376, -0.29536, -0.4729]Failed
control: amplitude damping from |1>[0.0, 0.0, 0.0][0.0, 0.0, 0.0]Passed
control: dephasing plus state[0.5, 0.0, 0.0][0.5, 0.0, 0.0]Passed
control: bit flip on |0>[0.0, 0.0, 0.5][0.0, 0.0, 0.5]Passed
control: s on x[0.0, 1.0, 0.0][0.0, 1.0, 0.0]Passed

SHA-256 / e3b10c4c3a1069a5e6085533edb40b5322332068bce409e3cd8034f1a7ff5935

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(x):
    bx, by, bz = [float(v) for v in x[0]]
    for ch in x[1]:
        kind = ch[0]
        if kind == 'depol':
            p = float(ch[1])
            bx, by, bz = (1 - p) * bx, (1 - p) * by, (1 - p) * bz
        elif kind == 'dephase':
            p = float(ch[1])
            bx, by = (1 - 2 * p) * bx, (1 - 2 * p) * by
        elif kind == 'bitflip':
            p = float(ch[1])
            by, bz = (1 - 2 * p) * by, (1 - 2 * p) * bz
        elif kind == 'ampdamp':
            g = float(ch[1])
            s = math.sqrt(1 - g)
            bx, by, bz = s * bx, s * by, g + (1 - g) * bz
        elif kind == 'h':
            bx, by, bz = bz, -by, bx
        elif kind == 's':
            bx, by = -by, bx
        elif kind == 'x':
            by, bz = -by, -bz
    return [round(v, 6) + 0.0 for v in (bx, by, bz)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: hadamard on y', [['0', '1', '0'], [['h']]], [0.0, -1.0, 0.0]], ['regression: random channel chain 1', [['0.2317', '0.4662', '-0.3393'], [['h'], ['ampdamp', '0.1'], ['h'], ['h']]], [-0.321888, -0.442276, 0.30853]], ['regression: random channel chain 5', [['-0.4729', '-0.0797', '-0.3692'], [['h'], ['s'], ['dephase', '0.1']]], [-0.06376, -0.29536, -0.4729]], ['control: amplitude damping from |1>', [['0', '0', '-1'], [['ampdamp', '0.5']]], [0.0, 0.0, 0.0]], ['control: dephasing plus state', [['1', '0', '0'], [['dephase', '0.25']]], [0.5, 0.0, 0.0]], ['control: bit flip on |0>', [['0', '0', '1'], [['bitflip', '0.25']]], [0.0, 0.0, 0.5]], ['control: s on x', [['1', '0', '0'], [['s']]], [0.0, 1.0, 0.0]]], [['regression: random channel chain 8', [['0.255', '-0.4128', '-0.2664'], [['x'], ['dephase', '0.05'], ['h'], ['depol', '0.05']]], [0.25308, -0.352944, 0.218025]], ['regression: random channel chain 10', [['0.0325', '0.65', '0.2184'], [['depol', '0.2'], ['ampdamp', '0.05'], ['bitflip', '0.05'], ['h']]], [0.194386, -0.45615, 0.025342]], ['regression: random channel chain 13', [['-0.3842', '-0.4838', '0.2088'], [['h'], ['depol', '0.05']]], [0.19836, 0.45961, -0.36499]], ['control: x on |+i>', [['0', '1', '0'], [['x']]], [0.0, -1.0, 0.0]], ['control: depolarize', [['0.6', '0', '0.8'], [['depol', '0.1']]], [0.54, 0.0, 0.72]], ['control: random channel chain 0', [['0.0691', '-0.4004', '0.0791'], [['dephase', '0.2'], ['bitflip', '0.3'], ['s']]], [0.096096, 0.04146, 0.03164]], ['control: random channel chain 2', [['0.0766', '-0.6718', '0.0357'], [['s']]], [0.6718, 0.0766, 0.0357]]], [['regression: random channel chain 14', [['-0.1159', '-0.3227', '0.1975'], [['bitflip', '0.3'], ['h'], ['bitflip', '0.1'], ['dephase', '0.3']]], [0.0316, 0.041306, -0.09272]], ['regression: random channel chain 16', [['0.0125', '-0.322', '0.0664'], [['h'], ['ampdamp', '0.05']]], [0.064719, 0.313847, 0.061875]], ['regression: random channel chain 13', [['-0.3842', '-0.4838', '0.2088'], [['h'], ['depol', '0.05']]], [0.19836, 0.45961, -0.36499]], ['control: random channel chain 3', [['0.2389', '-0.1722', '0.2639'], [['dephase', '0.1'], ['bitflip', '0.2'], ['x']]], [0.19112, 0.082656, -0.15834]], ['control: random channel chain 4', [['-0.0477', '-0.2431', '-0.2391'], [['x'], ['depol', '0.5'], ['x'], ['bitflip', '0.1']]], [-0.02385, -0.09724, -0.09564]], ['control: random channel chain 6', [['0.394', '0.1792', '-0.6952'], [['x']]], [0.394, -0.1792, 0.6952]], ['control: random channel chain 7', [['0.2531', '-0.7095', '0.5685'], [['ampdamp', '0.2'], ['bitflip', '0.1'], ['dephase', '0.2'], ['x']]], [0.135828, 0.304606, -0.52384]]], [['regression: random channel chain 33', [['-0.1736', '-0.2281', '-0.3032'], [['ampdamp', '0.1'], ['h']]], [-0.17288, 0.216395, -0.164691]], ['regression: random channel chain 38', [['0.1646', '-0.3434', '-0.0118'], [['s'], ['h']]], [-0.0118, -0.1646, 0.3434]], ['regression: random channel chain 16', [['0.0125', '-0.322', '0.0664'], [['h'], ['ampdamp', '0.05']]], [0.064719, 0.313847, 0.061875]], ['control: random channel chain 9', [['0.2932', '0.3716', '-0.2949'], [['x'], ['bitflip', '0.2'], ['ampdamp', '0.3']]], [0.245309, -0.186542, 0.423858]], ['control: random channel chain 11', [['0.2608', '0.1361', '-0.2576'], [['x'], ['depol', '0.05']]], [0.24776, -0.129295, 0.24472]], ['control: random channel chain 12', [['0.3838', '0.2434', '0.1995'], [['x'], ['s'], ['depol', '0.5'], ['dephase', '0.05']]], [0.10953, 0.17271, -0.09975]], ['control: random channel chain 15', [['0.2915', '0.4987', '-0.2812'], [['ampdamp', '0.1'], ['s'], ['x']]], [-0.473108, -0.276541, 0.15308]]], [['regression: hadamard on y', [['0', '1', '0'], [['h']]], [0.0, -1.0, 0.0]], ['regression: random channel chain 1', [['0.2317', '0.4662', '-0.3393'], [['h'], ['ampdamp', '0.1'], ['h'], ['h']]], [-0.321888, -0.442276, 0.30853]], ['regression: random channel chain 28', [['-0.4727', '0.0368', '-0.4788'], [['h'], ['ampdamp', '0.2']]], [-0.428252, -0.032915, -0.17816]], ['control: random channel chain 17', [['0.1445', '-0.5422', '-0.0485'], [['s'], ['s'], ['dephase', '0.2'], ['dephase', '0.05']]], [-0.07803, 0.292788, -0.0485]], ['control: random channel chain 18', [['-0.3894', '0.6131', '-0.5953'], [['bitflip', '0.05']]], [-0.3894, 0.55179, -0.53577]], ['control: random channel chain 19', [['0.6907', '-0.2493', '0.6355'], [['depol', '0.5'], ['dephase', '0.05'], ['depol', '0.05']]], [0.295274, -0.106576, 0.301862]], ['control: random channel chain 20', [['0.1424', '0.3599', '0.436'], [['dephase', '0.3'], ['depol', '0.5']]], [0.02848, 0.07198, 0.218]]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: hadamard on y[0.0, -1.0, 0.0][0.0, -1.0, 0.0]Passed
regression: random channel chain 1[-0.321888, -0.442276, 0.30853][-0.321888, -0.442276, 0.30853]Passed
regression: random channel chain 5[-0.06376, -0.29536, -0.4729][-0.06376, -0.29536, -0.4729]Passed
control: amplitude damping from |1>[0.0, 0.0, 0.0][0.0, 0.0, 0.0]Passed
control: dephasing plus state[0.5, 0.0, 0.0][0.5, 0.0, 0.0]Passed
control: bit flip on |0>[0.0, 0.0, 0.5][0.0, 0.0, 0.5]Passed
control: s on x[0.0, 1.0, 0.0][0.0, 1.0, 0.0]Passed

SHA-256 / 4b5e6730ce8c857092727a9e6537d1ad1aea4ca1b3e01b36cb540136ca71e7a4

Verification & scope

A deterministic bounded teaching model with a stipulated toy contract; amplitudes are rounded to fixed decimals for strict JSON output. It is not a production quantum SDK and claims no standards conformance. 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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:51:34.315013+00:00.

Case digest / 21e357122ec6f46e9e0d617e340a18002f36f1c07c5ae279598d2226340d990e