release:
dev status:
bqpjson is a minimalist python package for working with bqpjson data files, a json-based encoding of binary quadratic programs. A detailed description of the bqpjson data format is available here.
The package can be installed via:
pip install bqpjson
The bqpjson toolset includes:
- bqpjson - python tools for the validation and transformation of bqpjson data (documentation)
- bqpjson-schema.json - a JSON-Schema for bqpjson data files
- spin2bool - a command line tool for converting a bqpjson data files between the spin and boolean variable spaces
- bqp2qh - a command line tool for converting bqpjson data files into qubist compatible hamiltonians
- bqp2qubo - a command line tool for converting bqpjson data into qubo data
- bqp2mzn - a command line tool for converting bqpjson data into a minizinc model
- bqp2hfs - a command line tool for converting bqpjson data into hfs data
An example of bqpjson data:
{
"description":"a simple model",
"id": 0,
"linear_terms": [
{"coeff": 1.3, "id": 2},
{"coeff": -0.7, "id": 6}
],
"metadata": {},
"offset": 0.0,
"quadratic_terms": [
{"coeff": -0.2, "id_head": 4, "id_tail": 2},
{"coeff": 1.5, "id_head": 6, "id_tail": 2}
],
"scale": 1.0,
"variable_domain": "spin",
"variable_ids": [2,4,6],
"version": "1.0.0"
}
bqpjson is developed at Los Alamos National Laboratory and is provided under a BSD-ish license with a "modifications must be indicated" clause. See the LICENSE.md file for the full text. This package is part of the Hybrid Quantum-Classical Computing suite, known internally as LA-CC-16-032.
staged
- nothing
v0.5.3
- added scaling and offset return values to bqpjson_to_hfs
v0.5.2
- improved bqp2hfs robustness to coefficient precision issues
- dropped support for python 2.7 and 3.4
v0.5.1
- added support for translation to the HFS data format
v0.5.0
- initial release