FAILURE MAP
← Case archive

FA-91246 / Quantum circuit simulation / Open access

Amplitude damping shrinks coherences linearly · case 01

Coherences decay as (1-g) instead of sqrt(1-g), so T2 appears equal to T1/2 everywhere.

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

ROOT CAUSE

The x and y components are multiplied by (1-g) instead of sqrt(1-g).

VERIFIED REPAIR

Scale x and y by sqrt(1-g).

Unsuccessful approach: The attempted repair applies sqrt(1-g) to x only.

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 = 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: 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 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 9', [['0.2932', '0.3716', '-0.2949'], [['x'], ['bitflip', '0.2'], ['ampdamp', '0.3']]], [0.245309, -0.186542, 0.423858]], ['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: hadamard on y', [['0', '1', '0'], [['h']]], [0.0, -1.0, 0.0]]], [['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 15', [['0.2915', '0.4987', '-0.2812'], [['ampdamp', '0.1'], ['s'], ['x']]], [-0.473108, -0.276541, 0.15308]], ['regression: random channel chain 9', [['0.2932', '0.3716', '-0.2949'], [['x'], ['bitflip', '0.2'], ['ampdamp', '0.3']]], [0.245309, -0.186542, 0.423858]], ['control: s on x', [['1', '0', '0'], [['s']]], [0.0, 1.0, 0.0]], ['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]]], [['regression: random channel chain 26', [['-0.4382', '0.0441', '-0.3433'], [['depol', '0.1'], ['bitflip', '0.5'], ['ampdamp', '0.2']]], [-0.352744, 0.0, 0.2]], ['regression: random channel chain 27', [['-0.2675', '0.148', '0.3339'], [['s'], ['dephase', '0.1'], ['dephase', '0.05'], ['ampdamp', '0.1']]], [-0.101092, -0.182716, 0.40051]], ['regression: random channel chain 15', [['0.2915', '0.4987', '-0.2812'], [['ampdamp', '0.1'], ['s'], ['x']]], [-0.473108, -0.276541, 0.15308]], ['control: random channel chain 2', [['0.0766', '-0.6718', '0.0357'], [['s']]], [0.6718, 0.0766, 0.0357]], ['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 5', [['-0.4729', '-0.0797', '-0.3692'], [['h'], ['s'], ['dephase', '0.1']]], [-0.06376, -0.29536, -0.4729]]], [['regression: random channel chain 32', [['0.089', '-0.4706', '-0.3715'], [['ampdamp', '0.2'], ['bitflip', '0.3'], ['ampdamp', '0.3']]], [0.066602, -0.140866, 0.272784]], ['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 27', [['-0.2675', '0.148', '0.3339'], [['s'], ['dephase', '0.1'], ['dephase', '0.05'], ['ampdamp', '0.1']]], [-0.101092, -0.182716, 0.40051]], ['control: random channel chain 6', [['0.394', '0.1792', '-0.6952'], [['x']]], [0.394, -0.1792, 0.6952]], ['control: random channel chain 8', [['0.255', '-0.4128', '-0.2664'], [['x'], ['dephase', '0.05'], ['h'], ['depol', '0.05']]], [0.25308, -0.352944, 0.218025]], ['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]]], [['regression: random channel chain 42', [['-0.1465', '0.5217', '-0.7391'], [['bitflip', '0.2'], ['x'], ['s'], ['ampdamp', '0.05']]], [0.305094, -0.142791, 0.471287]], ['regression: random channel chain 44', [['-0.8194', '0.3314', '0.4424'], [['h'], ['ampdamp', '0.5'], ['h'], ['depol', '0.05']]], [0.085785, 0.222618, 0.297183]], ['regression: random channel chain 32', [['0.089', '-0.4706', '-0.3715'], [['ampdamp', '0.2'], ['bitflip', '0.3'], ['ampdamp', '0.3']]], [0.066602, -0.140866, 0.272784]], ['control: random channel chain 13', [['-0.3842', '-0.4838', '0.2088'], [['h'], ['depol', '0.05']]], [0.19836, 0.45961, -0.36499]], ['control: 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]], ['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]]]]
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: random channel chain 1[-0.30537, -0.41958, 0.30853][-0.321888, -0.442276, 0.30853]Failed
regression: random channel chain 7[0.121488, 0.272448, -0.52384][0.135828, 0.304606, -0.52384]Failed
regression: random channel chain 9[0.20524, -0.156072, 0.423858][0.245309, -0.186542, 0.423858]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: hadamard on y[0.0, -1.0, 0.0][0.0, -1.0, 0.0]Passed

SHA-256 / 8b14d0df6f70a853a51cec76b1e8bc54b8a9dea97179200cbf115498bd30eb21

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, (1 - g) * 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: 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 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 9', [['0.2932', '0.3716', '-0.2949'], [['x'], ['bitflip', '0.2'], ['ampdamp', '0.3']]], [0.245309, -0.186542, 0.423858]], ['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: hadamard on y', [['0', '1', '0'], [['h']]], [0.0, -1.0, 0.0]]], [['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 15', [['0.2915', '0.4987', '-0.2812'], [['ampdamp', '0.1'], ['s'], ['x']]], [-0.473108, -0.276541, 0.15308]], ['regression: random channel chain 9', [['0.2932', '0.3716', '-0.2949'], [['x'], ['bitflip', '0.2'], ['ampdamp', '0.3']]], [0.245309, -0.186542, 0.423858]], ['control: s on x', [['1', '0', '0'], [['s']]], [0.0, 1.0, 0.0]], ['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]]], [['regression: random channel chain 26', [['-0.4382', '0.0441', '-0.3433'], [['depol', '0.1'], ['bitflip', '0.5'], ['ampdamp', '0.2']]], [-0.352744, 0.0, 0.2]], ['regression: random channel chain 27', [['-0.2675', '0.148', '0.3339'], [['s'], ['dephase', '0.1'], ['dephase', '0.05'], ['ampdamp', '0.1']]], [-0.101092, -0.182716, 0.40051]], ['regression: random channel chain 15', [['0.2915', '0.4987', '-0.2812'], [['ampdamp', '0.1'], ['s'], ['x']]], [-0.473108, -0.276541, 0.15308]], ['control: random channel chain 2', [['0.0766', '-0.6718', '0.0357'], [['s']]], [0.6718, 0.0766, 0.0357]], ['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 5', [['-0.4729', '-0.0797', '-0.3692'], [['h'], ['s'], ['dephase', '0.1']]], [-0.06376, -0.29536, -0.4729]]], [['regression: random channel chain 32', [['0.089', '-0.4706', '-0.3715'], [['ampdamp', '0.2'], ['bitflip', '0.3'], ['ampdamp', '0.3']]], [0.066602, -0.140866, 0.272784]], ['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 27', [['-0.2675', '0.148', '0.3339'], [['s'], ['dephase', '0.1'], ['dephase', '0.05'], ['ampdamp', '0.1']]], [-0.101092, -0.182716, 0.40051]], ['control: random channel chain 6', [['0.394', '0.1792', '-0.6952'], [['x']]], [0.394, -0.1792, 0.6952]], ['control: random channel chain 8', [['0.255', '-0.4128', '-0.2664'], [['x'], ['dephase', '0.05'], ['h'], ['depol', '0.05']]], [0.25308, -0.352944, 0.218025]], ['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]]], [['regression: random channel chain 42', [['-0.1465', '0.5217', '-0.7391'], [['bitflip', '0.2'], ['x'], ['s'], ['ampdamp', '0.05']]], [0.305094, -0.142791, 0.471287]], ['regression: random channel chain 44', [['-0.8194', '0.3314', '0.4424'], [['h'], ['ampdamp', '0.5'], ['h'], ['depol', '0.05']]], [0.085785, 0.222618, 0.297183]], ['regression: random channel chain 32', [['0.089', '-0.4706', '-0.3715'], [['ampdamp', '0.2'], ['bitflip', '0.3'], ['ampdamp', '0.3']]], [0.066602, -0.140866, 0.272784]], ['control: random channel chain 13', [['-0.3842', '-0.4838', '0.2088'], [['h'], ['depol', '0.05']]], [0.19836, 0.45961, -0.36499]], ['control: 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]], ['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]]]]
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: random channel chain 1[-0.321888, -0.41958, 0.30853][-0.321888, -0.442276, 0.30853]Failed
regression: random channel chain 7[0.135828, 0.272448, -0.52384][0.135828, 0.304606, -0.52384]Failed
regression: random channel chain 9[0.245309, -0.156072, 0.423858][0.245309, -0.186542, 0.423858]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: hadamard on y[0.0, -1.0, 0.0][0.0, -1.0, 0.0]Passed

SHA-256 / 75b0b4afc7d48cf33e42e272c0a82ecc9cb0dd6eb7911a0319a90f42ea25ddec

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: 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 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 9', [['0.2932', '0.3716', '-0.2949'], [['x'], ['bitflip', '0.2'], ['ampdamp', '0.3']]], [0.245309, -0.186542, 0.423858]], ['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: hadamard on y', [['0', '1', '0'], [['h']]], [0.0, -1.0, 0.0]]], [['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 15', [['0.2915', '0.4987', '-0.2812'], [['ampdamp', '0.1'], ['s'], ['x']]], [-0.473108, -0.276541, 0.15308]], ['regression: random channel chain 9', [['0.2932', '0.3716', '-0.2949'], [['x'], ['bitflip', '0.2'], ['ampdamp', '0.3']]], [0.245309, -0.186542, 0.423858]], ['control: s on x', [['1', '0', '0'], [['s']]], [0.0, 1.0, 0.0]], ['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]]], [['regression: random channel chain 26', [['-0.4382', '0.0441', '-0.3433'], [['depol', '0.1'], ['bitflip', '0.5'], ['ampdamp', '0.2']]], [-0.352744, 0.0, 0.2]], ['regression: random channel chain 27', [['-0.2675', '0.148', '0.3339'], [['s'], ['dephase', '0.1'], ['dephase', '0.05'], ['ampdamp', '0.1']]], [-0.101092, -0.182716, 0.40051]], ['regression: random channel chain 15', [['0.2915', '0.4987', '-0.2812'], [['ampdamp', '0.1'], ['s'], ['x']]], [-0.473108, -0.276541, 0.15308]], ['control: random channel chain 2', [['0.0766', '-0.6718', '0.0357'], [['s']]], [0.6718, 0.0766, 0.0357]], ['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 5', [['-0.4729', '-0.0797', '-0.3692'], [['h'], ['s'], ['dephase', '0.1']]], [-0.06376, -0.29536, -0.4729]]], [['regression: random channel chain 32', [['0.089', '-0.4706', '-0.3715'], [['ampdamp', '0.2'], ['bitflip', '0.3'], ['ampdamp', '0.3']]], [0.066602, -0.140866, 0.272784]], ['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 27', [['-0.2675', '0.148', '0.3339'], [['s'], ['dephase', '0.1'], ['dephase', '0.05'], ['ampdamp', '0.1']]], [-0.101092, -0.182716, 0.40051]], ['control: random channel chain 6', [['0.394', '0.1792', '-0.6952'], [['x']]], [0.394, -0.1792, 0.6952]], ['control: random channel chain 8', [['0.255', '-0.4128', '-0.2664'], [['x'], ['dephase', '0.05'], ['h'], ['depol', '0.05']]], [0.25308, -0.352944, 0.218025]], ['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]]], [['regression: random channel chain 42', [['-0.1465', '0.5217', '-0.7391'], [['bitflip', '0.2'], ['x'], ['s'], ['ampdamp', '0.05']]], [0.305094, -0.142791, 0.471287]], ['regression: random channel chain 44', [['-0.8194', '0.3314', '0.4424'], [['h'], ['ampdamp', '0.5'], ['h'], ['depol', '0.05']]], [0.085785, 0.222618, 0.297183]], ['regression: random channel chain 32', [['0.089', '-0.4706', '-0.3715'], [['ampdamp', '0.2'], ['bitflip', '0.3'], ['ampdamp', '0.3']]], [0.066602, -0.140866, 0.272784]], ['control: random channel chain 13', [['-0.3842', '-0.4838', '0.2088'], [['h'], ['depol', '0.05']]], [0.19836, 0.45961, -0.36499]], ['control: 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]], ['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]]]]
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: random channel chain 1[-0.321888, -0.442276, 0.30853][-0.321888, -0.442276, 0.30853]Passed
regression: random channel chain 7[0.135828, 0.304606, -0.52384][0.135828, 0.304606, -0.52384]Passed
regression: random channel chain 9[0.245309, -0.186542, 0.423858][0.245309, -0.186542, 0.423858]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: hadamard on y[0.0, -1.0, 0.0][0.0, -1.0, 0.0]Passed

SHA-256 / bd05acec5dea9d3c620407ada9a852c86de973d0a3fcee3b1002df262f5c9b89

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.225396+00:00.

Case digest / 70b29cf5b87d3f7117e3d970c1bf2653e4a9358065494c4b788f7fa93be0ccf3