Apparatus ‐ Quantum Optics ‐ Project Redstone - UMassIonTrappers/PyOpticL GitHub Wiki
SCALABLE OPTICAL DESIGN
Script-based optical design enables new paradigms of scalable optical layout through inheritance of the scalable nature of code. To showcase this, we used PyOpticL to roughly recreate the layout from an optical interferometry experiment (https://arxiv.org/abs/2012.01625) designed to demonstrate quantum supremacy through Boson Sampling. The experiment used custom vertical arrays ( 6 × 6 ) of optical elements and input layouts of sets of 50 optical elements. We hope that this example inspires more creative applications of PyOpticL with sophisticated 3D routing between modular baseplates.
for i in range(6):
row = []
for j in range(6):
row.append(
origin.place(
Beam(
f"beam{i}{j}",
position=(
(-i * np.sqrt(2) * INCH),
(i * np.sqrt(2) * INCH),
(j * 2 * INCH),
),
direction=(-1, -1, 0),
)
)
)
beams.append(row)
3D ray tracing:
Full 'redstone' quantum computer:
for i in range(len(beams)):
for j in range(len(beams[i])):
if i == j == 0:
corner = beams[i][j].placeAlong(
optomech.CircularTransmission(
f"corner_ref", radius=0 * INCH, thickness=0
),
distance=0 * INCH,
normal=(-1, -1, 0),
)
plate1 = corner.place(
Baseplate(
"plate1",
( -0.5 * INCH, INCH, -1.5 * INCH),
(180, 0, 0),
INCH,
12 * INCH,
13 * INCH,
)
)
beams[i][j].placeAlong(
optomech.CircularTransmission(
f"input{i}{j}",
thickness=25,
radius=.25*INCH,
mount_class=optomech.Km05ForRedstone,
drills=plate1,
),
distance=0,
normal=(-1, -1, 0),
)
else:
beams[i][j].placeAlong(
optomech.CircularTransmission(
f"input{i}{j}",
thickness=25,
radius=.25*INCH,
mount_class=optomech.Km05ForRedstone,
drills=plate1,
),
distance=0,
normal=(-1, -1, 0),
)