Skip to content

Commit aaf654d

Browse files
woodsp-ibmElePTCryoris
committed
Documentation fixes and updates (qiskit-community#36)
Co-authored-by: Elena Peña Tapia <[email protected]> Co-authored-by: Julien Gacon <[email protected]>
1 parent 700abb7 commit aaf654d

18 files changed

+215
-177
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
AlgorithmError
2+
==============
3+
4+
.. currentmodule:: qiskit_algorithms
5+
6+
.. autoexception:: AlgorithmError
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.. _qiskit_algorithms-gradients:
2+
3+
.. automodule:: qiskit_algorithms.gradients
4+
:no-members:
5+
:no-inherited-members:
6+
:no-special-members:
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.. _qiskit_algorithms-optimizers:
2+
3+
.. automodule:: qiskit_algorithms.optimizers
4+
:no-members:
5+
:no-inherited-members:
6+
:no-special-members:
File renamed without changes.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.. _qiskit_algorithms-state_fidelities:
2+
3+
.. automodule:: qiskit_algorithms.state_fidelities
4+
:no-members:
5+
:no-inherited-members:
6+
:no-special-members:
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.. _qiskit_algorithms-time_evolvers-trotterization:
2+
3+
.. automodule:: qiskit_algorithms.time_evolvers.trotterization
4+
:no-members:
5+
:no-inherited-members:
6+
:no-special-members:
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.. _qiskit_algorithms-time_evolvers-variational:
2+
3+
.. automodule:: qiskit_algorithms.time_evolvers.variational
4+
:no-members:
5+
:no-inherited-members:
6+
:no-special-members:

docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Next Steps
2424

2525
Overview <self>
2626
Getting Started <getting_started>
27-
API References <apidocs/algorithms>
27+
API References <apidocs/qiskit_algorithms>
2828
Tutorials <tutorials/index>
2929
Release Notes <release_notes>
3030
GitHub <https://github.com/qiskit-community/qiskit-algorithms>

qiskit_algorithms/__init__.py

Lines changed: 122 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,47 @@
1111
# that they have been altered from the originals.
1212

1313
"""
14-
=====================================
15-
Algorithms (:mod:`qiskit_algorithms`)
16-
=====================================
17-
It contains a collection of quantum algorithms, for use with quantum computers, to
18-
carry out research and investigate how to solve problems in different domains on
19-
near-term quantum devices with short depth circuits.
20-
21-
Algorithms configuration includes the use of :mod:`~qiskit_algorithms.optimizers` which
22-
were designed to be swappable sub-parts of an algorithm. Any component and may be exchanged for
23-
a different implementation of the same component type in order to potentially alter the behavior
24-
and outcome of the algorithm.
14+
============================================
15+
Qiskit Algorithms (:mod:`qiskit_algorithms`)
16+
============================================
17+
Qiskit Algorithms is a library of quantum algorithms for quantum computing with
18+
`Qiskit <https://qiskit.org>`_.
19+
These algorithms can be used to carry out research and investigate how to solve
20+
problems in different domains on simulators and near-term real quantum devices
21+
using shallow circuits.
22+
23+
The library includes some algorithms, for example the :class:`.NumPyMinimumEigensolver`, which take
24+
the same input as their quantum counterpart but solve the problem classically. This has utility in
25+
the near-term, where problems are still tractable classically, to validate and/or act as a reference.
26+
There are also classical :mod:`.optimizers` for use with variational algorithms such as :class:`.VQE`.
27+
28+
This package also provides common building blocks for algorithms, such quantum circuit
29+
gradients (:mod:`.gradients`) and fidelities of quantum states (:mod:`.state_fidelities`).
30+
These elements are frequently used in a variety of applications, such as variational optimization,
31+
time evolution and quantum machine learning.
32+
33+
The quantum algorithms here all use
34+
`Primitives <https://qiskit.org/documentation/apidoc/primitives.html>`__
35+
to execute quantum circuits. This can be an
36+
``Estimator``, which computes expectation values, or a ``Sampler`` which computes
37+
probability distributions. Refer to the specific algorithm for more information in this regard.
2538
2639
.. currentmodule:: qiskit_algorithms
2740
2841
Algorithms
2942
==========
3043
31-
It contains a variety of quantum algorithms and these have been grouped by logical function such
32-
as minimum eigensolvers and amplitude amplifiers. These algorithms are based on the Qiskit Primitives.
33-
44+
The algorithms now presented are grouped by logical function, such
45+
as minimum eigensolvers, amplitude amplifiers, time evolvers etc. Within each group, the
46+
algorithms conform to an interface that allows them to be used interchangeably
47+
by different applications. E.g. a Qiskit Nature application may take a minimum
48+
eigensolver to solve a ground state problem, and require it to
49+
conform to the :class:`.MinimumEigensolver` interface. Any algorithm that conforms to
50+
the interface, for example :class:`.VQE`, can be used by this application.
3451
3552
Amplitude Amplifiers
3653
--------------------
54+
Algorithms based on amplitude amplification.
3755
3856
.. autosummary::
3957
:toctree: ../stubs/
@@ -47,6 +65,7 @@
4765
4866
Amplitude Estimators
4967
--------------------
68+
Algorithms based on amplitude estimation.
5069
5170
.. autosummary::
5271
:toctree: ../stubs/
@@ -67,105 +86,79 @@
6786
6887
Eigensolvers
6988
------------
70-
7189
Algorithms to find eigenvalues of an operator. For chemistry these can be used to find excited
7290
states of a molecule, and ``qiskit-nature`` has some algorithms that leverage chemistry specific
7391
knowledge to do this in that application domain.
74-
These algorithms are based on the Qiskit Primitives.
75-
76-
.. autosummary::
77-
:toctree: ../stubs/
78-
79-
eigensolvers
80-
81-
Time Evolvers
82-
-------------
83-
84-
Algorithms to evolve quantum states in time. Both real and imaginary time evolution is possible
85-
with algorithms that support them. For machine learning, Quantum Imaginary Time Evolution might be
86-
used to train Quantum Boltzmann Machine Neural Networks for example.
87-
These algorithms are based on the Qiskit Primitives.
8892
8993
.. autosummary::
9094
:toctree: ../stubs/
9195
:nosignatures:
9296
93-
RealTimeEvolver
94-
ImaginaryTimeEvolver
95-
TimeEvolutionResult
96-
TimeEvolutionProblem
97-
PVQD
98-
PVQDResult
99-
SciPyImaginaryEvolver
100-
SciPyRealEvolver
101-
VarQITE
102-
VarQRTE
103-
104-
Variational Quantum Time Evolution
105-
++++++++++++++++++++++++++++++++++
106-
107-
Classes used by variational quantum time evolution algorithms - :class:`.VarQITE` and
108-
:class:`.VarQRTE`.
109-
110-
.. autosummary::
111-
:toctree: ../stubs/
112-
113-
time_evolvers.variational
97+
Eigensolver
98+
EigensolverResult
99+
NumPyEigensolver
100+
NumPyEigensolverResult
101+
VQD
102+
VQDResult
114103
115104
116-
Trotterization-based Quantum Real Time Evolution
117-
++++++++++++++++++++++++++++++++++++++++++++++++
118-
119-
Package for primitives-enabled Trotterization-based quantum time evolution
120-
algorithm - :class:`~.time_evolvers.TrotterQRTE`.
105+
Gradients
106+
---------
107+
Algorithms to calculate the gradient of a quantum circuit.
121108
122109
.. autosummary::
123-
:toctree: ../stubs/
110+
:toctree:
124111
125-
time_evolvers.trotterization
112+
gradients
126113
127114
128-
Gradients
129-
----------
115+
Minimum Eigensolvers
116+
--------------------
117+
Algorithms to find the minimum eigenvalue of an operator.
130118
131-
Algorithms to calculate the gradient of a quantum circuit. These algorithms are based
132-
on the Qiskit Primitives.
119+
This set of these algorithms take an ``Estimator`` primitive and can
120+
solve for a general Hamiltonian.
133121
134122
.. autosummary::
135123
:toctree: ../stubs/
124+
:nosignatures:
136125
137-
gradients
138-
139-
140-
Minimum Eigensolvers
141-
---------------------
126+
MinimumEigensolver
127+
MinimumEigensolverResult
128+
NumPyMinimumEigensolver
129+
NumPyMinimumEigensolverResult
130+
VQE
131+
VQEResult
132+
AdaptVQE
133+
AdaptVQEResult
142134
143-
Algorithms that can find the minimum eigenvalue of an operator. These algorithms are
144-
based on the Qiskit Primitives.
135+
This set of algorithms take a ``Sampler`` primitive and can only
136+
solve for a diagonal Hamiltonian, such as an Ising Hamiltonian of an optimization problem.
145137
146138
.. autosummary::
147139
:toctree: ../stubs/
140+
:nosignatures:
148141
149-
minimum_eigensolvers
142+
SamplingMinimumEigensolver
143+
SamplingMinimumEigensolverResult
144+
SamplingVQE
145+
SamplingVQEResult
146+
QAOA
150147
151148
152149
Optimizers
153150
----------
154-
155-
Classical optimizers for use by quantum variational algorithms. These algorithms
156-
are based on the Qiskit Primitives.
151+
Classical optimizers designed for use by quantum variational algorithms.
157152
158153
.. autosummary::
159-
:toctree: ../stubs/
154+
:toctree:
160155
161156
optimizers
162157
163158
164159
Phase Estimators
165160
----------------
166-
167-
Algorithms that estimate the phases of eigenstates of a unitary. These algorithms
168-
are based on the Qiskit Primitives.
161+
Algorithms that estimate the phases of eigenstates of a unitary.
169162
170163
.. autosummary::
171164
:toctree: ../stubs/
@@ -181,21 +174,69 @@
181174
182175
State Fidelities
183176
----------------
177+
Algorithms that compute the fidelity of pairs of quantum states.
184178
185-
Algorithms that compute the fidelity of pairs of quantum states. These algorithms
186-
are based on the Qiskit Primitives.
179+
.. autosummary::
180+
:toctree:
181+
182+
state_fidelities
183+
184+
185+
Time Evolvers
186+
-------------
187+
Algorithms to evolve quantum states in time. Both real and imaginary time evolution is possible
188+
with algorithms that support them. For machine learning, Quantum Imaginary Time Evolution might be
189+
used to train Quantum Boltzmann Machine Neural Networks for example.
187190
188191
.. autosummary::
189192
:toctree: ../stubs/
193+
:nosignatures:
190194
191-
state_fidelities
195+
RealTimeEvolver
196+
ImaginaryTimeEvolver
197+
TimeEvolutionResult
198+
TimeEvolutionProblem
199+
PVQD
200+
PVQDResult
201+
SciPyImaginaryEvolver
202+
SciPyRealEvolver
203+
VarQITE
204+
VarQRTE
205+
206+
Variational Quantum Time Evolution
207+
++++++++++++++++++++++++++++++++++
208+
Classes used by variational quantum time evolution algorithms -
209+
:class:`.VarQITE` and :class:`.VarQRTE`.
210+
211+
.. autosummary::
212+
:toctree:
213+
214+
time_evolvers.variational
215+
216+
217+
Trotterization-based Quantum Real Time Evolution
218+
++++++++++++++++++++++++++++++++++++++++++++++++
219+
Trotterization-based quantum time evolution algorithms -
220+
:class:`~.time_evolvers.trotterization.TrotterQRTE`.
221+
222+
.. autosummary::
223+
:toctree:
224+
225+
time_evolvers.trotterization
226+
227+
228+
Miscellaneous
229+
=============
230+
Various classes used by qiskit-algorithms that are part of and exposed
231+
by the public API.
192232
193233
194234
Exceptions
195235
----------
196236
197237
.. autosummary::
198-
:toctree: ../stubs/
238+
:toctree:
239+
:nosignatures:
199240
200241
AlgorithmError
201242
@@ -207,6 +248,7 @@
207248
208249
.. autosummary::
209250
:toctree: ../stubs/
251+
:nosignatures:
210252
211253
AlgorithmJob
212254

qiskit_algorithms/eigensolvers/__init__.py

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,7 @@
1010
# copyright notice, and modified files need to carry a notice indicating
1111
# that they have been altered from the originals.
1212

13-
"""
14-
=====================================================================
15-
Eigensolvers Package (:mod:`qiskit_algorithms.eigensolvers`)
16-
=====================================================================
17-
18-
.. currentmodule:: qiskit_algorithms.eigensolvers
19-
20-
Eigensolvers
21-
================
22-
23-
.. autosummary::
24-
:toctree: ../stubs/
25-
26-
Eigensolver
27-
NumPyEigensolver
28-
VQD
29-
30-
Results
31-
=======
32-
33-
.. autosummary::
34-
:toctree: ../stubs/
35-
36-
EigensolverResult
37-
NumPyEigensolverResult
38-
VQDResult
39-
40-
"""
13+
"""The Eigensolvers package"""
4114

4215
from .numpy_eigensolver import NumPyEigensolver, NumPyEigensolverResult
4316
from .eigensolver import Eigensolver, EigensolverResult

0 commit comments

Comments
 (0)