This is a software package to support the mapping of combinatorial optimization problems to quantum computing interfaces via QUBO and Ising problems.
Project description
quark - QUantum Application Reformulation Kernel
This is a software package to support the mapping of combinatorial optimization problems to quantum computing interfaces via QUBO and Ising problems.
Documentation
The full documentation can be found here.
Description of the Basic Ideas
The combinatorial optimization problem is rewritten as a single (quadratic unconstrained binary) objective function.
The usual way to build it up is to use the following structure:
In the Instance we describe the problem defining parameters.
From the instance, we construct the ObjectiveTerms,
containing the different contributions to the objective function,
in particular the ones derived from problem constraints.
The objective terms can be implemented directly or derived from a ConstrainedObjective,
which contains the objective function and multiple constraints, implemented as ConstraintBinary.
The objective terms can now be used to create the Objective
by summing up the single terms weighted with a certain so-called penalty weight.
All objective objects contain Polynomials representing the functions.
There are special polynomials, PolyBinary and PolyIsing,
which take advantage of the restriction to either binary (0 or 1) or spin (-1 or 1) variables.
The ScipModel is an interface to the classical MILP solver SCIP,
which can solve a ConstrainedObjective or a (small enough) Objective for comparison.
In Solution, we store not only the optimal variable assignment but also further information,
like runtime etc., which are obtained during the solving process.
Furthermore, we have the HardwareAdjacency and the Embedding,
which are useful when dealing with actual hardware.
All mentioned objects also provide methods to store and load their information in and from hdf5 files.
License
This project is Apache-2.0 licensed.
Copyright © 2025 German Aerospace Center (DLR) - Institute of Software Technology (SC).
Please find the individual contributors here and information for citing this package here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dlr_sc_quark-1.2.1.tar.gz.
File metadata
- Download URL: dlr_sc_quark-1.2.1.tar.gz
- Upload date:
- Size: 104.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b63e2086e22ef4739bca21c6482024eef899c122f75eb02d51074cca0336976
|
|
| MD5 |
a1e188f3f4db9e10fdbb4aa0303938e6
|
|
| BLAKE2b-256 |
337bbd26299d7f8ceebc9d27f7f9c4456a02cbb6ed5b1e7e0efa95eecb5ddc36
|
File details
Details for the file dlr_sc_quark-1.2.1-py3-none-any.whl.
File metadata
- Download URL: dlr_sc_quark-1.2.1-py3-none-any.whl
- Upload date:
- Size: 106.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
655a9d4128fe4c3b3c3cb6ef6e7051ea013ecc1934e3b176f562f95c98aec6f8
|
|
| MD5 |
37baef1f9bb3358d2c026b8a409c34a2
|
|
| BLAKE2b-256 |
728048bc581c76f78b2817884de88a15ab922eaf7676d2846d7df0ada5d90da1
|