Skip to content

Reduce several arbitrary-connectivity optimization problems into maximum independent set problems on a grid

License

Notifications You must be signed in to change notification settings

carstenblank/UnitDiskMapping.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UnitDiskMapping

CI codecov

Installation

UnitDiskMapping is a   Julia Language   package for reducing a generic maximum (weighted) independent set problem, quadratic unconstrained binary optimization (QUBO) problem or integer factorization problem to a maximum independent set problem on a unit disk grid graph (or hardcore lattice gas in physics), which can then be naturally encoded in neutral-atom quantum computers. To install UnitDiskMapping, please open Julia's interactive session (known as REPL) and press the ] key in the REPL to use the package mode, and then type the commands below.

For installing the current master branch, please type:

pkg> add https://github.com/QuEraComputing/UnitDiskMapping.jl.git

For stable release (not yet ready):

pkg> add UnitDiskMapping

Examples

Please check this notebook, which contains the following examples:

  • Reduction from a generic weighted or unweighted maximum independent set (MIS) problem to that on a diagonal coupled unit-disk grid graph (DUGG).
  • Reduction from a generic or square-lattice QUBO problem to an MIS problem on a unit-disk grid graph.
  • Reduction from an integer factorization problem to an MIS problem on a unit-disk grid graph.

To run the notebook locally, you will need the Pluto and GenericTensorNetworks Julia packages installed. You can run the following after entering the Package mode:

pkg> add Pluto
pkg> add GenericTensorNetworks

and returning to the Julia REPL (you can do this by hitting Backspace in the Package mode) to run:

julia> import Pluto; Pluto.run()

in the notebooks directory of this project. At this point, your browser should automatically launch and display a list of available notebooks you can run. You should just see tutorial.jl listed.

Supporting and Citing

Much of the software in this ecosystem was developed as a part of an academic research project. If you would like to help support it, please star the repository. If you use our software as part of your research, teaching, or other activities, we would like to request you to cite our work. The CITATION.bib file in the root of this repository lists the relevant papers.

About

Reduce several arbitrary-connectivity optimization problems into maximum independent set problems on a grid

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Julia 100.0%