Skip to content

Blog· Trust

Every Number Has a Source — Evidence IDs, Acceptance Recomputation and Numerical Trust

When the AI reports a number, how do you know it isn't made up or out of date? The evidence id traces back to that real computation, and acceptance is recomputed independently with fixed standard sampling.

The LensBench TeamOct 17, 2026 · 3 min read

When the AI reports a number, how do you know it isn't made up or out of date?

Evidence ids ​

Every analysis result carries an evidence id, determined jointly by the model (the prescription and the resolved glass refractive-index data), the engine version, the kind of analysis and the sampling parameters. When the AI reports a number it must attach the evidence id, so you can trace the number to the real computation it came from; once the design has changed, old evidence is marked stale. The frame of a publication-quality figure also has the evidence id printed on it.

When writing a report, pack exports the report material in one go (figures, numbers pages, prescription / first-order / acceptance / manufacturability tables); once the report draft is written, check_report checks the numbers one by one against the evidence ids cited in the sentences. See the report pack.

Acceptance is kept separate from optimization ​

  • Your targets are written as specs, and optimization goals as a merit function; the two are kept separate.
  • verify independently recomputes every spec with fixed standard sampling. It does not trust the optimizer's self-reported "how much it improved": the optimizer saying things got better on its own sampling does not mean they got better by your acceptance convention. After changing a design, go by verify's verdict.
  • Quantities with dimensions must carry units (10um, 2%, 13deg), and ones without units are rejected outright.

Can the computation itself be trusted ​

The following are the conclusions of the validation report of 2026-10-16; for the latest numbers see the validation report:

  • Analytic golden references: all 42 checks pass, with expected values computed by independent formulas without calling LensBench.
  • Ray-by-ray reconciliation against an independent implementation: 29 open-source sample designs were rebuilt by round trip; for 27 of them the paraxial quantities and ray landing points match (tolerance 1e-9), and the other 2 are convention differences whose causes have been identified.
  • The item-by-item comparison with Zemax is still being filled in. Until then, we will not say "fully equivalent to Zemax".

Update of 2026-10-17: the comparison with Zemax has its first results: 3 comparison designs (Cooke triplet, 45° fold mirror, tilted plate) with 33 items in all, with expected values taken directly from Zemax and not passing through LensBench; first-order quantities, real rays, wavefront, spot size, aberrations and MTF are all within tolerance. The several convention differences found in the comparison were changed to agree with Zemax, and when an old file with Seidel operand targets is opened, you are prompted to convert them. Some settings have not been fully checked yet, so we still do not say "fully equivalent to Zemax". For the latest numbers see the validation report.

Docs ship with the software, same version; the reference sections are generated from code (Chinese only for now)