Hi-QUBO

クイックリファレンス: 変数と式

使用されるデータ型 qbpp::Expr

利用可能な整数データ型

警告: パフォーマンス
を最大化するため、QUBO++ は算術オーバーフローをチェックしません。
開発およびテスト時には、より広いビット幅を使用することを推奨します。 coeff_t および energy_tのビット幅を広く設定することを推奨します。 必要なビット
幅が不明な場合は、 qbpp::cpp_int を使用して正確性を確保し、 検証後に固定幅整数型に切り替えてください。

クラスオブジェクトの出力

QUBO++ のほとんどのクラスは << 演算子と std::ostreamデバッグに有用です。 例えば、QUBO++内のオブジェクト obj は以下のように出力できます std::cout 次のように出力できます:

std::cout << obj << std::endl;

これにより、 obj.str() または str(obj)を呼び出し、objのテキスト表現を含む std::stringを返します。 この設計により、デバッガーに依存せずに内部状態を簡単に確認できます。

変数クラス

注記
オブジェクト qbpp::Var オブジェクトは変数を記号的に表現します。特定のデータ
型は関連付けられていません。バイナリ、スピン、その他のタイプの変数を表現するために使用できます

変数作成関数

変数を作成するために以下の関数が提供されています:

注記
もし "name" が省略された場合、番号付きの名前(例: "{0}", "{1}", … などの番号付き名前が作成順に自動的に割り当てられます。

qbpp::Var メンバ関数

インスタンスに対して qbpp::Var インスタンス xに対して、以下のメンバ関数が利用可能です:

通常、QUBO++プログラムではこれらのメンバ関数を明示的に呼び出す必要はありません。

整数変数クラス

整数変数作成関数

整数変数を作成するために以下の関数が提供されます:

整数変数メンバー関数

qbpp::VarInt 例えば xに対して、以下のメンバ関数が利用可能です:

次の式は、 x:

x.min_val() + qbpp::sum(x.coeffs() * x.vars())

最終更新日: 2025.12.31