{
  "schemaVersion": 1,
  "lessonId": "optimization-11",
  "contentHash": "885230e1c6579d0de2f25823226239c1f009704193cc86771883ac02aa1b67a7",
  "rendererHash": "a1bd5b648f4731ae5d5f0a24811c2540d1a0a132149ce589d17c4113509cbedf",
  "kind": "executed",
  "generatedAt": "2026-10-20T10:45:27.716408+00:00",
  "provenance": "recorded_cpu_computation",
  "environment": {
    "backend": "cpu",
    "deviceCount": 1,
    "jax": "0.9.2",
    "numpy": "2.4.4",
    "matplotlib": "3.10.8"
  },
  "stdout": "full gradient / single variance / pair variance: -2.5 1.25 0.625\nsample indices / sample gradient: [3 2] -3.5\n",
  "data": {
    "kind": "bar",
    "labels": [
      "batch 1",
      "batch 2",
      "batch 3"
    ],
    "ylabel": "gradient variance",
    "series": [
      {
        "label": "exact enumeration",
        "y": [
          1.25,
          0.625,
          0.4166666865348816
        ]
      }
    ]
  }
}
