Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix more external links #2130

Merged
merged 1 commit into from
Oct 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/api/qiskit/0.46/qiskit.algorithms.VQE.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ python_api_name: qiskit.algorithms.VQE

An instance of VQE requires defining two algorithmic sub-components: a trial state (a.k.a. ansatz) which is a `QuantumCircuit`, and one of the classical [`optimizers`](qiskit.algorithms.optimizers#module-qiskit.algorithms.optimizers "qiskit.algorithms.optimizers"). The ansatz is varied, via its set of parameters, by the optimizer, such that it works towards a state, as determined by the parameters applied to the ansatz, that will result in the minimum expectation value being measured of the input operator (Hamiltonian).

An optional array of parameter values, via the *initial\_point*, may be provided as the starting point for the search of the minimum eigenvalue. This feature is particularly useful such as when there are reasons to believe that the solution point is close to a particular point. As an example, when building the dissociation profile of a molecule, it is likely that using the previous computed optimal solution as the starting initial point for the next interatomic distance is going to reduce the number of iterations necessary for the variational algorithm to converge. It provides an [initial point tutorial](https://github.com/Qiskit/qiskit-tutorials-community/blob/master/chemistry/h2_vqe_initial_point.ipynb) detailing this use case.
An optional array of parameter values, via the *initial\_point*, may be provided as the starting point for the search of the minimum eigenvalue. This feature is particularly useful such as when there are reasons to believe that the solution point is close to a particular point. As an example, when building the dissociation profile of a molecule, it is likely that using the previous computed optimal solution as the starting initial point for the next interatomic distance is going to reduce the number of iterations necessary for the variational algorithm to converge. It provides an [initial point tutorial](https://github.com/qiskit-community/qiskit-community-tutorials/blob/51cb790aebbe1015f22c0957a108ff66eb1c9136/chemistry/h2_vqe_initial_point.ipynb) detailing this use case.

The length of the *initial\_point* list value must match the number of the parameters expected by the ansatz being used. If the *initial\_point* is left at the default of `None`, then VQE will look to the ansatz for a preferred value, based on its given initial state. If the ansatz returns `None`, then a random point will be generated within the parameter bounds set, as per above. If the ansatz provides `None` as the lower bound, then VQE will default it to $-2\pi$; similarly, if the ansatz returns `None` as the upper bound, the default value will be $2\pi$.

Expand Down
6 changes: 3 additions & 3 deletions docs/api/qiskit/release-notes/0.19.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ VQE expectation computation with Aer qasm\_simulator now defaults to a computati

* [cvxpy](https://github.com/cvxgrp/cvxpy/) is now in the requirements list as a dependency for qiskit-aqua. It is used for the quadratic program solver which is used as part of the `qiskit.aqua.algorithms.QSVM`. Previously `cvxopt` was an optional dependency that needed to be installed to use this functionality. This is no longer required as cvxpy will be installed with qiskit-aqua.
* For state tomography run as part of `qiskit.aqua.algorithms.HHL` with a QASM backend the tomography fitter function `qiskit.ignis.verification.StateTomographyFitter.fit()` now gets called explicitly with the method set to `lstsq` to always use the least-squares fitting. Previously it would opportunistically try to use the `cvx` fitter if `cvxpy` were installed. But, the `cvx` fitter depends on a specifically configured `cvxpy` installation with an SDP solver installed as part of `cvxpy` which is not always present in an environment with `cvxpy` installed.
* The VQE expectation computation using qiskit-aer’s `qiskit.providers.aer.extensions.SnapshotExpectationValue` instruction is not enabled by default anymore. This was changed to be the default in 0.7.0 because it is significantly faster, but it led to unexpected ideal results without shot noise (see [#1013](https://github.com/Qiskit/qiskit-aqua/issues/1013) for more details). The default has now changed back to match user expectations. Using the faster expectation computation is now opt-in by setting the new `include_custom` kwarg to `True` on the `qiskit.aqua.algorithms.VQE` constructor.
* The VQE expectation computation using qiskit-aer’s `qiskit.providers.aer.extensions.SnapshotExpectationValue` instruction is not enabled by default anymore. This was changed to be the default in 0.7.0 because it is significantly faster, but it led to unexpected ideal results without shot noise (see [#1013](https://github.com/qiskit-community/qiskit-aqua/issues/1013) for more details). The default has now changed back to match user expectations. Using the faster expectation computation is now opt-in by setting the new `include_custom` kwarg to `True` on the `qiskit.aqua.algorithms.VQE` constructor.

<span id="id462" />

Expand Down Expand Up @@ -482,11 +482,11 @@ The Qiskit Aqua 0.7.0 release introduces a lot of new functionality along with a

##### Optimization module

The `` qiskit.optimization` `` module now offers functionality for modeling and solving quadratic programs. It provides various near-term quantum and conventional algorithms, such as the `MinimumEigenOptimizer` (covering e.g. `VQE` or `QAOA`) or `CplexOptimizer`, as well as a set of converters to translate between different problem representations, such as `QuadraticProgramToQubo`. See the [changelog](https://github.com/Qiskit/qiskit-aqua/#migration-guide) for a list of the added features.
The `` qiskit.optimization` `` module now offers functionality for modeling and solving quadratic programs. It provides various near-term quantum and conventional algorithms, such as the `MinimumEigenOptimizer` (covering e.g. `VQE` or `QAOA`) or `CplexOptimizer`, as well as a set of converters to translate between different problem representations, such as `QuadraticProgramToQubo`. See the [changelog](https://github.com/qiskit-community/qiskit-aqua/#migration-guide) for a list of the added features.

##### Operator flow

The operator logic provided in `` qiskit.aqua.operators` `` was completely refactored and is now a full set of tools for constructing physically-intuitive quantum computations. It contains state functions, operators and measurements and internally relies on Terra’s Operator objects. Computing expectation values and evolutions was heavily simplified and objects like the `ExpectationFactory` produce the suitable, most efficient expectation algorithm based on the Operator input type. See the [changelog](https://github.com/Qiskit/qiskit-aqua/#migration-guide) for a overview of the added functionality.
The operator logic provided in `` qiskit.aqua.operators` `` was completely refactored and is now a full set of tools for constructing physically-intuitive quantum computations. It contains state functions, operators and measurements and internally relies on Terra’s Operator objects. Computing expectation values and evolutions was heavily simplified and objects like the `ExpectationFactory` produce the suitable, most efficient expectation algorithm based on the Operator input type. See the [changelog](https://github.com/qiskit-community/qiskit-aqua/#migration-guide) for a overview of the added functionality.

##### Native circuits

Expand Down
14 changes: 7 additions & 7 deletions docs/api/qiskit/release-notes/0.20.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -754,7 +754,7 @@ The main change made in this release is a refactor of the Randomized Benchmarkin
* The `qiskit.ignis.verification.randomized_benchmarking.randomized_benchmarking_seq()` function is now using the updated Clifford class [`Clifford`](/api/qiskit/0.45/qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") and the updated CNOT-Dihedral class `qiskit.ignis.verification.randomized_benchmarking.CNOTDihedral` to construct its output instead of using pre-generated group tables for the Clifford and CNOT-Dihedral group elements, which were stored in pickle files. This may result in subtle differences from the output from the previous version.
* A new requirement [scikit-learn](https://scikit-learn.org/stable/) has been added to the requirements list. This dependency was added in the 0.3.0 release but wasn’t properly exposed as a dependency in that release. This would lead to an `ImportError` if the `qiskit.ignis.measurement.discriminator.iq_discriminators` module was imported. This is now correctly listed as a dependency so that `scikit-learn` will be installed with qiskit-ignis.
* The `qiskit.ignis.verification.qv_circuits()` function is now using the circuit library class [`QuantumVolume`](/api/qiskit/0.45/qiskit.circuit.library.QuantumVolume "qiskit.circuit.library.QuantumVolume") to construct its output instead of building the circuit from scratch. This may result in subtle differences from the output from the previous version.
* Tomography fitters can now also get list of Result objects instead of a single Result as requested in [issue #320](https://github.com/Qiskit/qiskit-ignis/issues/320/).
* Tomography fitters can now also get list of Result objects instead of a single Result as requested in [issue #320](https://github.com/qiskit-community/qiskit-ignis/issues/320/).

<span id="release-notes-0-4-0-deprecation-notes" />

Expand Down Expand Up @@ -783,7 +783,7 @@ The main change made in this release is a refactor of the Randomized Benchmarkin

#### Bug Fixes

* Fix a bug of the position of measurement pulses inserted by py:func:qiskit.ignis.characterization.calibrations.pulse\_schedules.drag\_schedules. Fixes [#465](https://github.com/Qiskit/qiskit-ignis/issues/465)
* Fix a bug of the position of measurement pulses inserted by py:func:qiskit.ignis.characterization.calibrations.pulse\_schedules.drag\_schedules. Fixes [#465](https://github.com/qiskit-community/qiskit-ignis/issues/465)

<span id="id433" />

Expand Down Expand Up @@ -819,15 +819,15 @@ The main change made in this release is a refactor of the Randomized Benchmarkin

#### Bug Fixes

* Changed in python version 3.8: On macOS, the spawn start method is now the default. The fork start method should be considered unsafe as it can lead to crashes in subprocesses. However P\_BFGS doesn’t support spawn, so we revert to single process. Refer to #1109 \<[https://github.com/Qiskit/qiskit-aqua/issues/1109](https://github.com/Qiskit/qiskit-aqua/issues/1109)> for more details.
* Changed in python version 3.8: On macOS, the spawn start method is now the default. The fork start method should be considered unsafe as it can lead to crashes in subprocesses. However P\_BFGS doesn’t support spawn, so we revert to single process. Refer to #1109 \<[https://github.com/qiskit-community/qiskit-aqua/issues/1109](https://github.com/qiskit-community/qiskit-aqua/issues/1109)> for more details.
* Binding parameters in the `CircuitStateFn` did not copy the value of `is_measurement` and always set `is_measurement=False`. This has been fixed.
* Previously, SummedOp.to\_matrix\_op built a list MatrixOp’s (with numpy matrices) and then summed them, returning a single MatrixOp. Some algorithms (for example vqe) require summing thousands of matrices, which exhausts memory when building the list of matrices. With this change, no list is constructed. Rather, each operand in the sum is converted to a matrix, added to an accumulator, and discarded.
* Changing backends in VQE from statevector to qasm\_simulator or real device was causing an error due to CircuitSampler incompatible reuse. VQE was changed to always create a new CircuitSampler and create a new expectation in case not entered by user. Refer to #1153 \<[https://github.com/Qiskit/qiskit-aqua/issues/1153](https://github.com/Qiskit/qiskit-aqua/issues/1153)> for more details.
* Exchange and Wikipedia finance providers were fixed to correctly handle Quandl data. Refer to #775 \<[https://github.com/Qiskit/qiskit-aqua/issues/775](https://github.com/Qiskit/qiskit-aqua/issues/775)> for more details. Fixes a divide by 0 error on finance providers mean vector and covariance matrix calculations. Refer to #781 \<[https://github.com/Qiskit/qiskit-aqua/issues/781](https://github.com/Qiskit/qiskit-aqua/issues/781)> for more details.
* Changing backends in VQE from statevector to qasm\_simulator or real device was causing an error due to CircuitSampler incompatible reuse. VQE was changed to always create a new CircuitSampler and create a new expectation in case not entered by user. Refer to #1153 \<[https://github.com/qiskit-community/qiskit-aqua/issues/1153](https://github.com/qiskit-community/qiskit-aqua/issues/1153)> for more details.
* Exchange and Wikipedia finance providers were fixed to correctly handle Quandl data. Refer to #775 \<[https://github.com/qiskit-community/qiskit-aqua/issues/775](https://github.com/qiskit-community/qiskit-aqua/issues/775)> for more details. Fixes a divide by 0 error on finance providers mean vector and covariance matrix calculations. Refer to #781 \<[https://github.com/qiskit-community/qiskit-aqua/issues/781](https://github.com/qiskit-community/qiskit-aqua/issues/781)> for more details.
* The `ListOp.combo_fn` property has been lost in several transformations, such as converting to another operator type, traversing, reducing or multiplication. Now this attribute is propagated to the resulting operator.
* The evaluation of some operator expressions, such as of `SummedOp``s and evaluations with the ``CircuitSampler` did not treat coefficients correctly or ignored them completely. E.g. evaluating `~StateFn(0 * (I + Z)) @ Plus` did not yield 0 or the normalization of `~StateFn(I) @ ((Plus + Minus) / sqrt(2))` missed a factor of `sqrt(2)`. This has been fixed.
* `OptimizationResult` included some public setters and class variables were `Optional`. This fix makes all class variables read-only so that mypy and pylint can check types more effectively. `MinimumEigenOptimizer.solve` generated bitstrings in a result as `str`. This fix changed the result into `List[float]` as the other algorithms do. Some public classes related to optimization algorithms were missing in the documentation of `qiskit.optimization.algorithms`. This fix added all such classes to the docstring. #1131 \<[https://github.com/Qiskit/qiskit-aqua/issues/1131](https://github.com/Qiskit/qiskit-aqua/issues/1131)> for more details.
* `OptimizationResult.__init__` did not check whether the sizes of `x` and `variables` match or not (they should match). This fix added the check to raise an error if they do not match and fixes bugs detected by the check. This fix also adds missing unit tests related to `OptimizationResult.variable_names` and `OptimizationResult.variables_dict` in `test_converters`. #1167 \<[https://github.com/Qiskit/qiskit-aqua/issues/1167](https://github.com/Qiskit/qiskit-aqua/issues/1167)> for more details.
* `OptimizationResult` included some public setters and class variables were `Optional`. This fix makes all class variables read-only so that mypy and pylint can check types more effectively. `MinimumEigenOptimizer.solve` generated bitstrings in a result as `str`. This fix changed the result into `List[float]` as the other algorithms do. Some public classes related to optimization algorithms were missing in the documentation of `qiskit.optimization.algorithms`. This fix added all such classes to the docstring. #1131 \<[https://github.com/qiskit-community/qiskit-aqua/issues/1131](https://github.com/qiskit-community/qiskit-aqua/issues/1131)> for more details.
* `OptimizationResult.__init__` did not check whether the sizes of `x` and `variables` match or not (they should match). This fix added the check to raise an error if they do not match and fixes bugs detected by the check. This fix also adds missing unit tests related to `OptimizationResult.variable_names` and `OptimizationResult.variables_dict` in `test_converters`. #1167 \<[https://github.com/qiskit-community/qiskit-aqua/issues/1167](https://github.com/qiskit-community/qiskit-aqua/issues/1167)> for more details.
* Fix parameter binding in the `OperatorStateFn`, which did not bind parameters of the underlying primitive but just the coefficients.
* `op.eval(other)`, where `op` is of type `OperatorBase`, sometimes silently returns a nonsensical value when the number of qubits in `op` and `other` are not equal. This fix results in correct behavior, which is to throw an error rather than return a value, because the input in this case is invalid.
* The `construct_circuit` method of `VQE` previously returned the expectation value to be evaluated as type `OperatorBase`. This functionality has been moved into `construct_expectation` and `construct_circuit` returns a list of the circuits that are evaluated to compute the expectation value.
Expand Down
Loading