Jones向量
假设光波沿z轴传播,那么其三个方向的电场分量可以表示为
E x = A x cos ( ω t − k r + φ x ) E y = A t cos ( ω t − k r + φ y ) E z = 0 \begin{aligned} E_x &= A_x\cos(\omega t-\bold k\bold r+\varphi_x)\\ E_y &= A_t\cos(\omega t-\bold k\bold r+\varphi_y)\\ E_z &= 0\\ \end{aligned} ExEyEz=Axcos(ωt−kr+φx)=Atcos(ωt−kr+φy)=0
由于传播方向为0,故可以通过一个二维向量来表示
[ E x E y ] = [ Re ( A x e j φ x e j ω t − j k r ) Re ( A y e j φ y e j ω t − j k r ) ] \begin{bmatrix} E_x\\ E_y \end{bmatrix}=\begin{bmatrix} \text{Re}(A_xe^{\text j\varphi_x}e^{\text j\omega t-\text j\bold k\bold r})\\ \text{Re}(A_ye^{\text j\varphi_y}e^{\text j\omega t-\text j\bold k\bold r})\\ \end{bmatrix} [ExEy]=[Re(Axejφxejωt−jkr)Re(Ayejφyejωt−jkr)]
则记
J ^ = [ A x exp ( j φ x ) A y exp ( j φ y ) ] = [ J x J y ] \hat J=\begin{bmatrix} A_x\exp(\text j\varphi_x)\\ A_y\exp(\text j\varphi_y)\\ \end{bmatrix}=\begin{bmatrix} J_x\\ J_y \end{bmatrix} J^=[Axexp(jφx)Ayexp(jφy)]=[JxJy]
此即琼斯向量,其中包含了偏振态的全部信息,而且附赠了光波的振幅项 A \bold A A。如果只关心偏振量,则可对 J ^ \hat J J^进行归一化,则令
tan ψ = A y A x exp [ j ( φ y − φ x ) ] \tan\psi=\frac{A_y}{A_x}\exp[\text j(\varphi_y-\varphi_x)] tanψ=AxAyexp[j(φy−φx)]
可表示为
J ^ = [ cos ψ sin ψ ] \hat J=\begin{bmatrix} \cos\psi\\ \sin\psi \end{bmatrix} J^=[cosψsinψ]
当 φ x = φ y \varphi_x=\varphi_y φx=φy时,表示x和y方向不存在相位差,此时 J x , J y J_x,J_y Jx,Jy均为实数,描述的是线偏振光;当存在相位差时,琼斯向量中出现虚数,表示圆偏振光。
sympy实现
在sympy.physics.optics.polarization
中,有jones_vector
可以表示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向量在通过偏振元件后的变化,例如偏振光在经过 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
为反射率 -
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)
文章来源:https://www.toymoban.com/news/detail-521842.html
-
J
琼斯矩阵 -
Tp
p
偏振光的透过率 -
Rs
s
偏振光的反射率 -
Ts
s
偏振光的透过率 -
Rp
p
偏振光的反射率 -
phia
透射和反射分量的相位差 -
phib
透射和反射分量的相位差
from sympy.physics.optics.polarization import polarizing_beam_splitter
PBS = polarizing_beam_splitter()
sympy.latex(PBS)
[ 1 0 0 0 0 0 0 − i 0 0 1 0 0 − i 0 0 ] \left[\begin{matrix}1 & 0 & 0 & 0\\0 & 0 & 0 & - i\\0 & 0 & 1 & 0\\0 & - i & 0 & 0\end{matrix}\right] 1000000−i00100−i00 文章来源地址https://www.toymoban.com/news/detail-521842.html
到了这里,关于sympy 偏振光学之Jones矩阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!