The TitanQ SDK for python
Project description
The TitanQ SDK for Python
TitanQ is the InfinityQ Software Development Kit (SDK) for Python. The SDK facilitates and opens the way for faster implementation of the TitanQ solver without having to deal directly with the TitanQ API.
This TitanQ package is maintained and published by InfinityQ
API Key
In order to use the TitanQ service, a user needs an API key. The API key can be obtained by contacting InfinityQ support
Installation
The following steps assume that you have:
- A valid and active API Key
- A supported Python version installed
Setting up an environment
python -m venv .venv
.venv/bin/activate
Install TitanQ
pip install titanq
Using TitanQ
The TitanQ solver is designed to support very large problems and therefore very large files. To simplify the user experience, TitanQ will instead use cloud storage set up and managed by the end users.
Currently, the SDK only supports two types of storage
Storage options | Vector variables limit |
---|---|
S3 Buckets | ✅ Up to 100k vector variables |
Managed storage | ⚠️ Up to 10k vector variables |
Both options are documented with examples at the TitanQ's Quickstart documentation
Problem construction
NOTE: The weights matrix must be symmetrical.
The QUBO problem is defined as finding the minimal energy configuration (the state $\mathbf{x}$ which results in the minimal $E(\mathbf{x})$). Each state $\mathbf{x}$ is a vector of $n$ binary elements $x_i$ which can take the values of 0 or 1 (binary values). This model formulation is given in the equation below
The bias terms of a QUBO model are stored along the diagonal of the $\mathbf{Q}$ matrix. However, to simplify converting between Ising and QUBO models, we assume that the diagonals of the $\mathbf{Q}$ matrix are 0, and take in an additional bias vector instead. To avoid confusion, the modified $\mathbf{Q}$ matrix with 0s along its diagonal is referred to as the weights matrix, denoted by
denotes the biases, which are used in the final model formulation described below
Additional parameters are available to tune the problem:
- beta
- coupling_mult
- num_chains
- num_engines
For more informations how to use theses parameters, please refer to the API documentation
Getting support or help
Further help can be obtained by contacting InfinityQ support
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
File details
Details for the file titanq-0.22.2.tar.gz
.
File metadata
- Download URL: titanq-0.22.2.tar.gz
- Upload date:
- Size: 36.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28b125f70113f53a6fe52bae9913dd4f0bdb703ff9123c22b4d844987f530466 |
|
MD5 | a1bd55487f5871f03bb23d2372839a36 |
|
BLAKE2b-256 | acc143279b97f85d39b20f5aac149bcccb61cca772f336e35b75c43495bc2176 |
File details
Details for the file titanq-0.22.2-py3-none-any.whl
.
File metadata
- Download URL: titanq-0.22.2-py3-none-any.whl
- Upload date:
- Size: 41.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04a477ac62d4bed84ac716849bb776a1a83e0b5ac32cc9c2843657c8fa1b854e |
|
MD5 | a010c2843b40a94524b5e62d72f841b2 |
|
BLAKE2b-256 | 47034529affa831bfcdf0d3de9d1188a8bac07ea0ee217760e0c628990490098 |