Python: pip

対応環境

PyQBPP は以下の CPU を搭載した Linux ベースのシステムで動作します:

  • amd64: 64ビット Intel および AMD プロセッサ

  • arm64: 64ビット ARM プロセッサ (aarch64)

必要条件:

  • Ubuntu 20.04 以降(glibc 2.31 以上,manylinux_2_31 wheel)

  • Python 3.8 以降

  • pip 20.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 権限は不要です.

ここでは方法1: PyPI(推奨) によるインストールを紹介します.

ステップ1: PyPI によるインストール(推奨)

PyQBPP は PyPI で公開されています. パッケージの詳細については,PyQBPP PyPI ページを参照してください.

システムのパッケージと分離するため,Python 仮想環境(venv)の使用を推奨します:

python3 -m venv ~/qbpp-env
source ~/qbpp-env/bin/activate
pip install pyqbpp

ステップ2: Trial ライセンスの取得

  1. 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/
  1. https://qubo-plus.github.io/portal/ を開き, アカウントの作成をクリックします. アカウントを作成

  2. Sign-up code の項目に 1. のコード XXXXXXXX を入力し, 必要事項を記入します. サインアップコード

  3. メール検証後,Trial ライセンスキー (T-PREFIX-XXXXXX-XXXXXX-XXXXXX,PREFIX はメールローカル部から導出) が portal 上に表示されます. トライアルキー

  4. マシンで qbpp-license -k T-... -a でアクティベートしてください:

qbpp-license -k T-PREFIX-XXXXXX-XXXXXX-XXXXXX -a

30日のTrial期間はサインアップ時から開始します — キー発行と同時に期限が確定するため,portal 上ですぐに有効期限を確認できます.期限の1週間前から User Portal で Trial の更新が可能です.更新時は同じライセンスキーがそのまま使われ,有効期限のみが30日延長されます — マシンのアクティベーション情報も保持されるため,再アクティベートは不要です.

詳しくはライセンス管理を参照してください.

ステップ4: サンプルプログラムのコンパイルと実行

Hi-QUBO サンプルプログラムの作成

以下の Hi-QUBO サンプルプログラムを作成し,ファイル test.py として保存してください:

quick-start-program1.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で解を求めます.

\[ \begin{aligned} f &= (a+2b+3c-4)^2 \end{aligned} \]

プログラムの実行

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})

ライセンスのアクティベーション

インストール後,ライセンスをアクティベートして Hi-QUBO の使用を開始します:

qbpp-license -k XXXXXX-XXXXXX-XXXXXX-XXXXXX -a

アップグレード

pip install --upgrade pyqbpp

アンインストール

pip uninstall pyqbpp