Skip to content

Commit

Permalink
Oxidize TwoQubitBasisDecomposer
Browse files Browse the repository at this point in the history
This commit is the second part of migrating the default 2q unitary
synthesis method to leverage parallel rust as described in Qiskit#8774. The
Eventual goal is to be able to run unitary synthesis in parallel for all
the unitary matrices in a single call from the `UnitarySynthesis` pass.
The TwoQubitBasisDecomposer class is one of the default decomposers used
by the unitary synthesis plugin. After this we can build an interface
that will run the decomposition in parallel for a given decomposer.

This commit re-implements the TwoQubitBasisDecomposer class in rust. It
keeps the same algorithm from the previous python version but implements
it in rust. This builds off of Qiskit#11946 and for the operation of the
decomposer class the TwoQubitWeylDecomposition class is used solely
through rust.

This commit depends on Qiskit#11946 and will need to be rebased after Qiskit#11946
is merged.

Fixes Qiskit#12004
  • Loading branch information
mtreinish committed Mar 14, 2024
1 parent d9fb03d commit 627269b
Show file tree
Hide file tree
Showing 5 changed files with 747 additions and 535 deletions.
Loading

0 comments on commit 627269b

Please sign in to comment.