Skip to content

Commit

Permalink
Add LightSABRE citation to sabre documentation (#13160)
Browse files Browse the repository at this point in the history
* Add LightSABRE citation to sabre documentation

We recently published a pre-print of a new paper that describes all the
improvements we've developed ontop of the original SABRE algorithm as
part of Qiskit's implementation. This commit adds a citation for that
new paper to the documentation of the two sabre passes in qiskit to
better document how the pass works in practice.

* Add missing citation to SabrePreLayout and fix formatting in SabreSwap

* Tweak wording in sabre swap docstring
  • Loading branch information
mtreinish authored Sep 16, 2024
1 parent a0918b8 commit 8783641
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 4 deletions.
5 changes: 4 additions & 1 deletion qiskit/transpiler/passes/layout/sabre_layout.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,10 @@ class SabreLayout(TransformationPass):
**References:**
[1] Li, Gushu, Yufei Ding, and Yuan Xie. "Tackling the qubit mapping problem
[1] Henry Zou and Matthew Treinish and Kevin Hartman and Alexander Ivrii and Jake Lishman.
"LightSABRE: A Lightweight and Enhanced SABRE Algorithm"
`arXiv:2409.08368 <https://doi.org/10.48550/arXiv.2409.08368>`__
[2] Li, Gushu, Yufei Ding, and Yuan Xie. "Tackling the qubit mapping problem
for NISQ-era quantum devices." ASPLOS 2019.
`arXiv:1809.02573 <https://arxiv.org/pdf/1809.02573.pdf>`_
"""
Expand Down
5 changes: 5 additions & 0 deletions qiskit/transpiler/passes/layout/sabre_pre_layout.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ class SabrePreLayout(AnalysisPass):
``sabre_starting_layouts`` (``list[Layout]``)
An optional list of :class:`~.Layout` objects to use for additional Sabre layout trials.
**References:**
[1] Henry Zou and Matthew Treinish and Kevin Hartman and Alexander Ivrii and Jake Lishman.
"LightSABRE: A Lightweight and Enhanced SABRE Algorithm"
`arXiv:2409.08368 <https://doi.org/10.48550/arXiv.2409.08368>`__
"""

def __init__(
Expand Down
10 changes: 7 additions & 3 deletions qiskit/transpiler/passes/routing/sabre_swap.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,9 @@ class SabreSwap(TransformationPass):
r"""Map input circuit onto a backend topology via insertion of SWAPs.
Implementation of the SWAP-based heuristic search from the SABRE qubit
mapping paper [1] (Algorithm 1). The heuristic aims to minimize the number
of lossy SWAPs inserted and the depth of the circuit.
mapping paper [2] (Algorithm 1) with the modifications from the LightSABRE
paper [1]. The heuristic aims to minimize the number of lossy SWAPs inserted
and the depth of the circuit.
This algorithm starts from an initial layout of virtual qubits onto physical
qubits, and iterates over the circuit DAG until all gates are exhausted,
Expand All @@ -69,7 +70,10 @@ class SabreSwap(TransformationPass):
**References:**
[1] Li, Gushu, Yufei Ding, and Yuan Xie. "Tackling the qubit mapping problem
[1] Henry Zou and Matthew Treinish and Kevin Hartman and Alexander Ivrii and Jake Lishman.
"LightSABRE: A Lightweight and Enhanced SABRE Algorithm"
`arXiv:2409.08368 <https://doi.org/10.48550/arXiv.2409.08368>`__
[2] Li, Gushu, Yufei Ding, and Yuan Xie. "Tackling the qubit mapping problem
for NISQ-era quantum devices." ASPLOS 2019.
`arXiv:1809.02573 <https://arxiv.org/pdf/1809.02573.pdf>`_
"""
Expand Down

0 comments on commit 8783641

Please sign in to comment.