From 045d1e6bb9f143a89e1550aac81f43cf3c54ec10 Mon Sep 17 00:00:00 2001 From: Auguste Hirth Date: Thu, 23 Jun 2022 10:27:11 -0700 Subject: [PATCH 1/5] More 404ing links fixed --- docs/hardware/devices.ipynb | 8 ++++---- docs/hardware/ionq/getting_started.ipynb | 2 +- docs/tutorials/google/identifying_hardware_changes.ipynb | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/hardware/devices.ipynb b/docs/hardware/devices.ipynb index 4aeb89af013..2629fc2ea26 100644 --- a/docs/hardware/devices.ipynb +++ b/docs/hardware/devices.ipynb @@ -48,16 +48,16 @@ "source": [ "\n", " \n", " \n", " \n", " \n", "
\n", - " View on QuantumAI\n", + " View on QuantumAI\n", " \n", - " Run in Google Colab\n", + " Run in Google Colab\n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", - " Download notebook\n", + " Download notebook\n", "
" ] diff --git a/docs/hardware/ionq/getting_started.ipynb b/docs/hardware/ionq/getting_started.ipynb index bc6eb2f033a..49fb13ae6c6 100644 --- a/docs/hardware/ionq/getting_started.ipynb +++ b/docs/hardware/ionq/getting_started.ipynb @@ -127,7 +127,7 @@ "\n", "## Running a simple circuit\n", "\n", - "The IonQ API supports a limited set of gates natively. Circuit built with these gates do not need any modification and can be run directly against the API. For a list of the API supported gates see [circuit documentation](/cirq/hardware/ionq/circuit.md). One supported gate is the square root of not gate, which we use here in conjunction with a controlled-not gate. The following cell will run the circuit below, blocking until the program has run and results have been returned:" + "The IonQ API supports a limited set of gates natively. Circuit built with these gates do not need any modification and can be run directly against the API. For a list of the API supported gates see [circuit documentation](/cirq/hardware/ionq/circuits). One supported gate is the square root of not gate, which we use here in conjunction with a controlled-not gate. The following cell will run the circuit below, blocking until the program has run and results have been returned:" ] }, { diff --git a/docs/tutorials/google/identifying_hardware_changes.ipynb b/docs/tutorials/google/identifying_hardware_changes.ipynb index ad04d03a672..806a03f7d7b 100644 --- a/docs/tutorials/google/identifying_hardware_changes.ipynb +++ b/docs/tutorials/google/identifying_hardware_changes.ipynb @@ -70,7 +70,7 @@ "id": "2KEoj85SkMQ0" }, "source": [ - "You've run your circuit with Google's [Quantum Computing Service](/cirq/google/tutorials/start.ipynb) and you're getting results that unexpectedly differ from those you saw when you ran your experiment last week. What's the cause of this and what can you do about it? \n", + "You've run your circuit with Google's [Quantum Computing Service](/cirq/tutorials/google/start) and you're getting results that unexpectedly differ from those you saw when you ran your experiment last week. What's the cause of this and what can you do about it? \n", "\n", "Your experience may be due to changes in the device that have occurred since the most recent maintenance [Calibration](/cirq/noise/calibration_faq#what_is_the_difference_between_the_user-triggered_calibrations_floquet_or_xeb_and_the_maintenance_calibration). Every few days, the QCS devices are calibrated for the highest performance across all of their available qubits and operations. However, in the hours or days since the most recent maintenance calibration, the performance of the device hardware may have changed significantly, affecting your circuit's results. \n", "\n", From 459e41cc494360f105cafa0023a50e7c199085f8 Mon Sep 17 00:00:00 2001 From: Auguste Hirth Date: Thu, 23 Jun 2022 11:35:09 -0700 Subject: [PATCH 2/5] Even more link fixes --- docs/dev/development.md | 6 +++--- docs/dev/rfc_process.md | 2 +- docs/dev/style.md | 2 +- docs/experiments/hidden_linear_function.ipynb | 2 +- docs/noise/heatmaps.ipynb | 2 +- docs/start/intro.ipynb | 2 +- docs/transform/custom_transformers.ipynb | 2 +- docs/transform/transformers.ipynb | 2 +- docs/tutorials/google/identifying_hardware_changes.ipynb | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/dev/development.md b/docs/dev/development.md index c1d68ac1964..3c8695be013 100644 --- a/docs/dev/development.md +++ b/docs/dev/development.md @@ -156,7 +156,7 @@ get picked up! ## Protocol buffers [Protocol buffers](https://developers.google.com/protocol-buffers) are used in Cirq for converting circuits, gates, and other objects into a standard form that can be written and read by other programs. -Cirq's protobufs live at [cirq/api/google](https://github.com/quantumlib/Cirq/tree/master/cirq/api/google) and may need to be changed or extended from time to time. +Cirq's protobufs live at [cirq-google/api/v2](https://github.com/quantumlib/Cirq/tree/master/cirq-google/cirq_google/api/v2) and may need to be changed or extended from time to time. If any protos are updated, their dependents can be rebuilt by calling the script [dev_tools/build-protos.sh](https://github.com/quantumlib/Cirq/tree/master/dev_tools). This script uses grpcio-tools and protobuf version 3.8.0 to generate the python proto api. @@ -340,7 +340,7 @@ python dev_tools/requirements/reqs.py dev_tools/requirements/dev.env.txt ./dev_tools/packaging/publish-dev-package.sh EXPECTED_VERSION --test ``` - You must specify the EXPECTED_VERSION argument to match the version in `cirq/_version.py`, and it must contain the string `dev`. + You must specify the EXPECTED_VERSION argument to match the version in [cirq/_version.py](https://github.com/quantumlib/Cirq/blob/master/cirq-core/cirq/_version.py), and it must contain the string `dev`. This is to prevent accidentally uploading the wrong version. The script will append the current date and time to the expected version number before uploading to test pypi. @@ -373,7 +373,7 @@ python dev_tools/requirements/reqs.py dev_tools/requirements/dev.env.txt If everything goes smoothly, the script will finish by printing `VERIFIED`. -3. Set the version number in [cirq/_version.py](https://github.com/quantumlib/Cirq/blob/master/cirq/_version.py). +3. Set the version number in [cirq/_version.py](https://github.com/quantumlib/Cirq/blob/master/cirq-core/cirq/_version.py). Development versions end with `.dev` or `.dev#`. For example, `0.0.4.dev500` is a development version of the release version `0.0.4`. diff --git a/docs/dev/rfc_process.md b/docs/dev/rfc_process.md index 855d45461a7..792c1cda959 100644 --- a/docs/dev/rfc_process.md +++ b/docs/dev/rfc_process.md @@ -92,7 +92,7 @@ If you are working on new code to implement an RFC: * Follow any other guidelines laid out in the [CONTRIBUTING.md](https://github.com/quantumlib/Cirq/blob/master/CONTRIBUTING.md) file in the project repo you're contributing to. * Run unit tests before submitting your code. * Work with the RFC sponsor to successfully land the new code. This could include PR / marketing of the new feature as well. -* Follow the Cirq process of deprecating code. Please refer to [\_compat.py](https://github.com/quantumlib/Cirq/blob/master/cirq/_compat.py) as an example. +* Follow the Cirq process of deprecating code. Please refer to [\_compat.py](https://github.com/quantumlib/Cirq/blob/master/cirq-core/cirq/_compat.py) as an example. ## Keeping the bar high diff --git a/docs/dev/style.md b/docs/dev/style.md index 5bedee38e97..6ec1bd4b7c5 100644 --- a/docs/dev/style.md +++ b/docs/dev/style.md @@ -1,6 +1,6 @@ # Style guidelines -As mentioned in [CONTRIBUTING.md](https://github.com/quantumlib/Cirq/blob/master/CONTRIBUTING.md) we use use [pylint](https://www.pylint.org/) +As mentioned in [CONTRIBUTING.md](https://github.com/quantumlib/Cirq/blob/master/CONTRIBUTING.md) we use use [pylint](https://pylint.pycqa.org/) to check for style violations. Pylint attempts to enforce styles in [PEP 8](https://www.python.org/dev/peps/pep-0008/). To see which lint checks we enforce, see the [dev_tools/conf/.pylintrc](https://github.com/quantumlib/Cirq/blob/master/dev_tools/conf/.pylintrc) file. diff --git a/docs/experiments/hidden_linear_function.ipynb b/docs/experiments/hidden_linear_function.ipynb index 15697daf3bb..68341d03c61 100644 --- a/docs/experiments/hidden_linear_function.ipynb +++ b/docs/experiments/hidden_linear_function.ipynb @@ -159,7 +159,7 @@ "\n", "But for classical circuits it can be proven (see [1]) that even if we restrict matrix $A$ in the same way, the depth of classical circuit (with gates of bounded fan-in) must grow as $n$ grows (in fact, it grows as $\\log(n)$).\n", "\n", - "In terms of complexity theory, this problem is in [QNC0](https://complexityzoo.uwaterloo.ca/Complexity_Zoo:Q#qnc0), but not in [NC0](https://en.wikipedia.org/wiki/NC_(complexity)), which shows that\n", + "In terms of complexity theory, this problem is in [QNC0](https://complexityzoo.net/Complexity_Zoo:Q#qnc0), but not in [NC0](https://en.wikipedia.org/wiki/NC_(complexity)), which shows that\n", "QNC0 $\\nsubseteq$ NC0.\n" ] }, diff --git a/docs/noise/heatmaps.ipynb b/docs/noise/heatmaps.ipynb index 89a53c865d5..85dadfac4e2 100644 --- a/docs/noise/heatmaps.ipynb +++ b/docs/noise/heatmaps.ipynb @@ -88,7 +88,7 @@ }, "source": [ "# Basic usage\n", - "Heatmaps maintain an internal state of configuration parameters based on the `kwargs` passed to the constructor, for example: `plot_colorbar=False` to hide the colorbar. For full details on the valid set of parameters, please see the [`cirq.Heatmap`](https://quantumai.google/reference/python/cirq/vis/Heatmap) reference page.\n", + "Heatmaps maintain an internal state of configuration parameters based on the `kwargs` passed to the constructor, for example: `plot_colorbar=False` to hide the colorbar. For full details on the valid set of parameters, please see the `cirq.Heatmap` reference page.\n", "\n", "The internal state can also be updated after construction by passing a valid set of `kwargs` to `heatmap.update_config(**kwargs)`." ] diff --git a/docs/start/intro.ipynb b/docs/start/intro.ipynb index 7aa606a2c94..121021853a8 100644 --- a/docs/start/intro.ipynb +++ b/docs/start/intro.ipynb @@ -947,7 +947,7 @@ "\n", "The very first indication that quantum computers could be more powerful than classical computers was provided by David Deutsch in his 1985 paper\n", "\n", - "> David Deutsch, \"[Quantum Theory, the Church-Turing Principle and the Universal Quantum Computer](https://people.eecs.berkeley.edu/~christos/classics/Deutsch_quantum_theory.pdf)\" *Proc. R. Soc. Lond.* A **400** 97–117. http://doi.org/10.1098/rspa.1985.0070\n", + "> David Deutsch, \"[Quantum Theory, the Church-Turing Principle and the Universal Quantum Computer](https://www.daviddeutsch.org.uk/wp-content/deutsch85.pdf)\" *Proc. R. Soc. Lond.* A **400** 97–117. http://doi.org/10.1098/rspa.1985.0070\n", "\n", "This algorithm was extended by Deutsch and Richard Jozsa to a more convincing algorithmic seperation and what is now called the Deutsch-Jozsa algorithm. In this section we will show how to write circuits for the Deutsch algorithm and then as an exercise in using Cirq for algorithms for a small version of the Deutsch-Jozsa algorithm.\n", "\n", diff --git a/docs/transform/custom_transformers.ipynb b/docs/transform/custom_transformers.ipynb index a95c8a9a099..5e65ec5bf8b 100644 --- a/docs/transform/custom_transformers.ipynb +++ b/docs/transform/custom_transformers.ipynb @@ -49,7 +49,7 @@ " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/transform/transformers.ipynb b/docs/transform/transformers.ipynb index eeee14959e6..aa97858d4fd 100644 --- a/docs/transform/transformers.ipynb +++ b/docs/transform/transformers.ipynb @@ -115,7 +115,7 @@ }, "source": [ "## Overview\n", - "Transformers that come with cirq can be found in the `cirq.transformers` package.\n", + "Transformers that come with cirq can be found in the `cirq.transformer` package.\n", "\n", "A few notable examples are:\n", "* **`cirq.align_left` / `cirq.align_right`**: Align gates to the left/right of the circuit by sliding them as far as possible along each qubit in the chosen direction.\n", diff --git a/docs/tutorials/google/identifying_hardware_changes.ipynb b/docs/tutorials/google/identifying_hardware_changes.ipynb index 806a03f7d7b..844ea9b5c12 100644 --- a/docs/tutorials/google/identifying_hardware_changes.ipynb +++ b/docs/tutorials/google/identifying_hardware_changes.ipynb @@ -490,7 +490,7 @@ "source": [ "### Current Readout Metric Data with Simultaneous Readout\n", "\n", - "To evaluate performance changes in the readout registers, collect the Parallel P11 error data for each qubit with the Simultaneous Readout experiment, accessible with [`estimate_parallel_single_qubit_readout_errors`](https://quantumai.google/reference/python/cirq/experiments/estimate_single_qubit_readout_errors). This function runs the experiment to estimate P00 and P11 errors for each qubit (as opposed to querying for the most recent calibration data). The experiment prepares each qubit in the $|0\\rangle$ and $|1\\rangle$ states, measures them, and evaluates how often the qubits are measured in the expected state. " + "To evaluate performance changes in the readout registers, collect the Parallel P11 error data for each qubit with the Simultaneous Readout experiment, accessible with `cirq.estimate_parallel_single_qubit_readout_errors`. This function runs the experiment to estimate P00 and P11 errors for each qubit (as opposed to querying for the most recent calibration data). The experiment prepares each qubit in the $|0\\rangle$ and $|1\\rangle$ states, measures them, and evaluates how often the qubits are measured in the expected state. " ] }, { From 7197ea89773893f0dd1f23f1d3aedd58cc3260a4 Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Fri, 24 Jun 2022 13:07:28 -0700 Subject: [PATCH 3/5] Fix additional broken links in the changed notebooks --- docs/transform/custom_transformers.ipynb | 2 +- docs/transform/transformers.ipynb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/transform/custom_transformers.ipynb b/docs/transform/custom_transformers.ipynb index 5e65ec5bf8b..39bdf61941e 100644 --- a/docs/transform/custom_transformers.ipynb +++ b/docs/transform/custom_transformers.ipynb @@ -49,7 +49,7 @@ " Run in Google Colab\n", " \n", " \n", - " View source on GitHub\n", + " View source on GitHub\n", " \n", " \n", " Download notebook\n", diff --git a/docs/transform/transformers.ipynb b/docs/transform/transformers.ipynb index aa97858d4fd..8caf2aac34a 100644 --- a/docs/transform/transformers.ipynb +++ b/docs/transform/transformers.ipynb @@ -392,7 +392,7 @@ "# Summary\n", "Cirq provides a plethora of built-in transformers which can be composed together into useful abstractions, like `cirq.CompilationTargetGateset`, which in-turn can be serialized and can be used as a parameter in larger compilation pipelines and experiment workflows. \n", "\n", - "Try using these transformers to compile your circuits and refer to the API reference docs of [`cirq.transformers`](https://quantumai.google/reference/python/cirq/transformers) for more details. " + "Try using these transformers to compile your circuits and refer to the API reference docs of [`cirq.transformers`](https://quantumai.google/cirq/transform/transformers) for more details. " ] } ], From 3116105d66b4be819a5f12ffcf6df9de36e690e0 Mon Sep 17 00:00:00 2001 From: augustehirth Date: Fri, 24 Jun 2022 13:29:33 -0700 Subject: [PATCH 4/5] `cirq.transformer` will auto-link Depends if we want to link to https://quantumai.google/reference/python/cirq_google/transformers or https://quantumai.google/reference/python/cirq/TRANSFORMER. The former doesn't really apply and the latter auto-links. There are no reference docs to the _directory_ of transformers at https://github.com/quantumlib/Cirq/tree/master/cirq-core/cirq/transformers. --- docs/transform/transformers.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/transform/transformers.ipynb b/docs/transform/transformers.ipynb index 8caf2aac34a..27ba8905e9b 100644 --- a/docs/transform/transformers.ipynb +++ b/docs/transform/transformers.ipynb @@ -392,7 +392,7 @@ "# Summary\n", "Cirq provides a plethora of built-in transformers which can be composed together into useful abstractions, like `cirq.CompilationTargetGateset`, which in-turn can be serialized and can be used as a parameter in larger compilation pipelines and experiment workflows. \n", "\n", - "Try using these transformers to compile your circuits and refer to the API reference docs of [`cirq.transformers`](https://quantumai.google/cirq/transform/transformers) for more details. " + "Try using these transformers to compile your circuits and refer to the API reference docs of `cirq.TRANSFORMER` for more details. " ] } ], From 39b4df98083d7d4ab23dff89af1f73b88a17ef34 Mon Sep 17 00:00:00 2001 From: augustehirth Date: Fri, 24 Jun 2022 13:41:16 -0700 Subject: [PATCH 5/5] Link cirq.transformers to github dir `cirq.transformer` or `cirq.transformers` doesn't link to any api reference pages, because they don't exist for the transformers directory. All of the transformers are available at the top level, but the --- docs/transform/transformers.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/transform/transformers.ipynb b/docs/transform/transformers.ipynb index 27ba8905e9b..6449bc89b63 100644 --- a/docs/transform/transformers.ipynb +++ b/docs/transform/transformers.ipynb @@ -115,7 +115,7 @@ }, "source": [ "## Overview\n", - "Transformers that come with cirq can be found in the `cirq.transformer` package.\n", + "Transformers that come with cirq can be found in the [`/cirq/transformers`](https://github.com/quantumlib/Cirq/tree/master/cirq-core/cirq/transformers) package.\n", "\n", "A few notable examples are:\n", "* **`cirq.align_left` / `cirq.align_right`**: Align gates to the left/right of the circuit by sliding them as far as possible along each qubit in the chosen direction.\n",