Tutorial Number 10
MAKING VORTEX LOOPS

In this example we are going to construct a pair of linked vortex loops. In doing so we will become acquainted with the construction of Laguerre-Gauss functions and their propagation. I have chosen to use the 512x512 screen default in the example because it is large enough to show what you need and small enough to run fast.

In this example we are going to construct a pair of linked vortex loops. In doing so we will become acquainted with the construction of Laguerre-Gauss functions and their propagation, as well as learn some things about computation effects.
If you set up the window as shown at the left you should get the results shown below. Try some variations.
This beam expands with distance according to the equation (there are versions of this equation in many places this is somewhat modified from Wikipedia) and undergoes both a quadratic phase shift with distance an a mode and distance dependent "Gouy" phase shift. That the rate of change with distance depends upon the size of the original LG function is shown in the following example.
figure 1
In this example we will be scanning the beam over the range from -80mm to 80mm in 1mm steps. So we need to first build a file containing this list of distances. We will do it using THE program.
Make the following script. Open the clip text icon's window and choose "COPY TEXT", "PUT TEXT TO FILE","ROW 0","FROM -80","TO 80","STEP 1" & click "REAL PART". When you close the window you will be asked to name the file and place it. I would call it "-80to80step1" the extension ".text" will be added. Run the script. It is hard to notice that it worked, so look in the finder to make sure the file is made. Now erase the script & make another.
Set the Gauss window to look like the one at the top of this page. Make both display windows to real part and colorize (for a start). Then set the chirp window to look like the one at the left. When you close the window you will be asked to select a file which will be read by this window to fill in a different distance on each cycle. Select the text file you created above.
The HOLD icon will stop execution until you press the space bar or click continue. Before you click continue you may look at the appearance of the imaginary, magnitude, and phase by choosing from the drop down menu above the main display. You should see something like the images below.
figure 2
real part
imaginary part
magnitude
phase
If you hit the space bar you can watch the LG function evolve as it progresses from -80 to 80 mm. As it passes through 0 you should briefly see the original function.
You will notice that if you start changing the parameters of the chirp icon, for example by decreasing the pixel spacing to 0.001 and 0.001 that the result looks strange as the when the distance goes beyond 40mm. This is because the fast Fresnel transform is accomplished through a convolution on a torus. So as the result passes beyond the boundary it rapes around to the other side (much like the "asteroids" video game) and causes interference with itself. So it looks much like waves sloshing in a pool. This would not happen if we used the "direct propagation" icon; but it's so much slower and, doesn't work for negative z values! If you change the pixel pitch to 0.002 and enter a z value of -80 and run, then you see what z≠0 does.

THE HOPF LINK
The script at the left is inspired by the article by J.Romero et. al.,
"Entangled Optical Vortex Links" PRL 106, 100407 (2011)
and previous papers by M.R.Dennis. The numbers are taken from this paper.
The script forms a weighted sum of 4 LG functions all have σ=66.67 pixels z=0 these are each multiplied by an appropriate weight saved and summed.
#1 l=0,n=0 weight=0.264
#2 l=0,n=1 weight=-0.628
#3 l=0,n=2 weight=0.426
#4 l=2,n=0 weight=-0.596
The weights are entered in the rescale icons beneath the Gauss icons.
The chirp icon is set the same as above.
As this executes you should see the two vortex pairs appear one of each pare circle the other and finally rejoin.
figure 3
Hopf magnitude
Hopf Phase
The numbers entered above are fairly carefully chosen. The smaller the Gaussian the more rapidly the phases and relative size evolve. This size is actually determined by the pixel separation entered in the Fresnel transform window. Having chosen to view over a range of 6 inches. one tries to pick a diameter that permits the phase to evolve without the size expanding beyond the screen.
"How do I make a hologram that produces this vortex" I here you cry. The answer is in the script at the left. It does most of the work of making a field of number that can be turned into an appropriate hologram. It also checks out the result.
The top four lines of the script are the same as before (you can clip and paste between scripts). The first HOLD stops to show you the result of the first four lines. Following that is a direct propagation to calculate the result of propagating 1755.4 mm. The complex conjugate produces the phase conjugate which is the hologram. Again you get to inspect the result. The script then proceeds to the familiar loop that follows the progression of the beam.
The DIRECT icon is used rather than the CHIRP because the former does not calculate by convolution on a torus, thereby letting us do a large scale change to the pixel size of the light valve. Figure 5 shows the settings for the first of these DIRECT icons. The pixel size at plane 2 is selected to be the pitch of our light valve. The pixel size in P1 is made a little smaller than the example above because the resulting hologram fills the screen a little better. The distance 1755.4 mm in the calculation is selected to keep the spacial frequency at the edge within the Nyquist limit.
figure 4
fig.5 LG to Hologram
fig.6 Hologram to Vortex
The settings of the second DIRECT icon are shown in figure 6. The Pixel spacing for plane 1 is the same as the light valve the pixel size is what we wish we had. Plane 2 has a slightly smaller pixel to make the vortex a little larger on the screen. This window has the "Batch file" box checked and needs a file of distances to run. So before we can fill this window in properly, we need to create such a file.
It is made much as the file above. In a new window make a script looking just like the one below fig. 1. This time the RESCALE icon multiplies by 0.5 + i0.0 and then adds 1755.4. The row of numbers saved to file runs from column -100 to +100. Save this to a new file name.
Notice that the distance 1755.4mm is right in the center of the list, the distance at which you expect the LG function to appear. Run it. This sure runs a lot slower than the chirp doesn't it?
It was not necessary to use the DIRECT icon to make the hologram. The LG icons could have been set to a negative distance (1755.4) the pixel pitch set to 0.042 and the σ set to around 2 pixels then skip the DIRECT and CONJUGATE icons.

That's the demo. The phase and amplitude structure of the hologram was present at the second hold. It's effectiveness demonstrated by the loop. How to actually put the hologram on a phase only device is a project for another tutorial.