文章目录

  • 拉盖尔多项式简介
  • 微分与积分
  • 求根和反演
  • 采样和拟合

拉盖尔多项式简介

拉盖尔多项式是拉盖尔方程的标准解,但其更著名的应用是薛定谔方程在解氢原子的时候,其径向函数最后要乘上一个 L n − l − 1 2 l + 1 ( 2 r n a μ ) L^{2l+1}_{n-l-1}(\frac{2r}{na_\mu}) Ln−l−12l+1​(naμ​2r​),此即拉盖尔多项式,其中 n , l n,l n,l什么的是量子数。

Numpy中提供了拉盖尔多项式的类Laguerre,其构造函数为

Laguerre(coef, domain=None, window=None, symbol='x')

其中coef为多项式的系数,例如 4 + 3 x + 2 x 2 + x 3 4+3x+2x^2+x^3 4+3x+2x2+x3可写为

from numpy.polynomial import laguerre
L3 = laguerre.Laguerre(coef=[4,3,2,1])
print(L3)
# 4.0 + 3.0 L_1(x) + 2.0 L_2(x) + 1.0 L_3(x)

domian为 x x x的定义域,window为定义域的放缩因子;symbol为多项式的自变量符号,默认为x

微分与积分

Laguerre支持简单的符号计算,比如可通过deriv(n)求多项式的n阶导数;通过integ(n)可求n阶积分。

>>> L3.deriv(1)    # 系数变为 -6,-3,-1
Laguerre([-6., -3., -1.], domain=[0., 1.], window=[0., 1.])
>>> L3.deriv(3)    # 3阶导数,系数变为为-1
Laguerre([-1.], domain=[0., 1.], window=[0., 1.])
>>> L3.integ(2)    # 2阶积分,系数变为4, -5, 0, 0, 0, 1
Laguerre([ 4., -5.,  0.,  0.,  0.,  1.], domain=[0., 1.], window=[0., 1.])

求根和反演

roots可用于求根,而fromroot可根据根来生成多项式

>>> rs = L3.roots()
>>> print(rs)
[1.51738708 4.31158313 9.17102979]
>>> pNew = L3.fromroots(rs)
>>> print(pNew)
-24.00000000000003 - 18.00000000000001 L_1(x) -
11.999999999999998 L_2(x) - 6.0 L_3(x)

可见,对于拉盖尔多项式而言,求根和反演并不完全互为逆过程。

采样和拟合

通过linspace可以在定义域范围内对多项式进行采样,

import matplotlib.pyplot as plt
xs, ys = L3.linspace()
plt.plot(xs, ys)
plt.show()

效果为

linspace有一个参数n,表示在定义域范围内等间隔生成n组 x , y x,y x,y,默认为100。

Laguerre类中最强大的函数非fit,其功能是基于最小二乘法的拉盖尔多项式拟合,构造函数为

Polynomial.fit(x, y, deg, domain=None, rcond=None, full=False, w=None, window=None, symbol='x')

其中domain, window, symbol不必赘述,其中x,y为待拟合多项式;deg为多项式的阶数。rcond表示截止误差。fullFalse时,只返回拟合系数,否则还返回拟合的标准差等。

>>> L3.fit(xs, ys, 3)
Laguerre([4., 3., 2., 1.], domain=[0., 1.], window=[0., 1.])
>>> p3.fit(xs, ys, 4)
Laguerre([ 4.00000000e+00,  3.00000000e+00,  2.00000000e+00,  1.00000000e+00,-4.19501684e-12], domain=[0., 1.], window=[0., 1.])

Python之拉盖尔多项式相关推荐

  1. python逻辑回归aic_基于R和Python 如何使用多项式和有序逻辑回归

    原标题:基于R和Python 如何使用多项式和有序逻辑回归 基于R和Python 如何使用多项式和有序逻辑回归 我们中的大多数对于回归的知识是有限的.其中,线性和逻辑回归是我们最喜欢的一种.作为一个有 ...

  2. Python 模拟Laguerre Polynomial拉盖尔多项式

    首先我们从Rodrigues' formula出发: L n ( α ) ( x ) = x − α e

  3. fluent物性参数拟合多项式,python,matlab多项式图像绘制

    举个小小的例子, 在这里面我们可以使用多项式方法输入密度与温度的物理性质,还可以使用expression功能直接输入函数进行表达,或者是加载udf进行计算,不过无论如何,我们首先都需要确定我们的函数是 ...

  4. Python之勒让德多项式

    文章目录 勒让德多项式简介 求导和积分 求根和反演 拟合 勒让德多项式简介 Legendre多项式是一种非常重要的正交多项式,在物理学中有着广泛的应用,例如点电荷在空间中的激发电势就具备勒让德多项式的 ...

  5. Python之Hermite多项式

    文章目录 Hermite多项式 求导和积分 求根和反演 拟合 其他 Hermite多项式 Hermite多项式是一种非常重要的正交多项式,尤其在量子力学中,是谐振子的本征态,在物理学中,其定义为 Hn ...

  6. Python 二分法求多项式单根

    二分法求函数根的原理为:如果连续函数f(x)在区间[a,b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f(r)=0. 二分法的步骤为: 检查区间长度,如果小 ...

  7. python链表实现多项式_Python链表之两数之和

    两数之和 [今日知图] 标记 某一块代码可能需要稍后处理 使用m增加一个标记,标记名称可以是a~z和A~Z之间的任意一个字母; 添加标记了的行如果被删除,标记同时被删除; 后面的标记名与前面一致会覆盖 ...

  8. python计算一个多项式_Python 从一元多项式中提取系数和次数,并进行简单的运算...

    import re #正则 from collections import defaultdict #defaultdict #提取一元多项式(type: str)中的次数和系数并转化为字典 -> ...

  9. Python 最小二乘法拟合多项式

    最小二乘法拟合多项式 一.功能 二.最小二乘法拟合多项式 三.运行结果 一.功能   利用最小二乘法去拟合直线.任意项高阶多项式. 二.最小二乘法拟合多项式   示例: import random i ...

最新文章

  1. javascript 异步模块加载 简易实现
  2. CodeBlcoks插件
  3. 成功解决SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 6-7: malformed
  4. EL表达式的11隐含对象
  5. 年薪50万,他们招180名博士
  6. 常用服务的默认端口号总结
  7. Fluentd: Open Source Log Management
  8. Cookie、Session、Token、RefreshToken
  9. 备战软考信息安全工程师经验
  10. R语言地理探测器--因子探测器实现
  11. Java抽奖概率算法
  12. 香港服务器的数据泄露是什么?怎样预防?
  13. MATLAB——网格图画法
  14. matlab ps液化,已可工作使用的2020系Adobe_Photoshop_2020_21.0.0.37_ACR12.0_SP_20191030
  15. IOS逆向(1)IOS越狱
  16. 波兰计算机专业大学排名,波兰留学大学排名
  17. 网络层笔记六、硬件地址与IP地址
  18. 【STM32】详解超声波测距模块工作原理
  19. 【教程】yolov5_deepsort目标跟踪算法检测人流量计数
  20. PTA 2021年秋-MOOC-编程练习

热门文章

  1. (转)android EditText 设置弹出数字输入法键盘
  2. 【luogu P5320】勘破神机(数学)(数列特征方程)(第一类斯特林数)
  3. 读书笔记,《刻意练习》,第四章,黄金标准
  4. JDK各个版本安装以及配置,超详细
  5. JDK版本对应其major.minor version,看这一篇就够啦(附java历史版本下载地址)
  6. 基于nodejs+vue+elementui酒店民宿客房预订管理系统
  7. RK3328量产刻录完整镜像
  8. ESP32开发2——新建项目
  9. 还在用手机搜题?懒人必备网页搜题插件来了
  10. shell编写俄罗斯方块