如何获取Qiskit中state_city绘图对应的密度矩阵元素的实际数值
获取state_city图对应密度矩阵数值的方法
你调用visualization.plot_state_city时传入的第一个参数tomo.fit(),就是绘图使用的完整密度矩阵对象,直接操作该对象即可获取所有元素数值,常用操作如下:
- 直接打印完整的密度矩阵实例,会自动输出维度、实部、虚部等结构化信息:
# 先获取拟合完成的密度矩阵对象 density_matrix = tomo.fit() print(density_matrix)
- 如需获取Numpy数组格式的复数矩阵,调用
data属性即可:
rho_array = density_matrix.data print("密度矩阵复数值数组:\n", rho_array)
- 如需分别获取和state_city图两部分对应的实部、虚部数值:
print("密度矩阵实部(对应state_city左图):\n", rho_array.real) print("密度矩阵虚部(对应state_city右图):\n", rho_array.imag)
- 如需按索引逐个打印元素数值,可参考如下遍历写法:
n = rho_array.shape[0] for row in range(n): for col in range(n): val = rho_array[row, col] print(f"ρ[{row},{col}] = {val.real:.4f} {'+' if val.imag >=0 else '-'} {abs(val.imag):.4f}i")
补充说明:tomo.fit()默认使用最大似然估计生成符合物理约束的密度矩阵,和plot_state_city绘图所用的输入完全一致,无需额外从可视化结果中反向提取数据。
内容的提问来源于stack exchange,提问作者Katharine Hunt
相关产品推荐
相关产品推荐

