pyqpanda.Algorithm.test.qcl_test 源代码

from matplotlib.pyplot import *
from pyqpanda import *
from pyqpanda.utils import *
from pyqpanda.Algorithm.VariationalQuantumEigensolver import *
from pyqpanda.Algorithm.QuantumCircuitLearning.quantum_circuit_learning import (qcl,generate_train_data)

[文档] def quantum_circuit_learning_test(function_kind): test=qcl(qubit_number=6, layer=2, coef=1, t=10) print('qubit number is:',test.qnum) train_data=generate_train_data(function_kind,np.linspace(-1,1,10)) if function_kind==1: print("target function is: f(x)=x*x") elif function_kind==2: print("target function is: f(x)=exp(x)") elif function_kind==3: print("target function is: f(x)=sin(x)") elif function_kind==4: print("target function is: f(x)=abs(x)") else: print("undefined") x=np.linspace(-1,1,10) init(QMachineType.CPU_SINGLE_THREAD) qlist=qAlloc_many(test.qnum) cost=test.function_learning(qlist,train_data,step=10,velocity=0.1) print('cost is:',cost) y1=[] for i in x: y1.append(test.get_function_value(qlist,i)) print('second') print(test.theta3d) print(test.coef) plot(x,x*x,'g',x,y1,'b') show() finalize()