Skip to main content

A collection of solvers for simulated quantum annealing.

Project description

Sqaod is a collection of sovlers for simulated quantum annealing, providing a high-performant and stable implementation to simulate quantum annealing.

This package is intended for researchers and engineers to explore various problems on qunatum computing with conventional workstations and servers. Sqaod is also available for deployment in commercial usecases. Please visit sqaod website and sqaod wiki at github for details.

Installation

In order to use sqaod, you also need to install native libraries. Please visit Installation for details.

Features

  • Solving annealing problems with simple mathmatical definitions.

    Sqaod is capable to deal with two graphs of dense graph and bipartite graph. These graphs have simple mathmatical representations, and directly solved without any modifications.

    • Dense graph is the most generic form of QUBO, and utilized for problems such as TSP.

    • Bipartite graph is for problems that have input and output nodes in graph. An example is RBM.

  • Two solver algorithm, brute-force search and monte-carlo-based simulated quantum annealer are implemented.

    • Monte-carlo based simulated quantum annealer is to get approximated solutions for problems with larger number of bits.|br| One can solve problems with thousands of bits for dense graph and bipartite graph with simulated quantum anneaers.

    • Brute-force search is for getting strict solutions for problems with smaller number of bits. With brute-force solvers, strict solutions for 30-bit Problem are able to be obtained within tens of seconds when high-end GPUs are utilized.

  • Acceerated on CPU and GPU.

    Sqaod solvers have C++- and CUDA-based backends for acceleration.

    • Multi-core CPUs with OpenMP are utilized for CPU-based solvers.

    • NVIDIA GPUs by using CUDA are utilized for GPU-based solvers.

  • Able to solve problems with large number of bits.

    Sqaod is a software implementation for simulated quantum annealing. Solvers are able to deal with problems with a large number of bits, while other hardware devices have limitation on solving large problems.

    Problem sizes are limited by memory amount and/or calculation time. On recent workstations and servers large amount of DRAM are available, and performance of Sqaod is excellent since it’s optimized on modern computing devices.

Release history

Current version is 1.0.2.

  • Ver 1.0.2

    • Version 1.0.2 includes miscellaneous bug fixes, that affect annealing behavior. Please update to 1.0.2 if you’re using older versions.

    • getSystemE() is added to solvers to calculate system energy during annealing. [#60]

    • sqaod.algorithm.sa_default is added to select default SA algorithms in annealers. [#61]

    • calculate_E() and make_solutions() are not required to get QUBO energy and solutions. These functions are for caching energies and solutions. [#63]

    • Python solvers return copies of objects.[#62]

    • Fix: anneal_one_step() for SA algorithm did not work, since parameters are not correctly passed. [#65]

    • Fix: QUBO energy was not correctly calculated and beta was not correctly applied in SQA algorithms. [#64]

    • Fix: symmetrize() was not correctly handled. [#66]

  • Ver 1.0.1

    • Documentation prepared.

    • Updated some version sinagures that were not updated.

  • Ver 1.0.0

    • All solvers and functions are able to accept upper/lower triangular matrices. [#57].

    • Simulated annealing algorithms (not simulated quantum annealing) have been implemented. It’s automatically selected when n_trotters == 1. [#59].

    • Misc bug fixes.

  • Ver 0.3.1 (Beta2 Update1)

    • No changes in solvers and programming interface

    • Adding environmental checks(library installation, versions).

  • Ver 0.3.0 (Beta2)

    • Python interfaces are fixed, and most functionalities are tested.

    • Remaining works are optimizations and documentation, which are going to be made by Beta2 planned in the end of June.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqaod-1.0.2.tar.gz (25.7 kB view details)

Uploaded Source

Built Distributions

sqaod-1.0.2-cp37-cp37m-manylinux1_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.7m

sqaod-1.0.2-cp36-cp36m-manylinux1_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.6m

sqaod-1.0.2-cp35-cp35m-manylinux1_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.5m

sqaod-1.0.2-cp27-cp27mu-manylinux1_x86_64.whl (1.0 MB view details)

Uploaded CPython 2.7mu

File details

Details for the file sqaod-1.0.2.tar.gz.

File metadata

  • Download URL: sqaod-1.0.2.tar.gz
  • Upload date:
  • Size: 25.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.19.9 CPython/2.7.12

File hashes

Hashes for sqaod-1.0.2.tar.gz
Algorithm Hash digest
SHA256 a002e05291170dbec6e4ddb7282c0b8fd115f4a68ad555692ee3f2c3354aba00
MD5 aafde2cd4403ab1d374e1774eda40837
BLAKE2b-256 1f35fcf783a6736c7ea30a90d3bbdaa4b80dd457114b4572f09fc1cbf757a047

See more details on using hashes here.

File details

Details for the file sqaod-1.0.2-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: sqaod-1.0.2-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.19.9 CPython/2.7.12

File hashes

Hashes for sqaod-1.0.2-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2750606becf5c6a4e64b95eb3ca55fbc236af0371da331b7743f54858f9801f2
MD5 9a8b7ed0912b1eaf96b074190c620af2
BLAKE2b-256 4a4826317e9998518bac6eae8a904d3ed0fc647dba79e9b26edd2c7e3dd41c11

See more details on using hashes here.

File details

Details for the file sqaod-1.0.2-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: sqaod-1.0.2-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.19.9 CPython/2.7.12

File hashes

Hashes for sqaod-1.0.2-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6f1a34e4f33a5db5ef2002c673e87d7007c338d884fe9206b4a91e8d658bd331
MD5 71eb6373b040444e10eab09a50708d5d
BLAKE2b-256 9c16f57eaaf35487b501a309c2c3cea3e8a56f7d471cfd7f7ca0ea10acf00f0a

See more details on using hashes here.

File details

Details for the file sqaod-1.0.2-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: sqaod-1.0.2-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.19.9 CPython/2.7.12

File hashes

Hashes for sqaod-1.0.2-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a8e333f2e89ed5d06abb54dfe2bc951b66a496c4049cec356bddb01f2220520f
MD5 02f46c031deb9f54ef8670b23f324384
BLAKE2b-256 15f50e8f959b1b6723f95c9906781a9335a1c4b79b2da3b199f5d70eabcaa397

See more details on using hashes here.

File details

Details for the file sqaod-1.0.2-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: sqaod-1.0.2-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.19.9 CPython/2.7.12

File hashes

Hashes for sqaod-1.0.2-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 343d63bf88962dbcc114006c8b4b1a3f44ef1ff3319cb5b55789cd5c0c112bd0
MD5 b147ef8cd6d2bc029e426d8b7f29f394
BLAKE2b-256 ed5b59d8f090cbdb4917e9420ea2e1640f982b19b38426ebbb0a9e0a429d788f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page