Python: 手動ダウンロード¶
対応環境¶
PyQBPP は以下の CPU を搭載した Linux ベースのシステムで動作します:
amd64: 64ビット Intel および AMD プロセッサ
arm64: 64ビット ARM プロセッサ (aarch64)
必要条件:
Ubuntu 20.04 以降(glibc 2.31 以上,manylinux_2_31 wheel)
Python 3.8 以降
pip20.3 以降(PEP 600 manylinux_2_31 wheel に対応するため)
Windows ユーザーは WSL (Windows Subsystem for Linux) を通じて PyQBPP を使用できます.
インストール¶
PyQBPP のインストール方法は2つあります:
方法1: PyPI(推奨) — Python Package Index から公開パッケージを直接インストール.
方法2: ローカル wheel — ダウンロードした
.whlファイルからインストール(オフライン環境や特定バージョンを固定したい場合に便利).
どちらの方法も,Python 仮想環境(venv)内でインストールすれば sudo 権限は不要です.
ここでは方法2: ローカル wheel によるインストールを紹介します.
ステップ1: ローカル wheel によるインストール¶
Latest Releases ページから最新の PyQBPP リリースの .whl ファイルをダウンロードし,pip でインストールします:
python3 -m venv ~/qbpp-env
source ~/qbpp-env/bin/activate
pip install pyqbpp-<VERSION>-py3-none-manylinux_2_31_x86_64.whl
<VERSION> は実際のリリースバージョンに置き換え,CPU アーキテクチャに応じて wheel を選択してください(amd64 なら x86_64,arm64 なら aarch64).
環境変数の設定は不要です.
wheel には共有ライブラリ(qbpp_*.so,easysolver_*.so,exhaustive_*.so,abs3_*.so)と qbpp-license コマンドがすべて同梱されており,pip が仮想環境内に自動的に配置します.
ステップ2: Trial ライセンスの取得¶
qbpp-license -sを実行 — 端末に本日の8文字サインアップコードと portal URL が表示されます:
QUBO++ Trial Sign-up Code: XXXXXXXX
Use this code at the QUBO++ User Portal to register for a Trial license:
https://qubo-plus.github.io/portal/
https://qubo-plus.github.io/portal/ を開き, アカウントの作成をクリックします.

Sign-up code の項目に 1. のコード
XXXXXXXXを入力し, 必要事項を記入します.
メール検証後,Trial ライセンスキー (
T-PREFIX-XXXXXX-XXXXXX-XXXXXX,PREFIX はメールローカル部から導出) が portal 上に表示されます.
マシンで
qbpp-license -k T-... -aでアクティベートしてください:
qbpp-license -k T-PREFIX-XXXXXX-XXXXXX-XXXXXX -a
30日のTrial期間はサインアップ時から開始します — キー発行と同時に期限が確定するため,portal 上ですぐに有効期限を確認できます.期限の1週間前から User Portal で Trial の更新が可能です.更新時は同じライセンスキーがそのまま使われ,有効期限のみが30日延長されます — マシンのアクティベーション情報も保持されるため,再アクティベートは不要です.
詳しくはライセンス管理を参照してください.
ステップ3: サンプルプログラムのコンパイルと実行¶
PyQBPP のインポート¶
PyQBPP は,係数型・エネルギー型の組み合わせごとに複数のサブモジュールを提供しています.扱う係数・エネルギーの大きさに応じて選択してください:
import pyqbpp as qbpp # デフォルト: coeff=int32, energy=int64 (c32e64)
# import pyqbpp.c32e32 as qbpp # coeff=int32, energy=int32
# import pyqbpp.c64e64 as qbpp # coeff=int64, energy=int64
# import pyqbpp.c64e128 as qbpp # coeff=int64, energy=int128
# import pyqbpp.c128e128 as qbpp # coeff=int128, energy=int128
# import pyqbpp.cppint as qbpp # coeff=cpp_int, energy=cpp_int(任意精度)
import pyqbpp as qbpp は import pyqbpp.c32e64 as qbpp と等価であり,ほとんどの問題ではこれで十分です.
目的関数の係数やエネルギーが 32/64 ビット整数をオーバーフローし得る場合は,より大きい型のバリアントを使用してください.任意精度演算が必要な場合は pyqbpp.cppint を選びます.
1つの Python プロセスからは1つのバリアントのみをインポートしてください.
Hi-QUBO サンプルプログラムの作成¶
以下の Hi-QUBO サンプルプログラムを作成し,ファイル test.py として保存してください:
import pyqbpp as qbpp
a = qbpp.var("a")
b = qbpp.var("b")
c = qbpp.var("c")
f = qbpp.sqr(a + 2 * b + 3 * c - 4)
f = qbpp.simplify_as_binary(f)
print("f =", f)
solver = qbpp.EasySolver(f)
sol = solver.search(time_limit=10, target_energy=0)
print("sol =", sol)
このプログラムでは,次の式\(f\)を展開整理して得られたQUBO式をEasySolverで解を求めます.
プログラムの実行¶
test を以下のように実行すると,\(f\)を展開して得られた式と解を表示します:
python3 test.py
f = 16 -7*a -12*b -15*c +4*a*b +6*a*c +12*b*c
sol = Sol(energy=0, {a: 1, b: 0, c: 1})
ライセンスのアクティベーション¶
インストール後,ライセンスをアクティベートして PyQBPP の使用を開始します:
qbpp-license -k XXXXXX-XXXXXX-XXXXXX-XXXXXX -a
qbpp-license コマンドは wheel によって仮想環境の bin/ ディレクトリにインストールされるため,venv をアクティベートすると自動的に PATH 上で利用可能になります.
無料の Trial ライセンス(30日間,10,000変数)は Hi-QUBO User Portal で取得できます.qbpp-license -s を実行してサインアップコードを得て,portal で登録,qbpp-license -k <KEY> -a で受け取ったキーをアクティベートしてください.
実行時に QBPP_LICENSE_KEY を使う¶
qbpp-license -a によるアクティベーションの代わりに,QBPP_LICENSE_KEY 環境変数でライセンスキーを渡すこともできます.コンテナ,CI ジョブ,Lambda/サーバレス環境など,ライセンスファイルを保存するのが難しい環境で特に便利です:
export QBPP_LICENSE_KEY=XXXXXX-XXXXXX-XXXXXX-XXXXXX
python3 my_qbpp_program.py
QBPP_LICENSE_KEY が設定されている場合,PyQBPP はディスクに状態を書き込まず,実行時にそのキーを直接使用します.
ライセンスの種類,ディアクティベーション,トラブルシューティングなどの詳細は ライセンス管理 をご覧ください.