diff --git a/jupyter_notebooks/Examples/QutritGST.ipynb b/jupyter_notebooks/Examples/QutritGST.ipynb index 525fb6d1c..e7e6b27b2 100644 --- a/jupyter_notebooks/Examples/QutritGST.ipynb +++ b/jupyter_notebooks/Examples/QutritGST.ipynb @@ -10,7 +10,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -35,113 +35,15 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "rho0 = TPState with dimension 9\n", - " 0.58-0.41 0 0 0 0 0.71 0 0\n", - "\n", - "\n", - "Mdefault = TPPOVM with effect vectors:\n", - "0bright: FullPOVMEffect with dimension 9\n", - " 0.58-0.41 0 0 0 0 0.71 0 0\n", - "\n", - "1bright: FullPOVMEffect with dimension 9\n", - " 0.58 0.82 0 0 0 0 0 0 0\n", - "\n", - "2bright: ComplementPOVMEffect with dimension 9\n", - " 0.58-0.41 0 0 0 0-0.71 0 0\n", - "\n", - "\n", - "\n", - "Gi:QT = \n", - "FullTPOp with shape (9, 9)\n", - " 1.00 0 0 0 0 0 0 0 0\n", - " 0 1.00 0 0 0 0 0 0 0\n", - " 0 0 1.00 0 0 0 0 0 0\n", - " 0 0 0 1.00 0 0 0 0 0\n", - " 0 0 0 0 1.00 0 0 0 0\n", - " 0 0 0 0 0 1.00 0 0 0\n", - " 0 0 0 0 0 0 1.00 0 0\n", - " 0 0 0 0 0 0 0 1.00 0\n", - " 0 0 0 0 0 0 0 0 1.00\n", - "\n", - "\n", - "Gx:QT = \n", - "FullTPOp with shape (9, 9)\n", - " 1.00 0 0 0 0 0 0 0 0\n", - " 0-0.50 0.87 0 0 0 0 0 0\n", - " 0 0.87 0.50 0 0 0 0 0 0\n", - " 0 0 0-1.00 0 0 0 0 0\n", - " 0 0 0 0 1.00 0 0 0 0\n", - " 0 0 0 0 0 0-1.00 0 0\n", - " 0 0 0 0 0 1.00 0 0 0\n", - " 0 0 0 0 0 0 0 0-1.00\n", - " 0 0 0 0 0 0 0 1.00 0\n", - "\n", - "\n", - "Gy:QT = \n", - "FullTPOp with shape (9, 9)\n", - " 1.00 0 0 0 0 0 0 0 0\n", - " 0-0.50-0.87 0 0 0 0 0 0\n", - " 0-0.87 0.50 0 0 0 0 0 0\n", - " 0 0 0 0 0 0 0-1.00 0\n", - " 0 0 0 0 0 0 1.00 0 0\n", - " 0 0 0 0 0 1.00 0 0 0\n", - " 0 0 0 0-1.00 0 0 0 0\n", - " 0 0 0 1.00 0 0 0 0 0\n", - " 0 0 0 0 0 0 0 0-1.00\n", - "\n", - "\n", - "Gm:QT = \n", - "FullTPOp with shape (9, 9)\n", - " 1.00 0 0 0 0 0 0 0 0\n", - " 0 1.00 0 0 0 0 0 0 0\n", - " 0 0 1.00 0 0 0 0 0 0\n", - " 0 0 0 1.00 0 0 0 0 0\n", - " 0 0 0 0 1.00 0 0 0 0\n", - " 0 0 0 0 0 0 0 0-1.00\n", - " 0 0 0 0 0 0 0 1.00 0\n", - " 0 0 0 0 0 0-1.00 0 0\n", - " 0 0 0 0 0 1.00 0 0 0\n", - "\n", - "\n", - "\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "target_model = qutrit.create_qutrit_model(error_scale=0, x_angle=pi/2, y_angle=pi/2, ms_global=pi/2, ms_local=0, basis=\"qt\")\n", "#change the forward simulator for the purposes of experiment design code\n", - "target_model.sim = 'matrix'\n", - "print(target_model)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "314" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "target_model.num_params" + "target_model.sim = 'matrix'" ] }, { @@ -153,53 +55,12 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Initial Length Available Fiducial List: 121\n", - "Length Available Fiducial List Dropped Identities and Duplicates: 50\n", - "Using greedy algorithm.\n", - "Complete initial fiducial set succeeds.\n", - "Now searching for best fiducial set.\n", - "Starting fiducial list optimization. Lower score is better.\n", - "Acceptable candidate solution found.\n", - "Score: major=-9 minor=17.99999999999997, N: 9\n", - "Exiting greedy search.\n", - "Preparation fiducials:\n", - "['{}@(QT)', 'Gm:QTGm:QT@(QT)', 'Gx:QT@(QT)', 'Gy:QT@(QT)', 'Gy:QTGy:QTGx:QT@(QT)', 'Gy:QTGy:QTGy:QT@(QT)', 'Gm:QT@(QT)', 'Gm:QTGx:QT@(QT)', 'Gm:QTGy:QT@(QT)']\n", - "Score: 17.99999999999997\n", - "Complete initial fiducial set succeeds.\n", - "Now searching for best fiducial set.\n", - "Starting fiducial list optimization. Lower score is better.\n", - "Acceptable candidate solution found.\n", - "Score: major=-9 minor=19.449999999999978, N: 9\n", - "Exiting greedy search.\n", - "Measurement fiducials:\n", - "['{}@(QT)', 'Gx:QT@(QT)', 'Gy:QT@(QT)', 'Gm:QT@(QT)', 'Gy:QTGm:QT@(QT)', 'Gm:QTGx:QT@(QT)']\n", - "Score: 19.449999999999978\n", - "Initial Length Available Germ List: 90\n", - "Length Available Germ List After Deduping: 39\n", - "Length Available Germ List After Dropping Random Fraction: 39\n", - "Length Available Germ List After Adding Back In Forced Germs: 39\n", - "Memory estimate of 0.0 GB for all-Jac mode.\n", - "Memory estimate of 0.0 GB for single-Jac mode.\n", - "Using greedy algorithm.\n", - "Constructed germ set:\n", - "['Gi:QT@(QT)', 'Gx:QT@(QT)', 'Gy:QT@(QT)', 'Gm:QT@(QT)', 'Gx:QTGy:QTGy:QT@(QT)', 'Gy:QTGm:QTGm:QT@(QT)', 'Gx:QTGm:QT@(QT)', 'Gx:QTGm:QTGy:QT@(QT)', 'Gy:QTGm:QT@(QT)']\n", - "Score: major=-218.0 minor=650.7883029775395, N: 218\n", - "CPU times: total: 234 ms\n", - "Wall time: 1.32 s\n" - ] - } - ], + "outputs": [], "source": [ - "%%time\n", "fiducialPrep, fiducialMeasure = find_fiducials(target_model, candidate_fid_counts={4: 'all upto'}, algorithm= 'greedy')\n", "germs = find_germs(target_model, randomize=False, candidate_germ_counts={4: 'all upto'}, mode= 'compactEVD', assume_real=True, float_type=np.double)\n", "maxLengths = [1,2,4]" @@ -207,19 +68,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "9 prep fiducials\n", - "6 meas fiducials\n", - "9 germs\n" - ] - } - ], + "outputs": [], "source": [ "print(\"%d prep fiducials\" % len(fiducialPrep))\n", "print(\"%d meas fiducials\" % len(fiducialMeasure))\n", @@ -228,7 +79,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -246,7 +97,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -256,7 +107,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -265,120 +116,12 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "--- Circuit Creation ---\n", - " 774 circuits created\n", - " Dataset has 774 entries: 774 utilized, 0 requested circuits were missing\n", - "-- Std Practice: Iter 1 of 1 (CPTPLND) --: \n", - " Precomputing CircuitOutcomeProbabilityArray layouts for each iteration.\n", - " Layout for iteration 0\n", - " Layout creation w/mem limit = 3.00GB\n", - " MatrixLayout: 1 processors divided into 1 x 1 (= 1) grid along circuit and parameter directions.\n", - " 1 atoms, parameter block size limits (None,)\n", - " *** Distributing 1 atoms to 1 atom-processing groups (1 cores) ***\n", - " More atom-processors than hosts: each host gets ~1 atom-processors\n", - " Atom-processors already occupy a single node, dividing atom-processor into 1 param-processors.\n", - " *** Divided 1-host atom-processor (~1 procs) into 1 param-processing groups ***\n", - " Esimated memory required = 0.1GB\n", - " Layout for iteration 1\n", - " Layout creation w/mem limit = 3.00GB\n", - " MatrixLayout: 1 processors divided into 1 x 1 (= 1) grid along circuit and parameter directions.\n", - " 1 atoms, parameter block size limits (None,)\n", - " *** Distributing 1 atoms to 1 atom-processing groups (1 cores) ***\n", - " More atom-processors than hosts: each host gets ~1 atom-processors\n", - " Atom-processors already occupy a single node, dividing atom-processor into 1 param-processors.\n", - " *** Divided 1-host atom-processor (~1 procs) into 1 param-processing groups ***\n", - " Esimated memory required = 0.1GB\n", - " Layout for iteration 2\n", - " Layout creation w/mem limit = 3.00GB\n", - " MatrixLayout: 1 processors divided into 1 x 1 (= 1) grid along circuit and parameter directions.\n", - " 1 atoms, parameter block size limits (None,)\n", - " *** Distributing 1 atoms to 1 atom-processing groups (1 cores) ***\n", - " More atom-processors than hosts: each host gets ~1 atom-processors\n", - " Atom-processors already occupy a single node, dividing atom-processor into 1 param-processors.\n", - " *** Divided 1-host atom-processor (~1 procs) into 1 param-processing groups ***\n", - " Esimated memory required = 0.2GB\n", - " --- Iterative GST: Iter 1 of 3 186 circuits ---: \n", - " --- chi2 GST ---\n", - " Sum of Chi^2 = 169.241 (372 data params - 432 (approx) model params = expected mean of -60; p-value = nan)\n", - " Completed in 30.5s\n", - " Iteration 1 took 30.7s\n", - " \n", - " --- Iterative GST: Iter 2 of 3 383 circuits ---: \n", - " --- chi2 GST ---\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "WARNING: Treating result as *converged* after maximum iterations (50) were exceeded.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Sum of Chi^2 = 521.758 (766 data params - 432 (approx) model params = expected mean of 334; p-value = 2.03176e-10)\n", - " Completed in 46.8s\n", - " Iteration 2 took 46.8s\n", - " \n", - " --- Iterative GST: Iter 3 of 3 774 circuits ---: \n", - " --- chi2 GST ---\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "WARNING: Treating result as *converged* after maximum iterations (50) were exceeded.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Sum of Chi^2 = 1322.7 (1548 data params - 432 (approx) model params = expected mean of 1116; p-value = 1.70083e-05)\n", - " Completed in 78.1s\n", - " Iteration 3 took 78.2s\n", - " \n", - " Last iteration:\n", - " --- dlogl GST ---\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "WARNING: Treating result as *converged* after maximum iterations (50) were exceeded.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 2*Delta(log(L)) = 1324.81 (1548 data params - 432 (approx) model params = expected mean of 1116; p-value = 1.42741e-05)\n", - " Completed in 17.2s\n", - " Final optimization took 17.2s\n", - " \n", - "CPU times: total: 1min 25s\n", - "Wall time: 2min 53s\n" - ] - } - ], + "outputs": [], "source": [ - "%%time\n", "#Run qutrit GST... which could take a while onspam_noise=ingle CPU. Please adjust memLimit to machine specs \n", "# (now 3GB; usually set to slightly less than the total machine memory)\n", "#Setting max_iterations lower than default for the sake of the example running faster. \n", @@ -390,126 +133,15 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Running idle tomography\n", - "Computing switchable properties\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\ciostro\\Documents\\pyGSTi_API_updates\\pygsti\\report\\factory.py:1284: UserWarning: Idle tomography failed:\n", - "\n", - " _warnings.warn(\"Idle tomography failed:\\n\" + str(e))\n" - ] - } - ], + "outputs": [], "source": [ "#Create a report\n", "ws = pygsti.report.construct_standard_report(\n", " result, \"Example Qutrit Report\", verbosity=3\n", ").write_html('example_files/sampleQutritReport', auto_open=False, verbosity=3)" ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "rho0 = TPState with dimension 9\n", - " 0.58-0.41 0 0 0 0 0.71 0 0\n", - "\n", - "\n", - "Mdefault = TPPOVM with effect vectors:\n", - "0bright: FullPOVMEffect with dimension 9\n", - " 0.58-0.41 0 0 0 0 0.71 0 0\n", - "\n", - "1bright: FullPOVMEffect with dimension 9\n", - " 0.58 0.82 0 0 0 0 0 0 0\n", - "\n", - "2bright: ComplementPOVMEffect with dimension 9\n", - " 0.58-0.41 0 0 0 0-0.71 0 0\n", - "\n", - "\n", - "\n", - "Gi:QT = \n", - "FullTPOp with shape (9, 9)\n", - " 1.00 0 0 0 0 0 0 0 0\n", - " 0 1.00 0 0 0 0 0 0 0\n", - " 0 0 1.00 0 0 0 0 0 0\n", - " 0 0 0 1.00 0 0 0 0 0\n", - " 0 0 0 0 1.00 0 0 0 0\n", - " 0 0 0 0 0 1.00 0 0 0\n", - " 0 0 0 0 0 0 1.00 0 0\n", - " 0 0 0 0 0 0 0 1.00 0\n", - " 0 0 0 0 0 0 0 0 1.00\n", - "\n", - "\n", - "Gx:QT = \n", - "FullTPOp with shape (9, 9)\n", - " 1.00 0 0 0 0 0 0 0 0\n", - " 0-0.50 0.87 0 0 0 0 0 0\n", - " 0 0.87 0.50 0 0 0 0 0 0\n", - " 0 0 0-1.00 0 0 0 0 0\n", - " 0 0 0 0 1.00 0 0 0 0\n", - " 0 0 0 0 0 0-1.00 0 0\n", - " 0 0 0 0 0 1.00 0 0 0\n", - " 0 0 0 0 0 0 0 0-1.00\n", - " 0 0 0 0 0 0 0 1.00 0\n", - "\n", - "\n", - "Gy:QT = \n", - "FullTPOp with shape (9, 9)\n", - " 1.00 0 0 0 0 0 0 0 0\n", - " 0-0.50-0.87 0 0 0 0 0 0\n", - " 0-0.87 0.50 0 0 0 0 0 0\n", - " 0 0 0 0 0 0 0-1.00 0\n", - " 0 0 0 0 0 0 1.00 0 0\n", - " 0 0 0 0 0 1.00 0 0 0\n", - " 0 0 0 0-1.00 0 0 0 0\n", - " 0 0 0 1.00 0 0 0 0 0\n", - " 0 0 0 0 0 0 0 0-1.00\n", - "\n", - "\n", - "Gm:QT = \n", - "FullTPOp with shape (9, 9)\n", - " 1.00 0 0 0 0 0 0 0 0\n", - " 0 1.00 0 0 0 0 0 0 0\n", - " 0 0 1.00 0 0 0 0 0 0\n", - " 0 0 0 1.00 0 0 0 0 0\n", - " 0 0 0 0 1.00 0 0 0 0\n", - " 0 0 0 0 0 0 0 0-1.00\n", - " 0 0 0 0 0 0 0 1.00 0\n", - " 0 0 0 0 0 0-1.00 0 0\n", - " 0 0 0 0 0 1.00 0 0 0\n", - "\n", - "\n", - "\n", - "\n" - ] - } - ], - "source": [ - "print(target_model)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/jupyter_notebooks/Tutorials/algorithms/DriftCharacterization.ipynb b/jupyter_notebooks/Tutorials/algorithms/DriftCharacterization.ipynb index 7054552d4..d91c2d464 100644 --- a/jupyter_notebooks/Tutorials/algorithms/DriftCharacterization.ipynb +++ b/jupyter_notebooks/Tutorials/algorithms/DriftCharacterization.ipynb @@ -31,7 +31,7 @@ "metadata": {}, "source": [ "## Quick and Easy Analysis\n", - "First we import some *time-stamped* data. For more information on the mechanics of using time-stamped `DataSets` see the [TimestampedDataSets](../objects/advanced/TimestampedDataSets.ipynb) tutorial. The data we are importing is from long-sequence GST on $G_i$, $G_x$, and $G_y$ with time-dependent coherent errors on the gates.\n", + "First we import some *time-stamped* data. For more information on the mechanics of using time-stamped `DataSets` see the [TimestampedDataSets](../objects/advanced/TimestampedDataSets.ipynb) tutorial. The data we are importing is from long-sequence GST on $G_x$, and $G_y$ with time-dependent coherent errors on the gates.\n", "\n", "We load the time-dependent data from the `timestamped_dataset.txt` file included with pyGSTi, and then build a `ProtocolData` object out of it so it can be used as input for `Protocol` objects. We can pass `None` as the experiment design when constructing `data` because the stability analysis doesn't require any special structure to the circuits - it just requires the data to have timestamps." ] @@ -46,21 +46,25 @@ "\n", "# Construct a basic ExplicitModel for the experiment design\n", "model = pygsti.models.create_explicit_model_from_expressions(\n", - " ['Q0'], ['Gi','Gx','Gy'],\n", - " [ \"I(Q0)\",\"X(pi/2,Q0)\", \"Y(pi/2,Q0)\"] )\n", + " ['Q0'], ['Gx','Gy'],\n", + " [ \"X(pi/2,Q0)\", \"Y(pi/2,Q0)\"] )\n", "\n", "# This manually specifies the germ and fiducial structure for the imported data.\n", - "fiducial_strs = ['{}','Gx','Gy','GxGx','GxGxGx','GyGyGy']\n", - "germ_strs = ['Gi','Gx','Gy','GxGy','GxGyGi','GxGiGy','GxGiGi','GyGiGi','GxGxGiGy','GxGyGyGi','GxGxGyGxGyGy']\n", - "log2maxL = 9 # log2 of the maximum germ power\n", + "prep_fiducials = ['{}','Gx','Gy','GxGx']\n", + "meas_fiducials = ['{}','Gx','Gy']\n", + "\n", + "germ_strs = ['Gx','Gy','GxGy','GxGxGyGxGyGy']\n", + "log2maxL = 7 # log2 of the maximum germ power\n", "\n", "# Below we use the maxlength, germ and fiducial lists to create the GST structures needed for box plots.\n", - "fiducials = [pygsti.circuits.Circuit(fs) for fs in fiducial_strs]\n", + "prep_fiducials = [pygsti.circuits.Circuit(fs) for fs in prep_fiducials]\n", + "meas_fiducials = [pygsti.circuits.Circuit(fs) for fs in meas_fiducials]\n", "germs = [pygsti.circuits.Circuit(g) for g in germ_strs]\n", - "max_lengths = [2**i for i in range(0,log2maxL)]\n", - "exp_design = pygsti.protocols.StandardGSTDesign(model, fiducials, fiducials, germs, max_lengths)\n", + "max_lengths = [2**i for i in range(0,log2maxL+1)]\n", + "exp_design = pygsti.protocols.StandardGSTDesign(model, prep_fiducials, meas_fiducials, germs, max_lengths)\n", "\n", "ds = pygsti.io.load_dataset(\"../tutorial_files/timestamped_dataset.txt\") # a DataSet\n", + "ds = ds.truncate(list(exp_design.all_circuits_needing_data))\n", "data = pygsti.protocols.ProtocolData(exp_design, ds)" ] }, @@ -77,6 +81,7 @@ "metadata": {}, "outputs": [], "source": [ + "%%time\n", "protocol = pygsti.protocols.StabilityAnalysis()\n", "results = protocol.run(data)" ] @@ -106,6 +111,13 @@ "print(results.stabilityanalyzer)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "NOTE: In notebook display of report figures does not work in jupyterlab due to restrictions on running javascript. Please use classic jupyter notebook if this is desired." + ] + }, { "cell_type": "code", "execution_count": null, @@ -166,7 +178,7 @@ "metadata": {}, "outputs": [], "source": [ - "spectrumlabel = {'circuit':pygsti.circuits.Circuit('Gx(Gi)^128')}\n", + "spectrumlabel = {'circuit':pygsti.circuits.Circuit('(Gx)^128')}\n", "print(\"significant frequencies: \", results.instability_frequencies(spectrumlabel))\n", "w.PowerSpectraPlot(results, spectrumlabel)" ] @@ -205,7 +217,7 @@ "metadata": {}, "outputs": [], "source": [ - "circuits = {L: pygsti.circuits.Circuit(None,stringrep='Gx(Gi)^'+str(L)+'Gx') for L in [1,2,4,16,64,128,256]}\n", + "circuits = {L: pygsti.circuits.Circuit(None,stringrep='Gx(Gx)^'+str(L)+'Gx') for L in [1,2,4,16,64,128]}\n", "w.PowerSpectraPlot(results, {'circuit':circuits}, showlegend=True)" ] }, @@ -221,12 +233,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "scrolled": false - }, + "metadata": {}, "outputs": [], "source": [ - "circuit = pygsti.circuits.Circuit(None, stringrep= 'Gx(Gi)^256GxGxGx')\n", + "circuit = pygsti.circuits.Circuit(None, stringrep= 'Gx(Gx)^128Gx')\n", "w.ProbTrajectoriesPlot(results.stabilityanalyzer, circuit, ('1',))" ] }, @@ -281,8 +291,8 @@ "metadata": {}, "outputs": [], "source": [ - "w.GermFiducialPowerSpectraPlot(results, 'Gy', 'Gi', 'Gx', showlegend=True)\n", - "w.GermFiducialProbTrajectoriesPlot(results, 'Gy', 'Gi', 'Gx', ('0',), showlegend=True)" + "w.GermFiducialPowerSpectraPlot(results, 'Gy', 'Gx', 'Gx', showlegend=True)\n", + "w.GermFiducialProbTrajectoriesPlot(results, 'Gy', 'Gx', 'Gx', ('0',), showlegend=True)" ] }, { @@ -298,8 +308,8 @@ "metadata": {}, "outputs": [], "source": [ - "circuits256 = exp_design.circuit_lists[-1] # Pull out circuits up to max L (256)\n", - "w.ColorBoxPlot('driftdetector', circuits256, None, None, stabilityanalyzer=results.stabilityanalyzer)" + "circuits128 = exp_design.circuit_lists[-1] # Pull out circuits up to max L\n", + "w.ColorBoxPlot('driftdetector', circuits128, None, None, stabilityanalyzer=results.stabilityanalyzer)" ] }, { @@ -318,7 +328,7 @@ "outputs": [], "source": [ "# Create a boxplot of the maximum power in the power spectra for each sequence.\n", - "w.ColorBoxPlot('driftsize', circuits256, None, None, stabilityanalyzer=results.stabilityanalyzer)" + "w.ColorBoxPlot('driftsize', circuits128, None, None, stabilityanalyzer=results.stabilityanalyzer)" ] }, { @@ -348,9 +358,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "api_updates", "language": "python", - "name": "python3" + "name": "api_updates" }, "language_info": { "codemirror_mode": { @@ -362,9 +372,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.5" + "version": "3.9.13" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 }