You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何求解二分系统密度矩阵的部分转置?

2×2二分系统密度矩阵的部分转置实现

原始矩阵生成

首先通过Numpy生成目标4×4密度矩阵:

import numpy as np

ρ = np.arange(1, 17, 1).reshape(4, 4)
print(ρ)

输出的原始矩阵:

array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12],
       [13, 14, 15, 16]])

实现第一种部分转置结果

针对第二个子系统(B系统)执行部分转置,步骤如下:

  1. 将4×4矩阵重塑为2×2×2×2的分块张量,维度对应[A行, B行, A列, B列]
  2. 交换B系统的行轴(第1轴)和列轴(第3轴)
  3. 重新reshape回4×4矩阵

代码实现:

# 拆分为分块张量
ρ_block = ρ.reshape(2, 2, 2, 2)
# 对B系统执行部分转置
ρ_pt_B = ρ_block.swapaxes(1, 3).reshape(4, 4)
print(ρ_pt_B)

输出结果:

array([[ 1,  2,  9, 10],
       [ 5,  6, 13, 14],
       [ 3,  4, 11, 12],
       [ 7,  8, 15, 16]])

实现第二种部分转置结果

针对第一个子系统(A系统)执行部分转置,步骤如下:

  1. 同样将4×4矩阵重塑为2×2×2×2的分块张量
  2. 交换A系统的行轴(第0轴)和列轴(第2轴)
  3. 重新reshape回4×4矩阵

代码实现:

# 拆分为分块张量
ρ_block = ρ.reshape(2, 2, 2, 2)
# 对A系统执行部分转置
ρ_pt_A = ρ_block.swapaxes(0, 2).reshape(4, 4)
print(ρ_pt_A)

输出结果:

array([[ 1,  5,  3,  7],
       [ 2,  6,  4,  8],
       [ 9, 13, 11, 15],
       [10, 14, 12, 16]])

内容的提问来源于stack exchange,提问作者Lelouch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 01:17:15