Jones矩阵符号运算

发布于:2024-04-10 ⋅ 阅读:(144) ⋅ 点赞:(0)

文章目录


有关Jones矩阵、Jones向量的基本原理,可参考这个: 通过Python理解Jones矩阵,本文主要介绍sympy中提供的有关偏振光学的符号计算工具

Jones向量

Jones向量是描述光线偏振状态的重要工具,例如一个偏振角度为 ψ \psi ψ的Jones向量可表示为

J ^ = [ cos ⁡ ψ sin ⁡ ψ ] \hat J=\begin{bmatrix} \cos\psi\\ \sin\psi \end{bmatrix} J^=[cosψsinψ]

【jones_vector】是sympy.physics.optics.polarization中用于表示Jones向量的对象,其调用方法为

jones_vector(psi, chi)

其中,psi为 x x x方向的极化角度;chi为与晶体主轴的夹角。

import sympy
from sympy.physics.optics.polarization import jones_vector
psi = sympy.symbols('psi')
V = jones_vector(psi, 0)
sympy.pprint(V)
'''
⎡cos(ψ)⎤
⎢      ⎥
⎣sin(ψ)⎦
'''

Jones矩阵

Jones矩阵可以描述Jones向量在通过偏振元件后的变化,例如偏振光在经过 x x x线偏振片之后, sin ⁡ ψ \sin\psi sinψ会被滤掉,从而其对应的Jones矩阵可表示为

[ 1 0 0 0 ] \begin{bmatrix} 1&0\\0&0 \end{bmatrix} [1000]

sympy.physics.optics.polarization中封装了多种偏振器件的Jones矩阵。

  • linear_polarizer(theta=0) 线偏振光
  • half_wave_retarder(theta) 半波片
  • quarter_wave_retarder(theta) λ / 4 \lambda/4 λ/4波片
  • phase_retarder(theta=0, delta=0) 相位延迟
  • reflective_filter(R) 反射滤光片,R为反射率
  • transmissive_filter(T) 透射滤光片,T为透过率
  • polarizing_beam_splitter(Tp=1, Rs=1, Ts=0, Rp=0, phia=0, phib=0) 偏振片
import sympy
from sympy.physics.optics.polarization import half_wave_retarder
theta = sympy.symbols("theta", real=True)
HWP = half_wave_retarder(theta)
sympy.latex(HWP)

结果如下

[ − i ( − sin ⁡ 2 θ + cos ⁡ 2 θ ) − 2 i sin ⁡ θ cos ⁡ θ − 2 i sin ⁡ θ cos ⁡ θ − i ( sin ⁡ 2 θ − cos ⁡ 2 θ ) ] \left[\begin{matrix}- i \left(- \sin^{2}\theta + \cos^{2}{\theta}\right) & - 2 i \sin\theta \cos\theta\\- 2 i \sin\theta\cos\theta & - i \left(\sin^{2}\theta - \cos^{2}\theta\right)\end{matrix}\right] [i(sin2θ+cos2θ)2isinθcosθ2isinθcosθi(sin2θcos2θ)]

偏振片的参数较多,现列如下polarizing_beam_splitter(Tp=1, Rs=1, Ts=0, Rp=0, phia=0, phib=0)

  • J 琼斯矩阵
  • Tp p偏振光的透过率
  • Rs s偏振光的反射率
  • Ts s偏振光的透过率
  • Rp p偏振光的反射率
  • phia 透射和反射分量的相位差
  • phib 透射和反射分量的相位差