pyqpanda.Algorithm.QuantumGradient.quantum_gradient

Module Contents

Classes

qaoa

Functions

parity_check(number)

get_one_expectation_component(program, qubit_list)

get expectation of operator ZiZj....Zm

get_expectation(qubit_list, program, PauliOperator)

get Hamiltonian's expectation

pyqpanda.Algorithm.QuantumGradient.quantum_gradient.parity_check(number)[源代码]
pyqpanda.Algorithm.QuantumGradient.quantum_gradient.get_one_expectation_component(program, qubit_list)[源代码]

get expectation of operator ZiZj....Zm

pyqpanda.Algorithm.QuantumGradient.quantum_gradient.get_expectation(qubit_list, program, PauliOperator)[源代码]

get Hamiltonian's expectation

class pyqpanda.Algorithm.QuantumGradient.quantum_gradient.qaoa(qubitnumber, step, gamma, beta, Hp, Hd, all_cut_value_list=[], target_value=0, target_str_list=[])[源代码]
prog_generation(qubit_list)[源代码]
get_cost_value(qubit_list)[源代码]

compute Hp's expectation, all_cut_value_list:eigenvalues of Hp

get_one_component_of_partial_derivative(qubit_list, label)[源代码]

label[0]:({"Z":0,"Z":1},1.2) label[1]:gamma or beta label[2]:position of gamma or beta label[3]:Hp's component ,such as 'Z0 Z4' <E>=f1(theta)f2(theta)...fn(theta) <E>=<E1>+<E2>...+<Em> return: d<Ei>/d(theta)中的一项 get_one_component_of_partial_derivative

get_one_component_of_one_parameter_partial_derivative(qubit_list, label)[源代码]

label[0]:gamma or beta label[1]:step number label[2]:Ei={"Z":0,"Z":1} return:d<Ei>/d(theta_i)

get_one_parameter_partial_derivative(qubit_list, label, method=1, delta=1e-06)[源代码]

label[0]:gamma or beta label[1]:step number return:d<E>/d(theta_i)

get_gradient(qubit_list, method=0, delta=1e-06)[源代码]

compute gradient

get_partial_derivative(qubit_list, method=0, delta=1e-06)[源代码]
target_state_proability(qubit_list)[源代码]
bulit_in_optimizer(qubit_list, method='Powell')[源代码]
momentum_optimizer(qubit_list, max_times=200, threshold_value=0.01, learning_rate=0.01, momentum=0.9, method=1, delta=1e-06, is_test=False)[源代码]

momentum algorithm method=0: pi/2 and -pi/2 method=1: (f(x+delta)-f(x-delta))/2*delta

Adam_optimizer(qubit_list, max_times=200, threshold_value=0.01, learning_rate=0.01, decay_rate_1=0.9, decay_rate_2=0.999, method=1, delta=1e-08, is_test=False)[源代码]

Adam algorithm

gradient_descent_optimizer(qubit_list, max_times=200, threshold_value=0.01, learning_rate=0.001, method=0, delta=1e-06, is_test=False)[源代码]