{
  "description": "Analytic 2D Airy-tail and linear inverse-problem teaching calculations.\n\nAll optical lengths are in lambda/NA. The Airy bound applies only to a\nnormalized, unaberrated, scalar, spatially incoherent circular-pupil model.\nThe matrix example is dimensionless and is not a calibrated OPC model.\n",
  "versions": {
    "numpy": "2.5.4",
    "scipy": "1.18.1"
  },
  "airy": {
    "first_zero": 0.6098349456332522,
    "first_zero_tail": 0.16221513082668565,
    "edge_budget": {
      "width_nm": 40,
      "nils": 2,
      "threshold": 0.25,
      "edge_nm": 0.2,
      "intensity": 0.0025
    },
    "radius_for_budget": 40.459150713219636,
    "checks": [
      {
        "radius": 0.6098349456332522,
        "analytic_tail": 0.16221513082668565,
        "finite_integral": 0.8377848691733144,
        "quadrature_error_estimate": 9.301280514387881e-15,
        "normalization_residual": 0.0
      },
      {
        "radius": 1,
        "analytic_tail": 0.09362825551755047,
        "finite_integral": 0.9063717444824498,
        "quadrature_error_estimate": 1.400043894988078e-12,
        "normalization_residual": 2.220446049250313e-16
      },
      {
        "radius": 5,
        "analytic_tail": 0.019944378026621273,
        "finite_integral": 0.9800556219733785,
        "quadrature_error_estimate": 1.0875199554068574e-14,
        "normalization_residual": -2.220446049250313e-16
      },
      {
        "radius": 10,
        "analytic_tail": 0.010051816033810758,
        "finite_integral": 0.989948183966189,
        "quadrature_error_estimate": 1.1304629778158328e-14,
        "normalization_residual": -2.220446049250313e-16
      },
      {
        "radius": 20,
        "analytic_tail": 0.0050459424320944265,
        "finite_integral": 0.9949540575679052,
        "quadrature_error_estimate": 1.1128352460741588e-14,
        "normalization_residual": -3.3306690738754696e-16
      },
      {
        "radius": 40.459150713219636,
        "analytic_tail": 0.0024999999999999996,
        "finite_integral": 0.9975000000000002,
        "quadrature_error_estimate": 1.9681928569152585e-13,
        "normalization_residual": 2.220446049250313e-16
      },
      {
        "radius": 100,
        "analytic_tail": 0.001012405869448443,
        "finite_integral": 0.9989875941305522,
        "quadrature_error_estimate": 3.1214446812711914e-14,
        "normalization_residual": 6.661338147750939e-16
      }
    ]
  },
  "matrix_cases": [
    {
      "alpha": 0.45,
      "size": 81,
      "condition_number": 18.868779219801173,
      "solution": [
        1.0684733008258227e-08,
        2.3743851129462725e-08,
        4.207938061277005e-08,
        6.976588356558182e-08,
        1.1295591619963397e-07,
        1.8124726354471589e-07,
        2.898157805664013e-07,
        4.627878043806203e-07,
        7.386015625016437e-07,
        1.1785490011785878e-06,
        1.880396217895218e-06,
        3.0001092608107854e-06,
        4.786513250573193e-06,
        7.636586851574088e-06,
        1.218367975292478e-05,
        1.9438257043814313e-05,
        3.1012447011107024e-05,
        4.9478291869756855e-05,
        7.893931269946376e-05,
        0.0001259424030179404,
        0.00020093269400707047,
        0.00032057469477554955,
        0.0005114555166052618,
        0.00081599311990281,
        0.0013018625276232049,
        0.0020770347192598675,
        0.003313770181843168,
        0.005286899018169394,
        0.008434894302977709,
        0.013457310544003294,
        0.02147024023925183,
        0.03425433443211189,
        0.05465050294321903,
        0.08719122766393039,
        0.13910778075440405,
        0.22193717401252305,
        0.3540859392734249,
        0.5649204688173102,
        0.9012928803205977,
        1.437952598561796,
        2.2941573387056162,
        1.4379525985617958,
        0.9012928803205974,
        0.5649204688173098,
        0.35408593927342463,
        0.2219371740125228,
        0.13910778075440386,
        0.08719122766393025,
        0.05465050294321893,
        0.034254334432111816,
        0.021470240239251787,
        0.013457310544003264,
        0.00843489430297769,
        0.005286899018169382,
        0.0033137701818431596,
        0.0020770347192598623,
        0.0013018625276232014,
        0.0008159931199028077,
        0.0005114555166052603,
        0.00032057469477554846,
        0.00020093269400706977,
        0.00012594240301793994,
        7.893931269946347e-05,
        4.9478291869756665e-05,
        3.10124470111069e-05,
        1.9438257043814235e-05,
        1.218367975292473e-05,
        7.636586851574054e-06,
        4.7865132505731705e-06,
        3.00010926081077e-06,
        1.8803962178952081e-06,
        1.1785490011785812e-06,
        7.386015625016394e-07,
        4.6278780438061744e-07,
        2.898157805663994e-07,
        1.8124726354471464e-07,
        1.1295591619963315e-07,
        6.976588356558129e-08,
        4.207938061276972e-08,
        2.3743851129462534e-08,
        1.068473300825814e-08
      ],
      "normalized_solution": [
        4.657367142171098e-09,
        1.0349704760380216e-08,
        1.8341976769784937e-08,
        3.0410243616919646e-08,
        4.923634237892537e-08,
        7.900385055847006e-08,
        1.2632776997323032e-07,
        2.017245271598195e-07,
        3.2194895704859076e-07,
        5.137175996148265e-07,
        8.196457087621349e-07,
        1.3077173087454732e-06,
        2.086392755116694e-06,
        3.328711035958291e-06,
        5.310742880346175e-06,
        8.472939809255432e-06,
        1.3518012251332561e-05,
        2.1567087415928038e-05,
        3.440884867295197e-05,
        5.489702074618745e-05,
        8.758453076302014e-05,
        0.00013973526983830176,
        0.00022293829109987264,
        0.0003556831548280819,
        0.0005674687196291983,
        0.0009053584443479141,
        0.0014444389344772778,
        0.002304505854490481,
        0.0036766851866126805,
        0.0058659056713154765,
        0.009358660749643933,
        0.014931118216782153,
        0.023821601954316405,
        0.03800577501503208,
        0.06063567585686599,
        0.096740171333559,
        0.154342482662154,
        0.24624312347122768,
        0.39286445838501866,
        0.6267890062732583,
        1.0,
        0.6267890062732582,
        0.39286445838501854,
        0.24624312347122754,
        0.15434248266215386,
        0.09674017133355889,
        0.0606356758568659,
        0.038005775015032016,
        0.02382160195431636,
        0.01493111821678212,
        0.009358660749643912,
        0.0058659056713154635,
        0.003676685186612672,
        0.002304505854490476,
        0.0014444389344772744,
        0.0009053584443479119,
        0.0005674687196291967,
        0.0003556831548280809,
        0.000222938291099872,
        0.0001397352698383013,
        8.758453076301985e-05,
        5.4897020746187245e-05,
        3.440884867295184e-05,
        2.1567087415927956e-05,
        1.3518012251332508e-05,
        8.472939809255398e-06,
        5.310742880346153e-06,
        3.3287110359582766e-06,
        2.086392755116684e-06,
        1.3077173087454666e-06,
        8.196457087621306e-07,
        5.137175996148237e-07,
        3.219489570485889e-07,
        2.0172452715981825e-07,
        1.263277699732295e-07,
        7.900385055846952e-08,
        4.9236342378925015e-08,
        3.0410243616919414e-08,
        1.8341976769784795e-08,
        1.0349704760380133e-08,
        4.65736714217106e-09
      ],
      "equation_residual": 3.3306690738754696e-16
    },
    {
      "alpha": 0.49,
      "size": 81,
      "condition_number": 95.52909106750263,
      "solution": [
        0.0005230266299256064,
        0.001067401285562462,
        0.0016553433406100305,
        0.0023108504299682122,
        0.0030606779450393826,
        0.0039354310905203235,
        0.004970814076430666,
        0.006209087432807567,
        0.007700792929299064,
        0.00950681650453746,
        0.011700873406491672,
        0.014372516978098606,
        0.017630793895750382,
        0.021608695054045033,
        0.026468583765566014,
        0.0324088228348652,
        0.03967187099946501,
        0.048554179204859306,
        0.05941829064310501,
        0.07270763843413053,
        0.0889646449367532,
        0.10885286143679436,
        0.13318405187303123,
        0.16295132605918777,
        0.1993696747783724,
        0.243925561243613,
        0.2984375930657358,
        0.3651307511354397,
        0.4467272051698554,
        0.5465574226805918,
        0.6686961064231891,
        0.8181285087953044,
        1.0009539115264119,
        1.2246345759524748,
        1.4983003251112919,
        1.8331211895807744,
        2.24276332709437,
        2.7439468248975323,
        3.357128152288349,
        4.107335118548079,
        5.0251884161771185,
        4.1073351185480815,
        3.357128152288353,
        2.7439468248975363,
        2.242763327094374,
        1.8331211895807777,
        1.498300325111295,
        1.2246345759524773,
        1.0009539115264137,
        0.8181285087953062,
        0.6686961064231907,
        0.546557422680593,
        0.44672720516985637,
        0.36513075113544047,
        0.2984375930657365,
        0.2439255612436136,
        0.1993696747783729,
        0.16295132605918822,
        0.13318405187303162,
        0.10885286143679468,
        0.08896464493675345,
        0.07270763843413074,
        0.05941829064310521,
        0.04855417920485946,
        0.039671870999465134,
        0.032408822834865306,
        0.0264685837655661,
        0.02160869505404511,
        0.01763079389575045,
        0.01437251697809866,
        0.011700873406491714,
        0.009506816504537495,
        0.007700792929299093,
        0.006209087432807592,
        0.004970814076430688,
        0.003935431090520342,
        0.003060677945039396,
        0.0023108504299682226,
        0.0016553433406100379,
        0.0010674012855624668,
        0.0005230266299256087
      ],
      "normalized_solution": [
        0.00010408099888192763,
        0.00021241020179985234,
        0.00032940920887287306,
        0.00045985348977743956,
        0.0006090673008770037,
        0.0007831410018082822,
        0.0009891796415888786,
        0.0012355929606180005,
        0.0015324386453866331,
        0.0018918328462934953,
        0.002328444714396011,
        0.002860095142269792,
        0.003508484147379075,
        0.00430007658707526,
        0.005267182356856149,
        0.0064492751616107595,
        0.007894603687247441,
        0.00966216093481259,
        0.011824092098084377,
        0.014468639265359611,
        0.017703743137343398,
        0.021661448770035077,
        0.02650329516885064,
        0.032426908717415215,
        0.03967406956056817,
        0.04854058018170349,
        0.059388338973520596,
        0.0726601116009916,
        0.08889760306931942,
        0.10876356813231335,
        0.13306886250683025,
        0.16280553902448314,
        0.19918733958395166,
        0.24369923563664267,
        0.29815803926633955,
        0.36478655878445854,
        0.44630432559990224,
        0.5460385955010565,
        0.6680601550144987,
        0.8173494759571043,
        1.0,
        0.8173494759571048,
        0.6680601550144994,
        0.5460385955010573,
        0.4463043255999031,
        0.36478655878445915,
        0.29815803926634016,
        0.24369923563664317,
        0.19918733958395202,
        0.16280553902448347,
        0.13306886250683056,
        0.10876356813231358,
        0.08889760306931961,
        0.07266011160099176,
        0.05938833897352073,
        0.04854058018170361,
        0.03967406956056827,
        0.032426908717415305,
        0.026503295168850718,
        0.02166144877003514,
        0.017703743137343447,
        0.014468639265359651,
        0.011824092098084415,
        0.009662160934812621,
        0.007894603687247466,
        0.00644927516161078,
        0.005267182356856167,
        0.004300076587075275,
        0.003508484147379088,
        0.0028600951422698027,
        0.002328444714396019,
        0.0018918328462935023,
        0.001532438645386639,
        0.0012355929606180055,
        0.000989179641588883,
        0.0007831410018082858,
        0.0006090673008770064,
        0.0004598534897774416,
        0.0003294092088728745,
        0.00021241020179985328,
        0.0001040809988819281
      ],
      "equation_residual": 8.881784197001252e-16
    }
  ]
}
