使用Qiskit构建量子神经网络:代码解析
这段代码使用了Qiskit的opflow模块和qiskit_machine_learning模块来构建量子神经网络。
首先导入了所需的模块和类:
- 'StateFn':用于表示量子态的类。
- 'PauliSumOp':用于表示Pauli和的类。
- 'Gradient':用于计算梯度的类。
- 'AerPauliExpectation':用于计算期望值的类。
- 'OpflowQNN':用于构建基于opflow的量子神经网络的类。
接下来创建了一个AerPauliExpectation对象,用于计算期望值。然后创建了一个QuantumInstance对象,用于指定Aer模拟器的后端。
然后定义了两个量子电路的态函数(StateFn):
- 'gen_disc_sfn':表示生成器电路的态函数。
- 'real_disc_sfn':表示真实电路的态函数。
接着构建了一个用于计算最后一个量子比特的Pauli Z期望值的算子H1,使用'StateFn.from_list'方法将其转换为PauliSumOp对象。
最后,通过将算子和电路结合起来,分别构建了'gendisc_op'和'realdisc_op',这两个对象可以作为目标函数在优化算法中使用。
原文地址: https://www.cveoy.top/t/topic/qkPG 著作权归作者所有。请勿转载和采集!