示例#1
0
def qtest(angle):
    state = QuantumState(3)
    state.set_Haar_random_state()
    circuit = QuantumCircuit(3)
    circuit.add_X_gate(0)
    merged_gate = merge(CNOT(0, 1), Y(1))
    circuit.add_gate(merged_gate)
    circuit.add_RX_gate(1, angle)
    circuit.update_quantum_state(state)
    observable = Observable(3)
    observable.add_operator(2.0, "X 2 Y 1 Z 0")
    observable.add_operator(-3.0, "Z 2")
    result = observable.get_expectation_value(state)

    output = {'energy': result}
    return (output)
示例#2
0
    def test_prepstate(self):
        n_qubit = 4
        dim = 2**n_qubit

        from qulacs import QuantumState
        from qulacs.state import inner_product
        s0 = QuantumState(n_qubit)
        s0.set_Haar_random_state()

        s1 = freqerica.circuit.universal.prepstate(n_qubit, s0.get_vector())
        print(inner_product(s0, s1))

        civec = {0b0011: .5, 0b0101: +.5j, 0b1001: -.5j, 0b0110: -.5}
        s2 = freqerica.circuit.universal.prepstate(n_qubit, civec)
        print(s2)

        assert True
示例#3
0
# cost function after training
#print(result.fun)

# theta after training
theta_opt = result.x
print(theta_opt)


# inference over test data only
n_data = 20
X = list()

# Put the optimized theta to U_out
set_U_out(theta_opt)

input_value = list()
for i in range(n_data):
    state.set_Haar_random_state()
    #x = random.random()
    #input_value.append(x)
    state.set_zero_state() # U_in|000>
    # Input test data only 
    U_in(input_test[i]).update_quantum_state(state)
    .append(qcl_pred(state, U_out))
    
plt.plot(input_value, X, 'o', color='black')
plt.show()
plt.savefig('qcl_regression.png')