Optiland v0.4.0 Release Notes
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 betweennumpy
andtorch
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 newToroidalSurface
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!