qiskit-documentation/docs/api/qiskit/0.39/qiskit.algorithms.linear_so...

54 lines
6.2 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: linear_solvers
description: API reference for qiskit.algorithms.linear_solvers
in_page_toc_min_heading_level: 2
python_api_type: module
python_api_name: qiskit.algorithms.linear_solvers
---
<span id="qiskit-algorithms-linear-solvers" />
# qiskit.algorithms.linear\_solvers
## The deprecated Linear solvers
<span id="module-qiskit.algorithms.linear_solvers" />
`qiskit.algorithms.linear_solvers`
It contains classical and quantum algorithms to solve systems of linear equations such as `HHL`. Although the quantum algorithm accepts a general Hermitian matrix as input, Qiskits default Hamiltonian evolution is exponential in such cases and therefore the quantum linear solver will not achieve an exponential speedup. Furthermore, the quantum algorithm can find a solution exponentially faster in the size of the system than their classical counterparts (i.e. logarithmic complexity instead of polynomial), meaning that reading the full solution vector would kill such speedup (since this would take linear time in the size of the system). Therefore, to achieve an exponential speedup we can only compute functions from the solution vector (the so called observables) to learn information about the solution. Known efficient implementations of Hamiltonian evolutions or observables are contained in the following subfolders:
**[Matrices](#matrices)**
A placeholder for efficient implementations of the Hamiltonian evolution of particular types of matrices.
**[Observables](#observables)**
A placeholder for efficient implementations of functions that can be computed from the solution vector to a system of linear equations.
## Linear Solvers
| | |
| --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`LinearSolver`](qiskit.algorithms.linear_solvers.LinearSolver "qiskit.algorithms.linear_solvers.LinearSolver") | The deprecated abstract class for linear system solvers in Qiskit. |
| [`LinearSolverResult`](qiskit.algorithms.linear_solvers.LinearSolverResult "qiskit.algorithms.linear_solvers.LinearSolverResult") | The deprecated base class for linear systems results. |
| [`HHL`](qiskit.algorithms.linear_solvers.HHL "qiskit.algorithms.linear_solvers.HHL") | The deprecated systems of linear equations arise naturally in many real-life applications in a wide range of areas, such as in the solution of Partial Differential Equations, the calibration of financial models, fluid simulation or numerical field calculation. |
| [`NumPyLinearSolver`](qiskit.algorithms.linear_solvers.NumPyLinearSolver "qiskit.algorithms.linear_solvers.NumPyLinearSolver") | The deprecated Numpy Linear Solver algorithm (classical). |
## Matrices
| | |
| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
| [`LinearSystemMatrix`](qiskit.algorithms.linear_solvers.LinearSystemMatrix "qiskit.algorithms.linear_solvers.LinearSystemMatrix") | The deprecated base class for linear system matrices. |
| [`NumPyMatrix`](qiskit.algorithms.linear_solvers.NumPyMatrix "qiskit.algorithms.linear_solvers.NumPyMatrix") | The deprecated class of matrices given as a numpy array. |
| [`TridiagonalToeplitz`](qiskit.algorithms.linear_solvers.TridiagonalToeplitz "qiskit.algorithms.linear_solvers.TridiagonalToeplitz") | The deprecated class of tridiagonal Toeplitz symmetric matrices. |
## Observables
| | |
| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| [`LinearSystemObservable`](qiskit.algorithms.linear_solvers.LinearSystemObservable "qiskit.algorithms.linear_solvers.LinearSystemObservable")() | The deprecated abstract class for linear system observables in Qiskit. |
| [`AbsoluteAverage`](qiskit.algorithms.linear_solvers.AbsoluteAverage "qiskit.algorithms.linear_solvers.AbsoluteAverage")() | The deprecated observable for the absolute average of a linear system of equations solution. |
| [`MatrixFunctional`](qiskit.algorithms.linear_solvers.MatrixFunctional "qiskit.algorithms.linear_solvers.MatrixFunctional")(main\_diag, off\_diag) | The deprecated class for the matrix functional of the vector solution to the linear systems. |