-
Notifications
You must be signed in to change notification settings - Fork 32
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Provide options in the cut-finder API to turn LO gate and wire cut fi…
…nding off or on, expose min-reached flag. (#586) * enable only wire cut finding * edit tests * explore adding new flags * Handle multiple arguments when cutting both wires * black, mypy, remove the erroneous example I added to the tutorial. * doc string * update doc string * update tests * reorganise tests * add cut both wires test * add release note * edit release note * un-expose LOCC cost functions everywhere * add min reached flag. * edit release note * Change to upper case in doc string * Italicize Co-authored-by: Jim Garrison <[email protected]> * Edit bool in release note Co-authored-by: Jim Garrison <[email protected]> * Update reference in release note Co-authored-by: Jim Garrison <[email protected]> * Edit reference in release note Co-authored-by: Jim Garrison <[email protected]> * pull changes --------- Co-authored-by: Jim Garrison <[email protected]>
- Loading branch information
1 parent
df3d536
commit e29d561
Showing
13 changed files
with
589 additions
and
346 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
38 changes: 20 additions & 18 deletions
38
docs/circuit_cutting/tutorials/04_automatic_cut_finding.ipynb
Large diffs are not rendered by default.
Oops, something went wrong.
10 changes: 10 additions & 0 deletions
10
releasenotes/notes/min-reached-finder-flag-aa6dd9021e165f80.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
features: | ||
- | | ||
A new ``minimum_reached`` field has been added to the metadata outputted by :func:`circuit_knitting.cutting.find_cuts` to check if the cut-finder found | ||
a cut scheme that minimized the sampling overhead. Note that the search algorithm employed by the cut-finder is *guaranteed* to find | ||
the optimal solution, that is, the solution with the minimum sampling overhead, provided it is allowed to run long enough. | ||
The user is free to time-restrict the search by passing in suitable values for ``max_backjumps`` and/or ``max_gamma`` to | ||
:class:`.OptimizationParameters`. If the search is terminated prematurely in this way, the metadata may indicate that the minimum | ||
was not reached, even though the returned solution `was` actually the optimal solution. This would mean that the search that was performed was not | ||
exhaustive enough to prove that the returned solution was optimal. |
6 changes: 6 additions & 0 deletions
6
releasenotes/notes/new-flags-to-control-cut-finder-search-e499e1ea49abb0bc.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
features: | ||
- | | ||
When specifying instances of :class:`.OptimizationParameters` that are inputted to :meth:`circuit_knitting.cutting.find_cuts()`, the user can now control whether the | ||
cut-finder looks only for gate cuts, only for wire cuts, or both, by setting the bools ``gate_lo`` and ``wire_lo`` appropriately. The default value | ||
of both of these is set to ``True`` and so the default search considers the possibility of both gate and wire cuts. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.