Comments (16)
@chriseclectic or @atilag , I don't think I have write permissions here, can you please assign @merav-aharoni for this Issue? She'll be responsible for checking the checkboxes above to make it aer-ready
from qiskit-aer.
Will add below some preliminary runtime results. All cases are random circuits with X,Y,Z,H,S,T,CX gates, CX percentage is 10%, all others are uniform. Each datapoint is an average of three runs. Time in all charts is in seconds. All datapoints are checked for correctness against the Aer Qasm simulator full statevector. Experiments were conducted mainly by @merav-aharoni
from qiskit-aer.
Full calculation of statevector at end of TN run:
from qiskit-aer.
Without calculation of statevector at end of TN run (for use, e.g., for expectation value finding):
TN vs. qasm benchmark_10_no_statevector_expansion.pdf
from qiskit-aer.
Calculating expectation value of X on a single qubit:
TN vs. qasm benchmark_10_expectation_X.pdf
from qiskit-aer.
Here is a graph of running the tensor network simulator up to 128 qubits (without calculating the statevector). Qasm ran up to 26 qubits.
from qiskit-aer.
Here is a graph of a benchmark for calculating expectation value on subset of qubits.
The matrix M is a tensor product of 5 random paulis on a subset of 5 following qubits.
Each point in the graph is an average of results of 5 circuits.
TN vs. qasm expectaition value of 5 qubits benchmark 10% CNOTS.pdf
from qiskit-aer.
Continued chart from Elad - runtime for getting expectation value of random Paulis on five consecutive qubits, for random circuits of depth 120 and up to 150 qubits
from qiskit-aer.
Runtime does increase substantially with depth. Will show rigorous results of that soon
from qiskit-aer.
(and of course do the work behind the checkboxes :-) )
from qiskit-aer.
with @eladgoldman
from qiskit-aer.
Here two graphs of a benchmark for calculating expectation value on subset of qubits.
First graph, for 16 qubits, changing depth (20:10:620):
Second graph, for depth 120, changing number of qubits (10:5:700), Qasm is shown up to 23 qubits:
from qiskit-aer.
At some stage we will start benchmarking also on structured problems, in particular Aqua. For now we are mainly focused on infrastructure items and consistency, correctness, and extent of the algorithm. Hence the random benchmarks which in a sense provide the most simplest and straightforward results to analyze
from qiskit-aer.
Current status:
Tensor network simulator is implemented as a simulation method of qasm controller.
Supported operations: gates, snapshots (statevector and expectation value pauli).
Next steps:
Testing, benchmarking - @eladgoldman
Complete missing interface functions, additional code improvements - Merav
Review - @chriseclectic , @atilag
from qiskit-aer.
It's been a while since we update this issue. I guess it was intended to be used as a "meta" or "epic" issue to track MPS simulator progress.
@yehuda-naveh Can we close this and create issues for each of the remaining tasks?
from qiskit-aer.
@atilag , you can close this issue.
from qiskit-aer.
Related Issues (20)
- Documentation has not been updated since Qiskit 0.22 HOT 2
- ProcessPoolExecutor can't be used (for CPU-bound tasks)
- Citation BibTeX file is the same as that for Qiskit. Is this correct?
- Migrate from scikit-build to scikit-build-core HOT 2
- Can't set method for EstimatorV2 HOT 2
- Transpile with multiple circuits fails after qiskit 1.1 HOT 1
- cuQuantum(cuStateVec) not invoked by statevector simulator
- AerSimulator seed should accept Numpy random Generator HOT 4
- AerSimulator from V1 backend errors with delay circuits
- Improve support for Pauli error channels for utility experiment-like simulations
- V2 primitives are not listed in API docs
- stabilizer method fails with SamplerV2 HOT 8
- V2 Primitives should not require transpilation
- Should be possible to pass a backend to the Aer primitives HOT 3
- Missing `cp39-cp39-macosx_11_0_arm64` wheels since `0.14.1` HOT 3
- Performance difference for generating the unitary of a circuit using AerSimulator vs quantum_info.Operator HOT 3
- Control flow is not working after I upgrade to 0.14.1 HOT 1
- qiskit-aer-gpu throws an error when using AerSimulator(method='tensor_network', device='GPU') HOT 1
- Typo in docstring for qiskit_aer
- DeprecationWarning about Provider
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qiskit-aer.