Python之拉盖尔多项式
文章目录
- 拉盖尔多项式简介
- 微分与积分
- 求根和反演
- 采样和拟合
拉盖尔多项式简介
拉盖尔多项式是拉盖尔方程的标准解,但其更著名的应用是薛定谔方程在解氢原子的时候,其径向函数最后要乘上一个 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
表示截止误差。full
为False
时,只返回拟合系数,否则还返回拟合的标准差等。
>>> 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之拉盖尔多项式相关推荐
- python逻辑回归aic_基于R和Python 如何使用多项式和有序逻辑回归
原标题:基于R和Python 如何使用多项式和有序逻辑回归 基于R和Python 如何使用多项式和有序逻辑回归 我们中的大多数对于回归的知识是有限的.其中,线性和逻辑回归是我们最喜欢的一种.作为一个有 ...
- Python 模拟Laguerre Polynomial拉盖尔多项式
首先我们从Rodrigues' formula出发: L n ( α ) ( x ) = x − α e
- fluent物性参数拟合多项式,python,matlab多项式图像绘制
举个小小的例子, 在这里面我们可以使用多项式方法输入密度与温度的物理性质,还可以使用expression功能直接输入函数进行表达,或者是加载udf进行计算,不过无论如何,我们首先都需要确定我们的函数是 ...
- Python之勒让德多项式
文章目录 勒让德多项式简介 求导和积分 求根和反演 拟合 勒让德多项式简介 Legendre多项式是一种非常重要的正交多项式,在物理学中有着广泛的应用,例如点电荷在空间中的激发电势就具备勒让德多项式的 ...
- Python之Hermite多项式
文章目录 Hermite多项式 求导和积分 求根和反演 拟合 其他 Hermite多项式 Hermite多项式是一种非常重要的正交多项式,尤其在量子力学中,是谐振子的本征态,在物理学中,其定义为 Hn ...
- Python 二分法求多项式单根
二分法求函数根的原理为:如果连续函数f(x)在区间[a,b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f(r)=0. 二分法的步骤为: 检查区间长度,如果小 ...
- python链表实现多项式_Python链表之两数之和
两数之和 [今日知图] 标记 某一块代码可能需要稍后处理 使用m增加一个标记,标记名称可以是a~z和A~Z之间的任意一个字母; 添加标记了的行如果被删除,标记同时被删除; 后面的标记名与前面一致会覆盖 ...
- python计算一个多项式_Python 从一元多项式中提取系数和次数,并进行简单的运算...
import re #正则 from collections import defaultdict #defaultdict #提取一元多项式(type: str)中的次数和系数并转化为字典 -> ...
- Python 最小二乘法拟合多项式
最小二乘法拟合多项式 一.功能 二.最小二乘法拟合多项式 三.运行结果 一.功能 利用最小二乘法去拟合直线.任意项高阶多项式. 二.最小二乘法拟合多项式 示例: import random i ...
最新文章
- javascript 异步模块加载 简易实现
- CodeBlcoks插件
- 成功解决SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 6-7: malformed
- EL表达式的11隐含对象
- 年薪50万,他们招180名博士
- 常用服务的默认端口号总结
- Fluentd: Open Source Log Management
- Cookie、Session、Token、RefreshToken
- 备战软考信息安全工程师经验
- R语言地理探测器--因子探测器实现
- Java抽奖概率算法
- 香港服务器的数据泄露是什么?怎样预防?
- MATLAB——网格图画法
- matlab ps液化,已可工作使用的2020系Adobe_Photoshop_2020_21.0.0.37_ACR12.0_SP_20191030
- IOS逆向(1)IOS越狱
- 波兰计算机专业大学排名,波兰留学大学排名
- 网络层笔记六、硬件地址与IP地址
- 【STM32】详解超声波测距模块工作原理
- 【教程】yolov5_deepsort目标跟踪算法检测人流量计数
- PTA 2021年秋-MOOC-编程练习