Comments (3)
Looking more right now, OptimizeSwapBeforeMeasure
has several components that are pretty broken, or at least rather unoptimal. DAGCircuit.descendants
produces an unordered set
(why?), so iterating through that has no particular order, and I don't think it's guaranteed to produce correct results. Similarly, DAGCircuit.op_nodes
is not topological, so there's no guarantee that the swaps are visited in the best order, even if reversed.
from qiskit.
Yeah, my thinking is this pass would be supersceded by ElidePermutations
so performance improvements for it shouldn't be critical. Im thinking we'll want to deprecate it in 1.2 for removal in 2.0. But we definitely should try to fix correctness issues for the 1.x branch where we can.
from qiskit.
I guess the reason it might not be totally supplanted is that this pass might still have worth in a pipeline for a backend that has a native swap
- in that case, it might still have value in a post-translation and post-routing optimisation layout, where ElidePermutations
would invalidate the coupling constraints. This never invalidates coupling constraints because it's a limited form of swap/permutation elision where it only affects gates that are followed by 1q operations (or other swaps).
That said, we could probably teach ElidePermutations
to have a coupling-aware version of itself as well, if we chose.
from qiskit.
Related Issues (20)
- `XXPlusYYGate.to_matrix()` fails after qasm2 roundtrip HOT 2
- The synthesis function ``synth_cnot_count_full_pmh`` returns empty circuit when ``section_size`` exceeds the number of qubits HOT 8
- Adding conjugated state preparation <0|, <1| ? HOT 6
- `PauliEvolutionGate` default label can be too long to serialize via qpy HOT 2
- Investigate using faer for matmul instead of ndarray. HOT 7
- Standard Gates in 'qelib1.inc' Not Recognized by `qiskit.qasm2.loads` HOT 2
- Transpilation Failure at Optimization Level 3 HOT 2
- Update existing transpiler passes to support `final_permutation`
- Typo: Change Block to Bloc
- Add angle to list of supported ParameterExpression functions HOT 3
- Controlled UGate with a parameterized angle fails with 4 or more controls HOT 4
- `TypeError: EvalfMixin.evalf() got an unexpected keyword argument 'real'` hit in transpile HOT 3
- Update `DAGCircuit` to use `rustworkx` 0.15 methods
- Incorrect Topological Order when Specifying a Custom-Tiebreaker HOT 7
- Making a circuit from a transpiled circuit data returning the wrong unitary HOT 19
- Transpile Error: Unable to detect plugins HOT 3
- Strange Behaviour of `sx` gate when defined inline in QASM HOT 13
- Vertical Circuit Drawings
- Dump the running time or outcome of "each shot" in an experiment.
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.