首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行Qiskit VQE Alogrithum时的属性错误

运行Qiskit VQE Alogrithum时的属性错误
EN

Stack Overflow用户
提问于 2021-11-24 11:46:15
回答 1查看 139关注 0票数 1

我试图使用Aer后端模拟器运行VQE算法。但是,每当我运行该算法时,我都会收到以下错误:"AttributeError:'TwoLocal‘对象没有属性'set_max_evals_grouped'“

有人能解释一下这个错误意味着什么吗?我怎样才能修正它?

这是我正在使用的代码:

代码语言:javascript
复制
driver = PySCFDriver(atom='Li .0 .0 .0; H .0 .0 1.5049', unit=UnitsType.ANGSTROM, charge=0, spin=0, basis='sto3g')



#create  second quantiesed operator 
es_problem= ElectronicStructureProblem(driver)
seconded_quanitsied_oprator= es_problem.second_q_ops() 
print(seconded_quanitsied_oprator)



#convert to qubit operator 


qubit_transformation = QubitConverter(JordanWignerMapper())
qubit_operator = qubit_transformation.convert(seconded_quanitsied_oprator[0])
print(qubit_operator) 


#set up simulator 
backend = BasicAer.get_backend('statevector_simulator')
quantum_instance=QuantumInstance(backend=backend)

# VEQ algothiums 
groundstate_energies = []
classical_optimizer = SLSQP(maxiter = 1000)


ansatz = TwoLocal(rotation_blocks='ry', entanglement_blocks='cz')


Vqe = VQE(qubit_operator,ansatz,SLSQP,quantum_instance )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-24 12:20:28

您正在使用VQE的旧方式(当它在Aqua),所以它不再工作了。相反,你应该做的是:

代码语言:javascript
复制
vqe = VQE(ansatz = ansatz,
          optimizer = SLSQP, 
          quantum_instance=quantum_instance)
vqe_result = vqe.compute_minimum_eigenvalue(qubit_operator)

以防万一,您需要知道的关于如何从Aqua迁移的所有信息都可以在这里获得:https://qiskit.org/documentation/aqua_migration.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70095529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档