Python光学仿真理解Jones矩阵学习

 更新时间:2021年10月20日 14:33:10   作者:微小冷  
这篇文章主要为大家介绍了Python光学仿真理解Jones矩阵的学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪

Jones向量

假设光波沿z轴传播,那么其三个方向的电场分量可以表示为

在这里插入图片描述

在这里插入图片描述

Jones矩阵

能够保证二维列向量形状不变的运算有无穷多种,但最符合我们直觉的一定是 2 × 2矩阵。好在这种矩阵已经可以提供足够多的运算,从而满足我们描述偏振变化的需求。

在这里插入图片描述

光在通过波片之后,会在不同方向产生差异性的相位延迟,对于与x轴角度为 Ψ,相位差为 Φ 的波片,其Jones矩阵为

在这里插入图片描述

Jones矩阵的表示

为了对Jones矩阵所对应的偏振状态进行绘制,我们需要进一步理解Jones矩阵中每个值所对应的物理概念。如果将Jones矩阵写成虚数形式,可以表示为

在这里插入图片描述

那么,对于任意Jones矩阵,我们可以很方便地绘制其对应的偏振图像。方便起见,我们只对1.064um光波在z轴方向传播5um这段距离进行采样,然后画出

def drawJones(J=[1,-2j]):
    J = np.array(J).reshape(2,1)
    # 设1.064um的光在z方向传播5um后,沿传播方向看去的振幅分布
    z = np.arange(0,5,0.01)
    k = 2*np.pi/1.064
    # 将J改写成x和y方向的振幅序列
    J = np.abs(J)*np.cos(k*z+np.angle(J))    
    fig = plt.figure()
    ax1 = fig.add_subplot(121)
    ax1.plot(J[0],J[1])
    ax2 = fig.add_subplot(122,projection='3d')
    ax2.plot3D(z,J[0],J[1])
        plt.show()
if __name__ == "__main__":
    drawJones()

其图像为

在这里插入图片描述

现在光路中引入 λ / 4波片,令其旋转一周,观察一下线偏振光会有怎样的变化,设波片与x轴所成夹角为 Ψ,则其对应的Jones矩阵为

在这里插入图片描述

代码为

def drawQuaterPlate():
    quater = lambda psi : np.array(
        [[1-np.cos(2*psi),-1j*np.sin(2*psi)],
         [-1j*np.sin(2*psi),1+np.cos(2*psi)]])
        z = np.arange(0,5,0.01)
    k = 2*np.pi/1.064
    # 初始光波为x方向线偏振光
    J0 = np.array([1,0]).reshape(2,1)
    fig = plt.figure()
    ax = fig.add_subplot(111,xlim=(-2,2),ylim=(-2,2))
    ax.grid()
    line, = ax.plot([],[],lw=0.2)
    time_text = ax.text(0.1,0.9,'',transform=ax.transAxes)
    thetas = np.linspace(0,np.pi*2,80)
    def init():
        line.set_data([],[])
        time_text.set_text("")
        return line, time_text    
    def animate(theta):
        J = quater(theta)@J0    #经过波片后的Jones矩阵
        arrJ = np.abs(J)*np.cos(k*z+np.angle(J)) #采样后的振幅
        line.set_data(arrJ[0],arrJ[1])
        time_text.set_text("angle:"+str(theta))
        return line, time_text
    ani = animation.FuncAnimation(fig, animate, thetas,
        interval=100, init_func=init)
    ani.save('polor.gif',writer='imagemagick')
    plt.show()

最终得到偏振情况与波片角度的关系

在这里插入图片描述

可见,当角度合适的时候, λ / 4波片会将线偏振光变为圆偏振光。

以上就是Python光学仿真理解Jones矩阵学习的详细内容,更多关于Python光学仿真Jones矩阵的资料请关注脚本之家其它相关文章!

相关文章

  • Python中的相关分析correlation analysis的实现

    Python中的相关分析correlation analysis的实现

    这篇文章主要介绍了Python中的相关分析correlation analysis的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Pytest框架 conftest.py文件的使用详解

    Pytest框架 conftest.py文件的使用详解

    conftest.py是pytest特有的本地测试配置文件,既可以用来设置项目级别的fixture,也可以用来导入外部插件,本文给大家介绍Pytest框架 conftest.py文件的使用,感兴趣的朋友一起看看吧
    2022-06-06
  • Django+Vue实现文件上传下载的项目实践

    Django+Vue实现文件上传下载的项目实践

    本文主要介绍了Django+Vue实现文件上传下载的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • python中sort sorted reverse reversed函数的区别说明

    python中sort sorted reverse reversed函数的区别说明

    这篇文章主要介绍了python中sort sorted reverse reversed函数的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python单元测试unittest的具体使用示例

    Python单元测试unittest的具体使用示例

    本篇文章主要介绍了Python单元测试unittest,详细的介绍了unittest的概念和简单的使用示例,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • python3定位并识别图片验证码实现自动登录功能

    python3定位并识别图片验证码实现自动登录功能

    这篇文章主要介绍了python3定位并识别图片验证码实现自动登录功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Python httpx库入门指南(最新推荐)

    Python httpx库入门指南(最新推荐)

    Httpx 是一个用于发送 HTTP 请求的 Python 库,它提供了简单易用的 API,可以轻松地发送 GET、POST、PUT、DELETE 等请求,并接收响应,下面介绍下Python httpx库入门指南,感兴趣的朋友一起看看吧
    2023-12-12
  • 使用Python进行二进制文件读写的简单方法(推荐)

    使用Python进行二进制文件读写的简单方法(推荐)

    下面小编就为大家带来一篇使用Python进行二进制文件读写的简单方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Python实现string字符串连接的方法总结【8种方式】

    Python实现string字符串连接的方法总结【8种方式】

    这篇文章主要介绍了Python实现string字符串连接的方法,结合实例形式总结分析了Python实现字符串连接的8种常见操作技巧,需要的朋友可以参考下
    2018-07-07
  • python 获取url中的参数列表实例

    python 获取url中的参数列表实例

    今天小编就为大家分享一篇python 获取url中的参数列表实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论