用sympy计算Pauli矩阵

发布时间:2024年01月11日

文章目录

Pauli矩阵

Pauli矩阵是3个 2 × 2 2\times2 2×2的矩阵,这三哥矩阵的行列式均为-1,一般以 σ \sigma σ表示如下

σ x = [ 0 1 1 0 ] σ y = [ 0 ? i i 0 ] σ z = [ 1 0 0 ? 1 ] \sigma_x=\begin{bmatrix}0&1\\1&0\end{bmatrix}\quad \sigma_y=\begin{bmatrix}0&-i\\i&0\end{bmatrix}\quad \sigma_z=\begin{bmatrix}1&0\\0&-1\end{bmatrix} σx?=[01?10?]σy?=[0i??i0?]σz?=[10?0?1?]

在量子力学中,这三个矩阵分别表示自旋在三个坐标轴中的投影分量, σ x , σ y , σ z \sigma_x, \sigma_y, \sigma_z σx?,σy?,σz?也可写为 σ 1 , σ 2 , σ 3 \sigma_1, \sigma_2, \sigma_3 σ1?,σ2?,σ3?

Pauli矩阵满足如下关系

  • 对易计算 [ σ a , σ b ] = 2 i ? a b c σ c [\sigma_a, \sigma_b]=2i\epsilon_{abc}\sigma_c [σa?,σb?]=2i?abc?σc?
  • 反对易 { σ a , σ b } = 2 δ a b I \{\sigma_a, \sigma_b\}=2\delta_{ab}I {σa?,σb?}=2δab?I
  • 内积关系 σ a σ b = i ∑ c ? a b c σ c + δ a b I \sigma_a\sigma_b=i\sum_c\epsilon_{abc}\sigma_c+\delta_{ab}I σa?σb?=ic??abc?σc?+δab?I

sympy实现

matrices中封装了msigma类,即Pauli矩阵的矩阵表示,示例如下

from sympy import print_latex
from sympy.physics.matrices import msigma
print_latex(msigma(1))

[ 0 1 1 0 ] \left[\begin{matrix}0 & 1\\1 & 0\end{matrix}\right] [01?10?]

此外,sympy中还封装了Pauli类,调用如下

from sympy.physics.paulialgebra import Pauli
from sympy import print_latex
p1 = Pauli(1)
print_latex(p1)

σ 1 \sigma_{1} σ1?

quantum中提供了对易计算,测试如下

from sympy.physics.quantum import Commutator
p2 = Pauli(2)
comm = Commutator(p1, p2)   # [sigma1,sigma2]
print_latex(comm.doit())                 # 2*I*sigma3

[ σ 1 , σ 2 ] = 2 i σ 3 [\sigma_1, \sigma_2] = 2 i \sigma_{3} [σ1?,σ2?]=2iσ3?

内积的计算结果如下

p1*p1   # 1
print_latex(p1*p2)

i σ 3 i \sigma_{3} iσ3?

文章来源:https://blog.csdn.net/m0_37816922/article/details/135479951
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。