Python Framework for QUBO
1.0.0
$ pip3 install wildqat
or
$ git clone https://github.com/mdrft/Wildqat.git
$ python setup.py install
import wildqat as wq
a = wq.opt()
a.qubo = [[4,-4,-4],[0,4,-4],[0,0,4]]
a.sa() #=> [1, 1, 1]
print(a.E[-1]) #=>[0.0]
Some parameters for simualtion is adjustable
#for sa
a.Ts = 10 #default 5
a.R = 0.99 #default 0.95
a.ite = 10000 #default 1000
#for sqa
a.Gs = 100 #default 10
Energy function of the calculation is stored in attribute E as an array.
print(a.E[-1]) #=>[0.0]
#if you want to check the time evolution
a.plot()
It is convertible to the universal gate model pauli operator for qaoa simulations
wq.pauli(wq.sel(2,1))
# => -0.5*I + 0.5*Z[0]*Z[1]
With blueqat, you can easily simulate combinatorial optimization problem on Universal Gate Model link:Blueqat
import wildqat as wq
from blueqat import vqe
qubo = wq.pauli(wq.sel(4,1))
step = 4
result = vqe.Vqe(vqe.QaoaAnsatz(qubo,step)).run()
print(result.most_common(5))
# => (((0, 0, 1, 0), 0.24650337773427797), ((1, 0, 0, 0), 0.24650337773427794), ((0, 0, 0, 1), 0.24650337773427788), ((0, 1, 0, 0), 0.24650337773427783), ((0, 0, 0, 0), 0.0034271782738342416))
sel(N,K,array)
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. ]]
net(arr,N)
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
zeros(N) Create QUBO with all element value as 0
print(wq.zeros(3))
#=>
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
diag(list) Create QUBO with diag from list
print(wq.diag([1,2,1]))
#=>
[[1 0 0]
[0 2 0]
[0 0 1]]
English
https://wildqat.readthedocs.io/en/latest/
日本語
https://wildqat.readthedocs.io/ja/latest/
English
https://github.com/mdrft/Wildqat/tree/master/examples_en
日本語
https://github.com/mdrft/Wildqat/tree/master/examples_ja
Yuichiro Minato(MDR), Asa Eagle(MDR), Satoshi Takezawa(TerraSky), Seiya Sugo(TerraSky)
Copyright 2018 The Wildqat Developers.