首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在OpflowQNN (Qiskit机器学习)中观察分离量子位的期望值

在OpflowQNN (Qiskit机器学习)中观察分离量子位的期望值
EN

Stack Overflow用户
提问于 2021-07-10 08:50:54
回答 1查看 444关注 0票数 1

我使用以下内容创建了一个OpflowQNN实例:

代码语言:javascript
复制
        qnn = OpflowQNN(operator=~StateFn(Z ^ Z ^ I ^ I) @ StateFn(circuit),
                input_params=input_params,
                weight_params=weights,
                quantum_instance=qi
            )

其中电路是一个工作在4量子位上的qiskit.circuit.QuantumCircuit。

我试图实现的是,在运行向前传球时,只测量Z-基中量子位2和3的期望值。我不需要量子位0和1的值。

我想要这两个量子位的期望值,这导致输出形状(2,)在前传。

我试图做的是只将Pauli Z运算符应用于第2和第3量子位,正如您在上面的代码片段中看到的那样。

但向前传球的输出仍具有形状(1,)。我目前正在努力弄清楚这些观测者到底在做些什么。我也不知道OpflowQNN中向前传递的输出是什么。我的猜测是一些人总结了期望值,但我不太确定。

我用我从源代码构建的正在工作的qiskit版本尝试了另一件事(否则这是行不通的):

代码语言:javascript
复制
operator=ListOp([~StateFn(Z ^ I ^ I ^ I), ~StateFn(I ^ Z ^ I ^ I)]) @ StateFn(circuit)

这给了我一个形状数组(2,)在向前传球,但我不确定这是否真的是计算量子位2和3的期望值的正确方法。

EN

回答 1

Stack Overflow用户

发布于 2021-12-08 11:53:24

最后我用了:

代码语言:javascript
复制
operator = ListOp([
            ~StateFn(PauliSumOp.from_list([('IZII', 1.0)])) @ StateFn(circuit),
            ~StateFn(PauliSumOp.from_list([('IIZI', 1.0)])) @ StateFn(circuit)])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68326212

复制
相关文章

相似问题

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