import os
import sys
print(os.getcwd())
os.chdir('../../')
print(os.getcwd())
sys.path.insert(0,os.getcwd())
/home/rrtucci/PycharmProjects/qubiter/qubiter/jupyter_notebooks /home/rrtucci/PycharmProjects/qubiter
import qubiter.adv_applications.setup_autograd # do this first
from qubiter.adv_applications.MeanHamil_native import *
from qubiter.adv_applications.MeanHamilMinimizer import *
np installed? False numpy installed? True autograd.numpy installed? True loaded OneQubitGate, WITH autograd.numpy pu2 in dir True pu2 in sys.modules False
num_qbits = 2
file_prefix = 'mean_hamil_rigetti_test1'
emb = CktEmbedder(num_qbits, num_qbits)
wr = SEO_writer(file_prefix, emb)
wr.write_Rx(0, rads='#1')
wr.write_Ry(0, rads='-#2*.5')
wr.close_files()
wr.print_eng_file(jup=True)
1 | ROTX #1 AT 0 | 2 | ROTY -#2*.5 AT 0 |
wr.print_pic_file(jup=True)
1 | | Rx | 2 | | Ry |
fun_name_to_fun = None
hamil = QubitOperator('Z0', 1.)
print('hamil=\n', hamil)
hamil= 1.0 [Z0]
init_var_num_to_rads = {1: .3, 2: .8}
all_var_nums = [1, 2]
num_samples = 0
print_hiatus = 4
verbose = False
np.random.seed(1234)
emp_mhamil = MeanHamil_native(file_prefix, num_qbits, hamil,
all_var_nums, fun_name_to_fun, simulator_name='SEO_simulator', num_samples=num_samples)
targ_mhamil = MeanHamil_native(file_prefix, num_qbits, hamil,
all_var_nums, fun_name_to_fun, simulator_name='SEO_simulator') # zero samples
mini = MeanHamilMinimizer(emp_mhamil, targ_mhamil,
all_var_nums, init_var_num_to_rads,
print_hiatus=print_hiatus, verbose=verbose)
mini.find_min(minlib='autograd', num_iter=40, descent_rate=.1)
x_val~ (#1, #2) iter=0, cost=0.575017, targ_cost=0.575017, x_val=0.300000, 0.800000 iter=4, cost=0.123982, targ_cost=0.123982, x_val=0.678570, 0.946258 iter=8, cost=-0.434184, targ_cost=-0.434184, x_val=1.138412, 0.837671 iter=12, cost=-0.804328, targ_cost=-0.804328, x_val=1.451798, 0.595875 iter=16, cost=-0.920328, targ_cost=-0.920328, x_val=1.549012, 0.399637 iter=20, cost=-0.965189, targ_cost=-0.965189, x_val=1.567496, 0.264552 iter=24, cost=-0.984857, targ_cost=-0.984857, x_val=1.570338, 0.174248 iter=28, cost=-0.993450, targ_cost=-0.993450, x_val=1.570735, 0.114517 iter=32, cost=-0.997175, targ_cost=-0.997175, x_val=1.570788, 0.075189 iter=36, cost=-0.998783, targ_cost=-0.998783, x_val=1.570795, 0.049347
num_qbits = 4
file_prefix = 'mean_hamil_rigetti_test2'
emb = CktEmbedder(num_qbits, num_qbits)
wr = SEO_writer(file_prefix, emb)
wr.write_Ry(2, rads=np.pi/7)
wr.write_Ry(1, rads='#2')
wr.write_Rx(1, rads='#1')
wr.write_cnot(2, 3)
wr.write_qbit_swap(1, 2)
wr.close_files()
wr.print_eng_file(jup=True)
1 | ROTY 25.714286 AT 2 | 2 | ROTY #2 AT 1 | 3 | ROTX #1 AT 1 | 4 | SIGX AT 3 IF 2T | 5 | SWAP 2 1 |
wr.print_pic_file(jup=True)
1 | | Ry | | | 2 | | | Ry | | 3 | | | Rx | | 4 | X---@ | | | 5 | | <---> | |
fun_name_to_fun = None
hamil = QubitOperator('X1 Y3 X1 Y1 X2', .4) + QubitOperator('Y2 X1', .7)
print('hamil=\n', hamil)
hamil= 0.7 [X1 Y2] + 0.4 [Y1 X2 Y3]
init_var_num_to_rads = {1: 2.1, 2:1.2}
all_var_nums = [1, 2]
num_samples = 0
print_hiatus = 2
verbose = False
np.random.seed(1234)
emp_mhamil = MeanHamil_native(file_prefix, num_qbits, hamil,
all_var_nums, fun_name_to_fun, simulator_name='SEO_simulator', num_samples=num_samples)
targ_mhamil = MeanHamil_native(file_prefix, num_qbits, hamil,
all_var_nums, fun_name_to_fun, simulator_name='SEO_simulator') # zero samples
mini = MeanHamilMinimizer(emp_mhamil, targ_mhamil,
all_var_nums, init_var_num_to_rads,
print_hiatus=print_hiatus, verbose=verbose)
mini.find_min(minlib='autograd', num_iter=20, descent_rate=.1)
x_val~ (#1, #2) iter=0, cost=-0.211239, targ_cost=-0.211239, x_val=2.100000, 1.200000 iter=2, cost=-0.248413, targ_cost=-0.248413, x_val=2.100000, 1.111845 iter=4, cost=-0.273138, targ_cost=-0.273138, x_val=2.100000, 1.039734 iter=6, cost=-0.288820, targ_cost=-0.288820, x_val=2.100000, 0.982194 iter=8, cost=-0.298464, targ_cost=-0.298464, x_val=2.100000, 0.937017 iter=10, cost=-0.304281, targ_cost=-0.304281, x_val=2.100000, 0.901905 iter=12, cost=-0.307749, targ_cost=-0.307749, x_val=2.100000, 0.874784 iter=14, cost=-0.309801, targ_cost=-0.309801, x_val=2.100000, 0.853911 iter=16, cost=-0.311011, targ_cost=-0.311011, x_val=2.100000, 0.837884 iter=18, cost=-0.311723, targ_cost=-0.311723, x_val=2.100000, 0.825593