pyqpanda.Algorithm.QuantumGradient.quantum_gradient
Module Contents
Classes
Functions
|
|
|
get expectation of operator ZiZj....Zm |
|
get Hamiltonian's expectation |
- 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=[])[源代码]
-
- 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)
- 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