当前位置: 首页 > news >正文

Jones矩阵符号运算

文章目录

    • 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 透射和反射分量的相位差
http://www.lryc.cn/news/337811.html

相关文章:

  • 解决 App 自动化测试的常见痛点!
  • 2016NOIP普及组真题 1. 买铅笔
  • 机器学习—数据集(二)
  • 华为S5735S核心交换配置实例
  • Mysql主从复制安装配置
  • 【刷题】图论——最小生成树:Prim、Kruskal【模板】
  • 使用uniapp实现小程序获取wifi并连接
  • 回忆杀之手搓当年搓过的Transformer
  • 【AR】使用深度API实现虚实遮挡
  • python-pytorch实现skip-gram 0.5.001
  • C语言:约瑟夫环问题详解
  • 【刷题篇】回溯算法(二)
  • Windows系统本地部署Jupyter Notebook并实现公网访问编辑笔记
  • 自动化运维(二十七)Ansible 实战Shell 插件和模块工具
  • Jenkins使用-绑定域控与用户授权
  • 【前端】es-drager 图片同比缩放 缩放比 只修改宽 只修改高
  • 蓝桥杯第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组题解
  • eclipse .project
  • react的闭包陷阱
  • 神经网络解决回归问题(更新ing)
  • 【小红书校招场景题】12306抢票系统
  • Spring(三)
  • 使用element-plus中的表单验证
  • flinksql
  • Dockerfile中 CMD和ENTRYPOINT的区别
  • 【TC3xx芯片】TC3xx芯片的总线内存保护
  • 抖音小店选品必经五个阶段,看你到哪一步了,直接决定店铺爆单率
  • ML在骨科手术术前、书中、术后方法应用综述【含数据集】
  • vue3-video-play 在安卓上正常播放,在ios上不能播放,问题解决
  • 【C++类和对象】上篇