{
  "schemaVersion": 1,
  "lessonId": "optimization-02",
  "contentHash": "616a8090bb257062b73fe11d64b5f732112bb7155aecaec1a9d904e73d8fb26d",
  "rendererHash": "a1bd5b648f4731ae5d5f0a24811c2540d1a0a132149ce589d17c4113509cbedf",
  "kind": "executed",
  "generatedAt": "2026-10-20T10:45:21.778706+00:00",
  "provenance": "recorded_cpu_computation",
  "environment": {
    "backend": "cpu",
    "deviceCount": 1,
    "jax": "0.9.2",
    "numpy": "2.4.4",
    "matplotlib": "3.10.8"
  },
  "stdout": "Finite difference: [-2.9999971  2.4999976]\nAutodiff: [-3.   2.5]\n",
  "data": {
    "kind": "line",
    "x": [
      9.99999993922529e-09,
      2.154435563284096e-08,
      4.641587025844274e-08,
      1.0000000116860974e-07,
      2.154433076384521e-07,
      4.641587167952821e-07,
      9.999999974752427e-07,
      2.154435378542985e-06,
      4.641587111109402e-06,
      1.0000010661315173e-05,
      2.1544330593314953e-05,
      4.641592386178672e-05,
      0.00010000005568144843,
      0.0002154435496777296,
      0.0004641589766833931,
      0.0010000005131587386,
      0.002154435496777296,
      0.00464158970862627,
      0.009999999776482582,
      0.02154434844851494,
      0.046415895223617554,
      0.10000000149011612
    ],
    "xscale": "log",
    "xlabel": "finite-difference step",
    "ylabel": "maximum absolute gradient error",
    "series": [
      {
        "label": "float32 central difference",
        "y": [
          3.0,
          3.0,
          3.0,
          1.0762786865234375,
          0.31992554664611816,
          0.08194470405578613,
          0.13897705078125,
          0.06539058685302734,
          0.008761405944824219,
          0.00407099723815918,
          0.0010106563568115234,
          0.0036275386810302734,
          0.0004961490631103516,
          0.0006558895111083984,
          0.0002713203430175781,
          0.00021886825561523438,
          1.1682510375976562e-05,
          3.6716461181640625e-05,
          2.86102294921875e-06,
          1.6689300537109375e-06,
          1.9073486328125e-06,
          1.9073486328125e-06
        ]
      }
    ],
    "yscale": "log"
  }
}
