# What is an OPU?¶

An Optical Processing Unit is an analog computation device that performs operations using light.

A monochromatic laser illuminates a digital micro-mirror device (DMD), which consists in a rectangular array of micro-mirrors. DMDs can display an image from the computer by turning micro-mirrors ON and OFF. The laser light is shaped and encodes digital information. The light beam goes through a random scattering medium and interferes randomly on the camera, which acquires the intensity of the incident light.

Using optics, we are performing a multiplication by a random matrix

$\mathbf{Y} = \lvert \mathbf{R} \mathbf{x} \rvert^2 \mbox{ with } \mathbf{R} \mbox{ with complex gaussian entries.}$

This operation is accelerated optically and can scale to very large dimensions.

For more details see Section III of Random Projections through multiple optical scattering: Approximating kernels at the speed of light.

## Understanding the output¶

The output recorded by the camera is a figure of diffraction, called a speckle.

The histogram of a theoretical speckle is a decreasing exponential. In our case, because we want to guarantee the independance of the pixels of the camera, we need the pixels to be of about the size of the speckle grains. For each pixel, the camera is doing a sampling of the speckle grains and low values cannot be found.