文章目录
- Jones向量
- Jones矩阵
有关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 透射和反射分量的相位差