{ "cells": [ { "cell_type": "markdown", "id": "d06baf83", "metadata": {}, "source": [ "# SOQCS Example 5: Partial distinguishability." ] }, { "cell_type": "markdown", "id": "1ca2492b", "metadata": {}, "source": [ "<p style='text-align: justify;'> We simulate a circuit made of a single balanced beamsplitter with three photons of Gaussian shape in each of the input channels. This is a | 3, 3 > input. We consider the time, frequency and width given in random adimensional units. At the output we print the probability of having the outcomes | 3, 3 >, | 4, 2 >, | 5, 1> and |6, 0 > in the two different channels depending on the delay time between them. We reproduce here numerically the analytical result presented in figure 12a of ref. [1].</p>\n", "\n", "[1] M. C. Tichy, Interference of identical particles from entanglement to boson-sampling, **Journal of Physics B: Atomic, Molecular and Optical Physics 47 (10)** (2014) 103001.\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "5f976a0f", "metadata": {}, "outputs": [], "source": [ "import soqcs" ] }, { "cell_type": "markdown", "id": "5e98ec10", "metadata": {}, "source": [ "## Building a plotting function with a SOQCS circuit" ] }, { "cell_type": "markdown", "id": "8a09c256", "metadata": {}, "source": [ "<p style='text-align: justify;'> Next, we build a function that contains the calculation of the probability of various photons to be found in different channels at the output of a beamsplitter. The probability is calculated for a specific outcome. Its occupation is provided to the function as parameters. a relative delay dt between them. </p>\n", "<p style='text-align: justify;'> <b>Note 1: </b> This is not the most efficient implementation. All the objects have to be recreated for each point calculation and only one probability is returned at a time (even if various have been calculated). This code is implemented for demonstration purposes therefore it is intended to be simple. </p>\n", "<p style='text-align: justify;'> <b>Note 2: </b> The number of packets is the number of different single photon wavefunctions found in the simulation. In this case six different photons arrive at two different times therefore there are two possible packets. </p>" ] }, { "cell_type": "code", "execution_count": 2, "id": "9d83d972", "metadata": {}, "outputs": [], "source": [ "def HOMP(dt,args):\n", " # Build the circuit\n", " example = soqcs.qodev(nph=6, # Number of photons\n", " nch=2, # Number of channels\n", " nm=1, # Number of polarizations\n", " ns=2, # Number of packets\n", " clock=0, # Detectors are configured as counters\n", " R=10000, # Number of iterations to calculate detector effects.\n", " loss=True); # Calculation of losses = True \n", " # Add photons with gaussian wavefunction \n", " # at time t, frequency f and gaussian width w\n", " example.add_photons(3, 0, t =0.0, f=1.0, w=1.0)\n", " example.add_photons(3, 1, t = dt, f=1.0, w=1.0) \n", " # Beamsplitter\n", " example.beamsplitter(0,1,45.0,0.0)\n", " # Detectors\n", " example.detector(0)\n", " example.detector(1)\n", " \n", " # Create a simulator and run the simulation\n", " sim=soqcs.simulator()\n", " measured=sim.run(example)\n", " \n", " # Calculate the probability\n", " och0=3+args[0]\n", " och1=3-args[0]\n", " term=[[ 0 , 1], # Channels\n", " [ 0 , 0], # Polarization\n", " [ 0 , 0], # Package (it has to be 0 because we have configures detctors as counters)\n", " [ och0, och1]] # Occupation\n", " prob=measured.prob(term,example) \n", " \n", " # Return the probabiity\n", " return prob" ] }, { "cell_type": "markdown", "id": "ff6a14ee", "metadata": {}, "source": [ "## Plotting the function" ] }, { "cell_type": "markdown", "id": "5ac4d1a6", "metadata": {}, "source": [ "This is the main program where the probability of the different outcomes is plotted.\n", "\n", " * $| 3, 3 >$: Black\n", " * $| 4, 2 >$: Red\n", " * $| 5, 1 >$: Green\n", " * $| 6, 0 >$: Yellow" ] }, { "cell_type": "code", "execution_count": 3, "id": "db55791c", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x360 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "dtm=4 # Max/Min limit of dt in the plot\n", "soqcs.plot(HOMP, 6, 5,'dt',-dtm, dtm, 5 , 'P',0.0 , 0.3, 4, 50, [{0:0},{0:1},{0:2},{0:3}],['k','r','g','y'],padt=0.02)" ] }, { "cell_type": "markdown", "id": "78782dc1", "metadata": {}, "source": [ "**THIS CODE IS PART OF SOQCS** <br>\n", "\n", "**Copyright:** <br>\n", "Copyright © 2023 National University of Ireland Maynooth, Maynooth University. All rights reserved.\n", "The contents and use of this document and the related code are subject to the licence terms detailed in <a href=\"./assets/LICENCE.TXT\">LICENCE.txt</a>" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }