这段代码使用了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',这两个对象可以作为目标函数在优化算法中使用。

使用Qiskit构建量子神经网络:代码解析

原文地址: https://www.cveoy.top/t/topic/qkPG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录