Wavelength-division multiplexing optical Ising simulator enabling fully programmable spin couplings and external magnetic fields
Data files
Nov 03, 2023 version files 732.87 KB
-
ExperimentdataA.mat
-
ExperimentdataB.mat
-
ExperimentdataC.mat
-
PlotGraphA.m
-
PlotGraphB.m
-
PlotGraphC.m
-
README.md
Abstract
Recently various physical systems have been proposed for modeling Ising spin Hamiltonians appealing to solve combinatorial optimization problems with remarkable performance. However, how to implement arbitrary spin-spin interactions is a critical and challenging problem in various kinds of unconventional Ising machines. Here we propose a general gauge transformation scheme to enable arbitrary spin-spin interactions and external magnetic fields as well, by decomposing an Ising Hamiltonian into multiple Mattis-type interactions. Based on this scheme, a wavelength-division multiplexing spatial photonic Ising machine (SPIM) is developed to show the programmable capability of general spin coupling interactions. We exploit the wavelength-division multiplexing SPIM to simulate three spin systems: pm J models, Sherrington-Kirkpatrick models, and only locally connected J1/J2 models and observe the phase transitions among the spin-glass, the ferromagnetic, the paramagnetic and the stripe-antiferromagnetic phases. We also demonstrate the ground state search for solving the Max-Cut problem with the wavelength-division multiplexing SPIM. These results promise the realization of ultrafast-speed and high-power-efficiency Boltzmann sampling of a generalized large-scale Ising model.
README
These datasets include code as well as experimental data for analyzing the solution of the Max-cut problem.
Datasets included:
A) Experimentally collected data
- The three '.mat' files correspond to the experimental data for three graphs. For example, 'ExperimentdataA.mat' corresponds to the experimental data for graph A.
- In each '.mat' file, for the first row: the first column represents the element values of the interaction J, as a 16*16 matrix; the second column represents the values of the temperature during each annealing process as an array; and the third column is the number of iterations at each temperature; the fourth column represents the plotting index, i.e., the index of run taken from the total 100 experimental runs.
- In each '.mat' file, the third row shows the experimental results obtained from a complete experiment run. For the third row: the first column is the detected intensity during annealing process as an array; the second column is the Hamiltonian during annealing process as an array; the third column is the variation of 16 spin states during annealing process as an array.
- In each '.mat' file, the third to 102nd rows, respectively, represent 100 experimental runs.
B) Matlab Scripts
- Run 'PlotGraphA.m' file to plot the histograms of the obtained solutions in 100 runs and the evolution of the Hamiltonian for the eight of 100 runs at corresponding temperature for graph A.
- Run 'PlotGraphB.m' file to plot the histograms of the obtained solutions in 100 runs and the evolution of the Hamiltonian for the eight of 100 runs at corresponding temperature for graph B.
- Run 'PlotGraphC.m' file to plot the histograms of the obtained solutions in 100 runs and the evolution of the Hamiltonian for the eight of 100 runs at corresponding temperature for graph C.