TMM-Fast: A Transfer Matrix Computation Package for Multilayer Thin-Film
  Optimization
  Achieving the desired optical response from a multilayer thin-film structure
over a broad range of wavelengths and angles of incidence can be challenging.
An advanced thin-film structure can consist of multiple materials with
different thicknesses and numerous layers. Design and optimization of complex
thin-film structures with multiple variables is a computationally heavy problem
that is still under active research. To enable fast and easy experimentation
with new optimization techniques, we propose the Python package TMM-Fast which
enables parallelized computation of reflection and transmission of light at
different angles of incidence and wavelengths through the multilayer thin-film.
By decreasing computational time, generating datasets for machine learning
becomes feasible and evolutionary optimization can be used effectively.
Additionally, the sub-package TMM-Torch allows to directly compute analytical
gradients for local optimization by using PyTorch Autograd functionality.
Finally, an OpenAi Gym environment is presented which allows the user to train
reinforcement learning agents on the problem of finding multilayer thin-film
configurations.
