pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning

Module Contents

Classes

qcl

Functions

pauliX(qubit_list, coef, t)

pauliZjZk(qubit_list, coef, t)

initial_state(qubit_list, x)

input x

ising_model_simulation(qubit_list, hamiltonian_coef2d, ...)

simulation of Ising model Hamiltonian: H=aiXi+JjkZjZk

unitary(qubit, theta)

one_layer(qubit_list, theta2d, hamiltonian_coef2d[, ...])

theta2d:[n][3],n is qubit number

learning_circuit(qubit_list, layer, theta3d, ...[, t])

qubit_list: qubit list

get_expectation(program, qubit_list)

parity(number)

generate_train_data(type, range)

generate train data

pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning.pauliX(qubit_list, coef, t)[源代码]
pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning.pauliZjZk(qubit_list, coef, t)[源代码]
pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning.initial_state(qubit_list, x)[源代码]

input x

pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning.ising_model_simulation(qubit_list, hamiltonian_coef2d, step, t)[源代码]

simulation of Ising model Hamiltonian: H=aiXi+JjkZjZk qubit_list: qubit list single_coef: coefficients of Xi,ai[i] double_coef:coefficients of ZjZk, Jjk[j][k]

pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning.unitary(qubit, theta)[源代码]
pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning.one_layer(qubit_list, theta2d, hamiltonian_coef2d, step=100, t=10)[源代码]

theta2d:[n][3],n is qubit number hamiltonian_coef2d:[n,n],n is qubit number

pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning.learning_circuit(qubit_list, layer, theta3d, hamiltonian_coef3d, x, t=10)[源代码]

qubit_list: qubit list theta: parameters to be optimized, [layer,qubit_number,3] hamiltonian_coef:coefficients of fully connected transverse Ising model hamiltonian,[layer,qubit_num,qubit_num], C[i,i]is coefficients of pauli Xi; C[i,j]is coefficients of ZiZj when i>j,C[i,j]=0 when i<j

pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning.get_expectation(program, qubit_list)[源代码]
pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning.parity(number)[源代码]
class pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning.qcl(qubit_number, layer, coef=1, t=10)[源代码]
learning_circuit(qubit_list, x)[源代码]
get_function_value(qubit_list, x)[源代码]
get_expectation(qubit_list, x)[源代码]
cost_funciton(qubit_list, train_data)[源代码]
optimize(qubit_list, m_qulist, train_data, velocity=0.01)[源代码]

parameter optimization:optimize theta3d and coef

function_learning(qubit_list, train_data, step=1000, velocity=0.01)[源代码]

train quantum circuit

pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning.generate_train_data(type, range)[源代码]

generate train data type:function type,include 4 types,1 means x^2,2 means exp(x),3 means sin(x),4 means |x| range:range of variety x