/photontorch_paper

Data and visualizations for the photontorch paper (Scientific Reports)

Primary LanguageJupyter Notebook

photontorch is now open-source on GitHub: http://github.com/flaport/photontorch

photontorch_paper

Laporte, Floris, Joni Dambre, and Peter Bienstman. "Highly parallel simulation and optimization of photonic circuits in time and frequency domain based on the deep-learning framework PyTorch." Scientific reports 9.1 (2019): 5918.

Photontorch has evolved...

The Photontorch API has evolved since the writing of this paper. Most of the notebooks won't run with the newest photontorch version. To run the notebooks in this repository, install photontorch via the photontorch_paper branch:

pip install git+https://github.com/flaport/photontorch.git@photontorch_paper

Optimization Simulations

CROW optimization

  • filter_design.ipynb: notebook that optimizes the CROW.
  • crow folder: folder containing the losses during training and the final band-pass filter obtained byt the CROW optimization

Reservoir optimization

  • xor_swirl.ipynb: notebook that optimizes a single reservoir to perform the XOR on bits in a bit stream.
  • xor_swirl_cascaded.ipynb: notebook that optimizes a cascaded reservoir to perform the XOR on bits in a bit stream.
  • xor_swirl_plot.ipynb: notebook that makes the plot used in the paper.
  • reservoir_losses: folder containing the learning curves and detected streams for the reservoir optimization.

Unitary Matrix optimization

Performance Simulations

Visualization

  • FrequencyDomain.ipynb: notebook containing performance visualizations for the frequency domain simulations
  • TimeDomain.ipynb: notebook containing performance visualizations for the time domain simulations
  • Combined.ipynb: notebook containing performance visualizations for both the time domain simulations and the frequency domain simulations.

Photontorch CROW

Caphe CROW

Interconnect CROW