Skip to content

lanl-ansi/bqpjson

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

bqpjson

release:

Documentation Status

dev status:

Build Report Coverage Report Documentation 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"
}

License

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.

Changelog

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