def _get_povm(name, nr_sites, local_dim, local_width):
if name == 'global':
return povm.pauli_mpps(local_width, local_dim).repeat(nr_sites)
elif name == 'splitpauli':
return povm.pauli_mpps(local_width, local_dim).block(nr_sites)
elif name == 'pauli':
return povm.pauli_mpp(local_width, local_dim).block(nr_sites)
elif name == "all-y":
return povm.MPPovmList([povm.MPPovm.from_local_povm(
povm.pauli_parts(local_dim)[1], nr_sites)])
elif name == "local-x":
return povm.MPPovmList([
povm.MPPovm.from_local_povm(
povm.pauli_parts(local_dim)[0], local_width)
.embed(nr_sites, 0, local_dim)
])
else:
raise ValueError('Unknown MP-POVM list {!r}'.format(name))
评论列表
文章目录