wildqatパッケージ

WildqatはQUBOを扱うためのオープンソースフレームワークです。

class wildqat.opt[ソース]

SAおよびSQAの処理を行うためのクラス。

plot()[ソース]

エネルギー遷移をグラフ化します。matplotlibがインストールされている必要があります。

run(shots=1, sampler='normal', targetT=0.02, verbose=False)[ソース]

Simulated Annealingを実行します。qubo属性をセットしてから呼び出してください。

sqa()[ソース]

Simulated Quantum Annealingを実行します。qubo属性をセットしてから呼び出してください。

E = None

sa()またはsqa()呼び出し後に、そのエネルギー遷移がListとして保持されています [SA] [SQA]

Gf = None

横磁場の最終値

Gs = None

横磁場の初期値

R = None

次のイテレーションの温度(SA)や横磁場(SQA)を決めるための係数

RBMvisible = None

RBM Models

Tf = None

温度の最終値 [SA] または 温度 [SQA]

Ts = None

温度の初期値 [SQA]

ite = None

イテレーション数 [SA] [SQA]

qubo = None

QUBO

tro = None

トロッター数 [SQA]

wildqat.diag(diag_ele)[ソース]

Create QUBO with diag from list

print(wq.diag([1,2,1]))
#=>
[[1 0 0]
[0 2 0]
[0 0 1]]
wildqat.net(narr, nnet)[ソース]

Automatically create QUBO which has value 1 for all connectivity defined by array of edges and graph size N

print(wq.net([[0,1],[1,2]],4))
#=>
[[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]

this create 4*4 QUBO and put value 1 on connection between 0th and 1st qubit, 1st and 2nd qubit

wildqat.pauli(qubo)[ソース]

Convert to pauli operators of universal gate model. Requires blueqat.

wildqat.rands(rands_ele)[ソース]

Create random QUBO

wildqat.sel(selN, selK, selarr=[])[ソース]

Automatically create QUBO which select K qubits from N qubits

print(wq.sel(5,2))
#=>
[[-3  2  2  2  2]
[ 0 -3  2  2  2]
[ 0  0 -3  2  2]
[ 0  0  0 -3  2]
[ 0  0  0  0 -3]]

if you set array on the 3rd params, the result likely to choose the nth qubit in the array

print(wq.sel(5,2,[0,2]))
#=>
[[-3.5  2.   2.   2.   2. ]
[ 0.  -3.   2.   2.   2. ]
[ 0.   0.  -3.5  2.   2. ]
[ 0.   0.   0.  -3.   2. ]
[ 0.   0.   0.   0.  -3. ]]
wildqat.zeros(zeros_ele)[ソース]

Create QUBO with all element value as 0

print(wq.zeros(3))
#=>
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]