Skip to content

Commit

Permalink
Handle Sphinx data type (#1917)
Browse files Browse the repository at this point in the history
Closes #1401 and
#935.

We reuse `<Attribute>`, which actually works out quite well! It
understands how to parse when the data object has a value assigned to it
like `= "my_value"`. It can also properly detect `isDedicatedPage`.


![image](https://github.com/user-attachments/assets/dd938c50-3182-4573-a678-74271a3b72cf)

There is one weird edge case: Qiskit was improperly using `.. py:data::`
inside a table in `utils.mdx`. Naively, it would cause issues with
trying to render the component inside the table, which does not work. I
fixed it in Qiskit `main`, but it would be too time consuming to fix on
0.35+. So, we now have a line to skip over converting to an `Attribute`
Component if the element is inside a table. That means the table will
continue to render the same as before on those historical docs - the
biggest downside is that anchor links still will be broken for the page.

<img width="863" alt="Screenshot 2024-09-06 at 9 40 51 AM"
src="https://github.com/user-attachments/assets/f7355c1f-ed50-4293-976d-42f02fdf6013">

A follow up will simplify our linters like checking for orphan pages,
since this PR fixes a lot of those problems.
  • Loading branch information
Eric-Arellano authored Sep 6, 2024
1 parent 21c5f64 commit 1d89837
Show file tree
Hide file tree
Showing 169 changed files with 1,686 additions and 801 deletions.
12 changes: 12 additions & 0 deletions docs/api/qiskit/0.19/_toc.json
Original file line number Diff line number Diff line change
Expand Up @@ -572,6 +572,10 @@
"title": "SuperOp",
"url": "/api/qiskit/0.19/qiskit.quantum_info.SuperOp"
},
{
"title": "two_qubit_cnot_decompose",
"url": "/api/qiskit/0.19/qiskit.quantum_info.two_qubit_cnot_decompose"
},
{
"title": "TwoQubitBasisDecomposer",
"url": "/api/qiskit/0.19/qiskit.quantum_info.TwoQubitBasisDecomposer"
Expand Down Expand Up @@ -2058,6 +2062,10 @@
"title": "Module overview",
"url": "/api/qiskit/0.19/qiskit_aqua"
},
{
"title": "aqua_globals",
"url": "/api/qiskit/0.19/qiskit.aqua.aqua_globals"
},
{
"title": "AquaError",
"url": "/api/qiskit/0.19/qiskit.aqua.AquaError"
Expand Down Expand Up @@ -3654,6 +3662,10 @@
"title": "Module overview",
"url": "/api/qiskit/0.19/qiskit_optimization"
},
{
"title": "INFINITY",
"url": "/api/qiskit/0.19/qiskit.optimization.INFINITY"
},
{
"title": "QiskitOptimizationError",
"url": "/api/qiskit/0.19/qiskit.optimization.QiskitOptimizationError"
Expand Down
13 changes: 11 additions & 2 deletions docs/api/qiskit/0.19/qiskit.aqua.aqua_globals.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
---
title: aqua_globals
description: API reference for qiskit.aqua.aqua_globals
in_page_toc_min_heading_level: 1
python_api_type: data
python_api_name: qiskit.aqua.aqua_globals
---

# aqua\_globals

## aqua\_globals *= \<qiskit.aqua.aqua\_globals.QiskitAquaGlobals object>*
<Attribute id="qiskit.aqua.aqua_globals" attributeValue="<qiskit.aqua.aqua_globals.QiskitAquaGlobals object>" isDedicatedPage={true}>
Aqua class for global properties.
</Attribute>

Aqua class for global properties.
13 changes: 11 additions & 2 deletions docs/api/qiskit/0.19/qiskit.optimization.INFINITY.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
---
title: INFINITY
description: API reference for qiskit.optimization.INFINITY
in_page_toc_min_heading_level: 1
python_api_type: data
python_api_name: qiskit.optimization.INFINITY
---

# INFINITY

## INFINITY *= 1e+20*
<Attribute id="qiskit.optimization.INFINITY" attributeValue="1e+20" isDedicatedPage={true}>
Convert a string or number to a floating point number, if possible.
</Attribute>

Convert a string or number to a floating point number, if possible.
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,11 @@ Convert symmetric TSP instances into Pauli list Deal with TSPLIB format. It supp
list\[int]
</Function>

**logger *= \<Logger qiskit.optimization.applications.ising.tsp (WARNING)>***
### logger

Instance data of TSP
<Attribute id="qiskit.optimization.applications.ising.tsp.logger" attributeValue="<Logger qiskit.optimization.applications.ising.tsp (WARNING)>">
Instance data of TSP
</Attribute>

### parse\_tsplib\_format

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
---
title: two_qubit_cnot_decompose
description: API reference for qiskit.quantum_info.two_qubit_cnot_decompose
in_page_toc_min_heading_level: 1
python_api_type: data
python_api_name: qiskit.quantum_info.two_qubit_cnot_decompose
---

# two\_qubit\_cnot\_decompose

## two\_qubit\_cnot\_decompose *= \<qiskit.quantum\_info.synthesis.two\_qubit\_decompose.TwoQubitBasisDecomposer object>*
<Attribute id="qiskit.quantum_info.two_qubit_cnot_decompose" attributeValue="<qiskit.quantum_info.synthesis.two_qubit_decompose.TwoQubitBasisDecomposer object>" isDedicatedPage={true}>
A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate.
</Attribute>

A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate.
6 changes: 3 additions & 3 deletions docs/api/qiskit/0.19/qiskit_aqua.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ python_api_name: qiskit.aqua

Qiskit Aqua provides a library of quantum algorithms and components to build quantum applications and leverage near-term devices.

| | |
| ---------------------------------------------------------------------------------------------- | --------------------------------- |
| [`aqua_globals`](qiskit.aqua.aqua_globals#qiskit.aqua.aqua_globals "qiskit.aqua.aqua_globals") | Aqua class for global properties. |
| | |
| --------------------------------------------------------------------- | --------------------------------- |
| [`aqua_globals`](qiskit.aqua.aqua_globals "qiskit.aqua.aqua_globals") | Aqua class for global properties. |

Aqua globals class provides random number and max parallel process configuration. Aqua uses the random function and max parallel processes when running any function requiring randomization and/or that can be be done in parallel. Setting the random seed to a given value will ensure predictability in outcome when using a simulator (seeds should also be set in [`QuantumInstance`](qiskit.aqua.QuantumInstance "qiskit.aqua.QuantumInstance") for transpiler and simulator too).

Expand Down
6 changes: 3 additions & 3 deletions docs/api/qiskit/0.19/qiskit_optimization.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ Representation of a Quadratically Constrained Quadratic Program supporting inequ

In addition to standard Python errors the optimization module will raise this error if circumstances are that it cannot proceed to completion.

| | |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- |
| [`INFINITY`](qiskit.optimization.INFINITY#qiskit.optimization.INFINITY "qiskit.optimization.INFINITY") | Convert a string or number to a floating point number, if possible. |
| | |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| [`INFINITY`](qiskit.optimization.INFINITY "qiskit.optimization.INFINITY") | Convert a string or number to a floating point number, if possible. |

A constant for infinity.

Expand Down
12 changes: 6 additions & 6 deletions docs/api/qiskit/0.19/quantum_info.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,10 @@ python_api_name: qiskit.quantum_info

## Synthesis

| | |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| [`OneQubitEulerDecomposer`](qiskit.quantum_info.OneQubitEulerDecomposer "qiskit.quantum_info.OneQubitEulerDecomposer")(\[basis]) | A class for decomposing 1-qubit unitaries into Euler angle rotations. |
| [`TwoQubitBasisDecomposer`](qiskit.quantum_info.TwoQubitBasisDecomposer "qiskit.quantum_info.TwoQubitBasisDecomposer")(gate\[, basis\_fidelity]) | A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. |
| [`two_qubit_cnot_decompose`](qiskit.quantum_info.two_qubit_cnot_decompose#qiskit.quantum_info.two_qubit_cnot_decompose "qiskit.quantum_info.two_qubit_cnot_decompose") | A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. |
| [`euler_angles_1q`](qiskit.quantum_info.euler_angles_1q "qiskit.quantum_info.euler_angles_1q")(unitary\_matrix) | DEPRECATED: Compute Euler angles for a single-qubit gate. |
| | |
| ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------- |
| [`OneQubitEulerDecomposer`](qiskit.quantum_info.OneQubitEulerDecomposer "qiskit.quantum_info.OneQubitEulerDecomposer")(\[basis]) | A class for decomposing 1-qubit unitaries into Euler angle rotations. |
| [`TwoQubitBasisDecomposer`](qiskit.quantum_info.TwoQubitBasisDecomposer "qiskit.quantum_info.TwoQubitBasisDecomposer")(gate\[, basis\_fidelity]) | A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. |
| [`two_qubit_cnot_decompose`](qiskit.quantum_info.two_qubit_cnot_decompose "qiskit.quantum_info.two_qubit_cnot_decompose") | A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. |
| [`euler_angles_1q`](qiskit.quantum_info.euler_angles_1q "qiskit.quantum_info.euler_angles_1q")(unitary\_matrix) | DEPRECATED: Compute Euler angles for a single-qubit gate. |

12 changes: 12 additions & 0 deletions docs/api/qiskit/0.24/_toc.json
Original file line number Diff line number Diff line change
Expand Up @@ -889,6 +889,10 @@
"title": "SuperOp",
"url": "/api/qiskit/0.24/qiskit.quantum_info.SuperOp"
},
{
"title": "two_qubit_cnot_decompose",
"url": "/api/qiskit/0.24/qiskit.quantum_info.two_qubit_cnot_decompose"
},
{
"title": "TwoQubitBasisDecomposer",
"url": "/api/qiskit/0.24/qiskit.quantum_info.TwoQubitBasisDecomposer"
Expand Down Expand Up @@ -2625,6 +2629,10 @@
"title": "Module overview",
"url": "/api/qiskit/0.24/qiskit_aqua"
},
{
"title": "aqua_globals",
"url": "/api/qiskit/0.24/qiskit.aqua.aqua_globals"
},
{
"title": "AquaError",
"url": "/api/qiskit/0.24/qiskit.aqua.AquaError"
Expand Down Expand Up @@ -4630,6 +4638,10 @@
"title": "Module overview",
"url": "/api/qiskit/0.24/qiskit_optimization"
},
{
"title": "INFINITY",
"url": "/api/qiskit/0.24/qiskit.optimization.INFINITY"
},
{
"title": "QiskitOptimizationError",
"url": "/api/qiskit/0.24/qiskit.optimization.QiskitOptimizationError"
Expand Down
15 changes: 12 additions & 3 deletions docs/api/qiskit/0.24/qiskit.aqua.aqua_globals.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
---
title: aqua_globals
description: API reference for qiskit.aqua.aqua_globals
in_page_toc_min_heading_level: 1
python_api_type: data
python_api_name: qiskit.aqua.aqua_globals
---

<span id="qiskit-aqua-aqua-globals" />

# qiskit.aqua.aqua\_globals
# aqua\_globals

## `aqua_globals` *= \<qiskit.aqua.aqua\_globals.QiskitAquaGlobals object>*
<Attribute id="qiskit.aqua.aqua_globals" attributeValue="<qiskit.aqua.aqua_globals.QiskitAquaGlobals object>" isDedicatedPage={true}>
Aqua class for global properties.
</Attribute>

Aqua class for global properties.
15 changes: 12 additions & 3 deletions docs/api/qiskit/0.24/qiskit.optimization.INFINITY.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
---
title: INFINITY
description: API reference for qiskit.optimization.INFINITY
in_page_toc_min_heading_level: 1
python_api_type: data
python_api_name: qiskit.optimization.INFINITY
---

<span id="qiskit-optimization-infinity" />

# qiskit.optimization.INFINITY
# INFINITY

## `INFINITY` *= 1e+20*
<Attribute id="qiskit.optimization.INFINITY" attributeValue="1e+20" isDedicatedPage={true}>
Convert a string or number to a floating point number, if possible.
</Attribute>

Convert a string or number to a floating point number, if possible.
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,11 @@ Convert symmetric TSP instances into Pauli list Deal with TSPLIB format. It supp
list\[int]
</Function>

**`logger` *= \<Logger qiskit.optimization.applications.ising.tsp (WARNING)>***
### logger

Instance data of TSP
<Attribute id="qiskit.optimization.applications.ising.tsp.logger" attributeValue="<Logger qiskit.optimization.applications.ising.tsp (WARNING)>">
Instance data of TSP
</Attribute>

### parse\_tsplib\_format

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,22 @@
---
title: two_qubit_cnot_decompose
description: API reference for qiskit.quantum_info.two_qubit_cnot_decompose
in_page_toc_min_heading_level: 1
python_api_type: data
python_api_name: qiskit.quantum_info.two_qubit_cnot_decompose
---

<span id="qiskit-quantum-info-two-qubit-cnot-decompose" />

# qiskit.quantum\_info.two\_qubit\_cnot\_decompose
# two\_qubit\_cnot\_decompose

## `two_qubit_cnot_decompose` *= \<qiskit.quantum\_info.synthesis.two\_qubit\_decompose.TwoQubitBasisDecomposer object>*
<Attribute id="qiskit.quantum_info.two_qubit_cnot_decompose" attributeValue="<qiskit.quantum_info.synthesis.two_qubit_decompose.TwoQubitBasisDecomposer object>" isDedicatedPage={true}>
A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate.

A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate.
**Parameters**

**Parameters**
* **gate** ([*Gate*](qiskit.circuit.Gate "qiskit.circuit.Gate")) – Two-qubit gate to be used in the KAK decomposition.
* **basis\_fidelity** (*float*) – Fidelity to be assumed for applications of KAK Gate. Default 1.0.
* **euler\_basis** (*str*) – Basis string to be provided to OneQubitEulerDecomposer for 1Q synthesis. Valid options are \[‘ZYZ’, ‘ZXZ’, ‘XYX’, ‘U’, ‘U3’, ‘U1X’, ‘PSX’, ‘ZSX’, ‘RR’]. Default ‘U3’.
</Attribute>

* **gate** ([*Gate*](qiskit.circuit.Gate "qiskit.circuit.Gate")) – Two-qubit gate to be used in the KAK decomposition.
* **basis\_fidelity** (*float*) – Fidelity to be assumed for applications of KAK Gate. Default 1.0.
* **euler\_basis** (*str*) – Basis string to be provided to OneQubitEulerDecomposer for 1Q synthesis. Valid options are \[‘ZYZ’, ‘ZXZ’, ‘XYX’, ‘U’, ‘U3’, ‘U1X’, ‘PSX’, ‘ZSX’, ‘RR’]. Default ‘U3’.
6 changes: 3 additions & 3 deletions docs/api/qiskit/0.24/qiskit_aqua.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ python_api_name: qiskit.aqua

Qiskit Aqua provides a library of quantum algorithms and components to build quantum applications and leverage near-term devices.

| | |
| ---------------------------------------------------------------------------------------------- | --------------------------------- |
| [`aqua_globals`](qiskit.aqua.aqua_globals#qiskit.aqua.aqua_globals "qiskit.aqua.aqua_globals") | Aqua class for global properties. |
| | |
| --------------------------------------------------------------------- | --------------------------------- |
| [`aqua_globals`](qiskit.aqua.aqua_globals "qiskit.aqua.aqua_globals") | Aqua class for global properties. |

Aqua globals class provides random number and max parallel process configuration. Aqua uses the random function and max parallel processes when running any function requiring randomization and/or that can be be done in parallel. Setting the random seed to a given value will ensure predictability in outcome when using a simulator (seeds should also be set in [`QuantumInstance`](qiskit.aqua.QuantumInstance "qiskit.aqua.QuantumInstance") for transpiler and simulator too).

Expand Down
6 changes: 3 additions & 3 deletions docs/api/qiskit/0.24/qiskit_optimization.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ Representation of a Quadratically Constrained Quadratic Program supporting inequ

In addition to standard Python errors the optimization module will raise this error if circumstances are that it cannot proceed to completion.

| | |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- |
| [`INFINITY`](qiskit.optimization.INFINITY#qiskit.optimization.INFINITY "qiskit.optimization.INFINITY") | Convert a string or number to a floating point number, if possible. |
| | |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| [`INFINITY`](qiskit.optimization.INFINITY "qiskit.optimization.INFINITY") | Convert a string or number to a floating point number, if possible. |

A constant for infinity.

Expand Down
12 changes: 6 additions & 6 deletions docs/api/qiskit/0.24/quantum_info.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,10 @@ python_api_name: qiskit.quantum_info

## Synthesis

| | |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| [`OneQubitEulerDecomposer`](qiskit.quantum_info.OneQubitEulerDecomposer "qiskit.quantum_info.OneQubitEulerDecomposer")(\[basis]) | A class for decomposing 1-qubit unitaries into Euler angle rotations. |
| [`TwoQubitBasisDecomposer`](qiskit.quantum_info.TwoQubitBasisDecomposer "qiskit.quantum_info.TwoQubitBasisDecomposer")(gate\[, …]) | A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. |
| [`two_qubit_cnot_decompose`](qiskit.quantum_info.two_qubit_cnot_decompose#qiskit.quantum_info.two_qubit_cnot_decompose "qiskit.quantum_info.two_qubit_cnot_decompose") | A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. |
| [`euler_angles_1q`](qiskit.quantum_info.euler_angles_1q "qiskit.quantum_info.euler_angles_1q")(unitary\_matrix) | DEPRECATED: Compute Euler angles for a single-qubit gate. |
| | |
| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| [`OneQubitEulerDecomposer`](qiskit.quantum_info.OneQubitEulerDecomposer "qiskit.quantum_info.OneQubitEulerDecomposer")(\[basis]) | A class for decomposing 1-qubit unitaries into Euler angle rotations. |
| [`TwoQubitBasisDecomposer`](qiskit.quantum_info.TwoQubitBasisDecomposer "qiskit.quantum_info.TwoQubitBasisDecomposer")(gate\[, …]) | A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. |
| [`two_qubit_cnot_decompose`](qiskit.quantum_info.two_qubit_cnot_decompose "qiskit.quantum_info.two_qubit_cnot_decompose") | A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. |
| [`euler_angles_1q`](qiskit.quantum_info.euler_angles_1q "qiskit.quantum_info.euler_angles_1q")(unitary\_matrix) | DEPRECATED: Compute Euler angles for a single-qubit gate. |

Loading

0 comments on commit 1d89837

Please sign in to comment.