Skip to content

v0.4.0 (May 2, 2025)

Latest
Compare
Choose a tag to compare
@HarrisonKramer HarrisonKramer released this 02 May 13:39
· 84 commits to master since this release

Optiland v0.4.0 Release Notes

optiland_plus_pytorch

This release marks a major step toward deeper numerical flexibility and performance optimization. v0.4.0 introduces official support for PyTorch as a computational backend, enabling seamless switching between NumPy and PyTorch across the entire codebase - along with targeted enhancements in modeling capabilities and documentation. Here's what’s new:


Backend Abstraction & PyTorch Integration

  • PyTorch Backend Support
    Optiland now officially supports PyTorch as a backend! All core computations can now be performed using PyTorch tensors, enabling GPU acceleration and autograd-based differentiable optics workflows. This update enables a more than 100x increase in raytracing speed when run on GPU.

  • Configurable Backend System
    A new abstraction layer allows you to switch between numpy and torch backends with zero changes to your code. This lays the groundwork for future machine learning integrations and high-performance computing.

  • Torch Backend Documentation
    Documentation added to help users get started with the new backend. See the Configurable Backend Guide for more details.


Optical Modeling Features

  • Toroidal Surface Support
    Added a new ToroidalSurface type, useful for modeling astigmatic or freeform-like systems such as ophthalmic lenses and laser beam shaping components. More details here.

Maintenance and Quality

  • Bug Fixes
    Various small bugs were fixed across the codebase, improving robustness and numerical consistency, especially when switching backends.

  • Improved Documentation
    Additional examples and backend usage patterns have been added to the documentation. More tutorials are currently planned.


This release strengthens Optiland's foundations for high-performance optical design and simulation in both research and production contexts. Let us know what you build with it!