Skip to content

Commit

Permalink
Merge pull request #96 from Eric-Arellano/rm-qiskit-links
Browse files Browse the repository at this point in the history
Remove qiskit.org links
  • Loading branch information
kevinsung authored Feb 28, 2024
2 parents a121c85 + 85ffc19 commit 5187800
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion docs/getting_started.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@
"source": [
"## Dynamical Decoupling\n",
"\n",
"Dynamical decoupling (DD) is a way of modifying the noise power spectrum $S(\\omega)$ observed by qubits (see [this recent review](https://arxiv.org/abs/2207.03670)), and is typically implemented by a sequence of gates scheduled during a given qubit idle time that compose to the identity with specific delay times to fill the idle time in a calculated manner. Considerations for which sequences to use may involve decoherent error due to idle time versus single-qubit gate errors and/or crosstalk during two-qubit gates. Because the addition of gates is not always in the set of `basis_gates` defined by the backend, `add_pulse_cals=True` uses [Pulse Gates](https://qiskit.org/documentation/tutorials/circuits_advanced/05_pulse_gates.html) to add the correct implementation to the circuit with added DD."
"Dynamical decoupling (DD) is a way of modifying the noise power spectrum $S(\\omega)$ observed by qubits (see [this recent review](https://arxiv.org/abs/2207.03670)), and is typically implemented by a sequence of gates scheduled during a given qubit idle time that compose to the identity with specific delay times to fill the idle time in a calculated manner. Considerations for which sequences to use may involve decoherent error due to idle time versus single-qubit gate errors and/or crosstalk during two-qubit gates. Because the addition of gates is not always in the set of `basis_gates` defined by the backend, `add_pulse_cals=True` uses [Pulse Gates](https://docs.quantum.ibm.com/build/pulse) to add the correct implementation to the circuit with added DD."
]
},
{
Expand Down
16 changes: 8 additions & 8 deletions docs/tutorial_quantum_sim/qsim-tight-binding-model.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@
"id": "a6b61705-78fa-4a6b-9e27-a192a00f1d20",
"metadata": {},
"source": [
"**Qiskit nature method.** If we want to start from fermionic operator form of the Hamiltonian $H = -\\tau \\sum_{i=(0,1,3)} \\left( c_{i}^{\\dagger} c_{i+1} + c_{i+1}^{\\dagger} c_{i} \\right) - \\tau_d \\left( c_{2}^{\\dagger} c_{3} + c_{3}^{\\dagger} c_{2} \\right) \\;,$ we can use functionality from [Qiskit nature](https://qiskit.org/documentation/nature/) to define the Hamiltonian in terms of fermionic second quantization operators and have qiskit do the Jordan-Wigner transformation to Pauli operators. This is shown below but not currently used in the notebook as FermionicOp does not currently support [Parameters](https://qiskit.org/documentation/stubs/qiskit.circuit.Parameter.html)."
"**Qiskit nature method.** If we want to start from fermionic operator form of the Hamiltonian $H = -\\tau \\sum_{i=(0,1,3)} \\left( c_{i}^{\\dagger} c_{i+1} + c_{i+1}^{\\dagger} c_{i} \\right) - \\tau_d \\left( c_{2}^{\\dagger} c_{3} + c_{3}^{\\dagger} c_{2} \\right) \\;,$ we can use functionality from [Qiskit nature](https://qiskit-community.github.io/qiskit-nature/) to define the Hamiltonian in terms of fermionic second quantization operators and have qiskit do the Jordan-Wigner transformation to Pauli operators. This is shown below but not currently used in the notebook as FermionicOp does not currently support [Parameters](https://docs.quantum.ibm.com/api/qiskit/qiskit.circuit.Parameter)."
]
},
{
Expand Down Expand Up @@ -190,7 +190,7 @@
"id": "4115fa2a-eb66-4c0b-ab90-25b90374cca1",
"metadata": {},
"source": [
"**Qiskit Opflow method.** If we want to start directly with the Pauli operator form of the Hamiltonian (doing the JW transform with \"pen and paper\") $H = -\\frac{\\tau}{2} \\sum_{i=(0,1,3)} \\left( X_i X_{i+1} + Y_i Y_{i+1} \\right) -\\frac{\\tau_d}{2} \\left( X_2 X_{3} + Y_2 Y_{3} \\right) \\;,$ then we directly use [Qiskit opflow](https://qiskit.org/documentation/apidoc/opflow.html)'s Pauli operators to string together the Hamiltonian terms. This is shown below and will be the method called later in the notebook as this method supports [Parameters](https://qiskit.org/documentation/stubs/qiskit.circuit.Parameter.html)."
"**Qiskit Opflow method.** If we want to start directly with the Pauli operator form of the Hamiltonian (doing the JW transform with \"pen and paper\") $H = -\\frac{\\tau}{2} \\sum_{i=(0,1,3)} \\left( X_i X_{i+1} + Y_i Y_{i+1} \\right) -\\frac{\\tau_d}{2} \\left( X_2 X_{3} + Y_2 Y_{3} \\right) \\;,$ then we directly use [Qiskit opflow](https://docs.quantum.ibm.com/api/qiskit/0.45/opflow)'s Pauli operators to string together the Hamiltonian terms. This is shown below and will be the method called later in the notebook as this method supports [Parameters](https://docs.quantum.ibm.com/api/qiskit/qiskit.circuit.Parameter)."
]
},
{
Expand Down Expand Up @@ -575,7 +575,7 @@
"\\end{equation}\n",
"$$\n",
"\n",
"Each pair of $XX$ and $YY$ interactions summed in the exponents do commute, so there could be further decomposition without need of trotterization. There is in fact efficient decompositions for such interactions (see the [qiskit circuit library](https://qiskit.org/documentation/apidoc/circuit_library.html)), but we will not go that here. It also depends on the type of gates we can/want to apply at the hardware level. We'll eventually work toward $R_{ZX}(\\theta)$ gates, so let's stay in terms of separating $XX$ and $YY$.\n",
"Each pair of $XX$ and $YY$ interactions summed in the exponents do commute, so there could be further decomposition without need of trotterization. There is in fact efficient decompositions for such interactions (see the [qiskit circuit library](https://docs.quantum.ibm.com/api/qiskit/circuit_library)), but we will not go that here. It also depends on the type of gates we can/want to apply at the hardware level. We'll eventually work toward $R_{ZX}(\\theta)$ gates, so let's stay in terms of separating $XX$ and $YY$.\n",
"\n",
"$$\n",
"\\begin{align}\n",
Expand Down Expand Up @@ -837,7 +837,7 @@
" Convert the U_trot ComposedOp object returned by compute_U_trot() to a bare quantum circuit.\n",
"\n",
" Tutorial on using PauliTrotterEvolution at\n",
" https://qiskit.org/documentation/tutorials/operators/01_operator_flow.html#Part-IV:-Converters\n",
" https://github.com/Qiskit/qiskit/blob/stable/0.46/docs/tutorials/operators/01_operator_flow.ipynb#\n",
"\n",
" Args:\n",
" U_trot - OperatorBase (such as ComposedOp); Trotterized unitary time evolution operator to be written in terms of a quantum circuit.\n",
Expand Down Expand Up @@ -1036,7 +1036,7 @@
"# backend = provider.get_backend(\"ibm_lagos\")\n",
"\n",
"# Simulated backend based on ibmq_lagos's device noise profile\n",
"# Use the line below for the latest error model. See: https://qiskit.org/documentation/apidoc/providers_fake_provider.html\n",
"# Use the line below for the latest error model. See: https://docs.quantum.ibm.com/api/qiskit/providers_fake_provider\n",
"# sim_noisy_lagos = QasmSimulator.from_backend(provider.get_backend('ibm_lagos'))\n",
"# A providerless noisy simulator, but may have an out-of-date noise model\n",
"backend = FakeLagos()\n",
Expand Down Expand Up @@ -1091,7 +1091,7 @@
"metadata": {},
"source": [
"### Generate quantum circuits for trotterized quantum simulation\n",
"Qiskit has functionality to directly [convert opflow objects into quantum circuits](https://qiskit.org/documentation/tutorials/operators/01_operator_flow.html#Part-IV:-Converters). This means we can use the U_trot method we made earlier to compute the unitary time evolution operator and then have it directly converted to a quantum circuit. Below, we'll use those functions defined earlier in the section."
"Qiskit has functionality to directly [convert opflow objects into quantum circuits](https://github.com/Qiskit/qiskit/blob/stable/0.46/docs/tutorials/operators/01_operator_flow.ipynb). This means we can use the U_trot method we made earlier to compute the unitary time evolution operator and then have it directly converted to a quantum circuit. Below, we'll use those functions defined earlier in the section."
]
},
{
Expand Down Expand Up @@ -1636,7 +1636,7 @@
"source": [
"### Measurement Error Mitigation\n",
"\n",
"We directly follow the [mthree tutorial](https://qiskit.org/documentation/partners/mthree/basic.html) for scalable measurement error mitigation. For further examples, see the [Qiskit textbook's](https://qiskit.org/textbook/preface.html) tutorial on [measurement error mitigation](https://qiskit.org/textbook/ch-quantum-hardware/measurement-error-mitigation.html#version-information). Below, we first demonstrate this technique on a simple example of a GHZ state $\\left(|00000\\rangle + |11111\\rangle \\right)/ \\sqrt{2}$. We will use it for the quantum simulation at the very end."
"We directly follow the [mthree tutorial](https://qiskit.org/ecosystem/mthree/basic.html) for scalable measurement error mitigation. For further examples, see the Qiskit textbook's tutorial on [measurement error mitigation](https://github.com/Qiskit/platypus/blob/main/notebooks/v2/quantum-hardware/measurement-error-mitigation.ipynb). Below, we first demonstrate this technique on a simple example of a GHZ state $\\left(|00000\\rangle + |11111\\rangle \\right)/ \\sqrt{2}$. We will use it for the quantum simulation at the very end."
]
},
{
Expand Down Expand Up @@ -1794,7 +1794,7 @@
"metadata": {},
"source": [
"### $R_{ZX}(\\theta)$ Gate Optimization\n",
"Two-qubit gate errors are the main source of error for current (NISQ era) quantum computers. One way to get a significant reduction in two-qubit errors is to dive closer to the physics of the underlying qubits and use the native two-qubit gates instead of CNOT gates. Read the [paper](https://arxiv.org/abs/2209.02795) and references therein for more details. In short, we want to compose all two-qubit gates in terms of [$R_{ZX}(\\theta)$ gate operations](https://qiskit.org/documentation/stubs/qiskit.circuit.library.RZXGate.html).\n",
"Two-qubit gate errors are the main source of error for current (NISQ era) quantum computers. One way to get a significant reduction in two-qubit errors is to dive closer to the physics of the underlying qubits and use the native two-qubit gates instead of CNOT gates. Read the [paper](https://arxiv.org/abs/2209.02795) and references therein for more details. In short, we want to compose all two-qubit gates in terms of [$R_{ZX}(\\theta)$ gate operations](https://docs.quantum.ibm.com/api/qiskit/qiskit.circuit.library.RZXGate).\n",
"\n",
"Compose the circuit in terms of $R_{ZX}(\\theta)$ gate operations instead of CNOT gates."
]
Expand Down

0 comments on commit 5187800

Please sign in to comment.