Questions tagged «special-functions»

4
难振荡积分的数值积分方法
我需要对以下积分进行数值评估: ∫∞0š 我Ñ Ç′(x r )r E(r )----√d[R∫0∞sinc′(xr)rE(r)dr\int_0^\infty \mathrm{sinc}'(xr) r \sqrt{E(r)} dr 其中,和。在这里,是第二种修改的贝塞尔函数。在我的特定情况下,我有,和。X∈[R+λ,κ,ν>0ķλ=0.00313κ=0.00825ν=0.33Ë(r )= r4(λ κ2+ r2------√)- ν- 5 / 2ķ- ν- 5 / 2(λκ2+r2------√)E(r)=r4(λκ2+r2)−ν−5/2K−ν−5/2(λκ2+r2)E(r) = r^4 (\lambda\sqrt{\kappa^2+r^2})^{-\nu-5/2} K_{-\nu-5/2}(\lambda\sqrt{\kappa^2+r^2})X ∈ ř+x∈R+x \in \mathbb{R}_+λ ,κ ,ν> 0λ,κ,ν>0\lambda, \kappa, \nu >0ķKKλ = 0.00313λ=0.00313\lambda = 0.00313κ=0.00825κ=0.00825\kappa = 0.00825ν=0.33ν=0.33\nu = 0.33 我正在使用MATLAB,并且尝试了内置函数integral和quadgk,这给了我很多错误(请参见下文)。我自然也尝试了许多其他事情,例如按部分积分,以及将到积分求和。(ķ + 1 …

2
用于评估超几何函数的有效,准确的算法是什么?
我很好奇,知道有什么好的数值算法可以用来评估广义超几何函数(或级数),定义为 pFq(a1,…,ap;b1,…,bq;z)=∑k=0∞(a1)ķ⋯ (ap)ķ(b1个)ķ⋯ (bq)ķžķķ !pFq(一种1个,…,一种p;b1个,…,bq;ž)=∑ķ=0∞(一种1个)ķ⋯(一种p)ķ(b1个)ķ⋯(bq)ķžķķ!{}_pF_q(a_1,\ldots,a_p;b_1,\ldots,b_q;z) = \sum_{k=0}^{\infty} \frac{(a_1)_k\cdots(a_p)_k}{(b_1)_k\cdots(b_q)_k}\frac{z^k}{k!} 通常,该系列不一定会很快收敛(或根本不会收敛),因此,逐项汇总术语似乎并不理想。有一些更好的替代方法吗?具体来说,我正在寻找能够提供4或5位精度并具有合理数量的计算的东西。 我通常看到的最常见的情况是和p = 2 ,q = 1,但是在我正在研究的特定项目中,我需要p = 1 ,q = 2。显然,针对任何p和q的通用算法都是理想的,但是我将尽我所能。p = 1 , q= 1p=1个,q=1个p=1,q=1p = 2 , q= 1p=2,q=1个p=2,q=1p = 1 , q= 2p=1个,q=2p=1,q=2pppqqq

2
函数的有理逼近的开源实现
我正在寻找某种对函数有理近似的开源实现(Python,C,C ++,Fortran都可以)。文章[1]中的内容。我给了它一个函数,它给了我两个多项式,它们的比率是在给定间隔上的近似值,并且误差以相同的幅度振荡,并且是一个最佳近似值,或者接近于它。 这是我发现的: 看起来chebfun可以做到,但我无权使用Matlab *。 在数字食谱(NR)的5-13节“理性切比雪夫近似”中有一个简单的程序。 Mathematica具有EconomizedRationalApproximation和MiniMaxApproximation 我想知道是否有比NR代码更新的东西(可能经过更好的测试)。 我的应用程序是我有一组特殊功能,大约10个,以超几何级数或具有数值抵消的公式给出,我想拥有一个健壮,快速且准确的评估函数,称为Hartree Fock计算中计算两个粒子矩阵元素的最内层循环。我在[2]处提供了一个对我有用的函数的简单示例。如您所见,它要么使用直接公式,要么使用我使用SymPy计算的x = 0周围的序列。它可以工作,但准确性不高,大约x = 1时,大约一半的有效数字会丢失(但是对于x = 0.1以及x = 1e5,它几乎对所有有效数字都是准确的)。我正在寻找更好的近似值。 [1] Deun,J.和Trefethen,LN(2011)。Carathéodory-Fejér方法的有力实现,用于有理逼近。BIT数值数学,51(4),1039–1050。doi:10.1007 / s10543-011-0331-7(2010年6月电子版) [2] https://gist.github.com/3831580 (*)chebfun网站也没有,它给我404,但是Pedro建议这一定是我的提供商问题。

1
是否转换
我曾经听说过,当人们试图对数字进行形式积分时 ∫∞0f(x)J0(x)dx∫0∞f(x)J0(x)dx\int_0^\infty f(x) J_0(x)\,\mathrm{d}x 如果平滑且行为良好(例如,本身本身不是高度振荡的,非奇异的等),则将其重写为f(x)f(x)f(x) 1π∫π0∫∞0f(x)cos(xsinθ)dxdθ1π∫0π∫0∞f(x)cos⁡(xsin⁡θ)dxdθ\frac{1}{\pi}\int_0^\pi \int_0^\infty f(x) \cos(x\sin\theta) \,\mathrm{d}x\,\mathrm{d}\theta 并首先数值计算内部积分。我看不出有什么理由可以期望它能起作用,但是数值方法的准确性很少是显而易见的。 当然,我知道执行此操作的最佳方法是使用针对像这样的振荡积分优化的方法,但是出于好奇的缘故,假设我将自己限制为使用某些正交规则。任何人都可以确认或驳斥进行这种转换会提高积分的准确性吗?和/或向我指出解释该问题的消息来源?

4
快速准确地实现不完整伽玛函数的双精度
最新的实现双精度特殊功能的方式是什么?我需要以下积分: 对于和,可以用较低的不完全伽马函数来表示。这是我的Fortran和C实现:米=0,1,2,。。。Fm(t)=∫10u2me−tu2du=γ(m+12,t)2tm+12Fm(t)=∫01u2me−tu2du=γ(m+12,t)2tm+12 F_m(t) = \int_0^1 u^{2m} e^{-tu^2} d u = {\gamma(m+{1\over 2}, t)\over 2 t^{m+{1\over 2}}} m=0,1,2,...m=0,1,2,...m=0, 1, 2, ...t>0t>0t>0 https://gist.github.com/3764427 它使用级数展开,将各项相加直到达到给定的精度,然后使用递归关系有效地获得较低值。我对其进行了很好的测试,获得了我需要的所有参数值的1e-15精度,有关详细信息,请参见Fortran版本的注释。mmm 有没有更好的方法来实现它?这是gfortran中的gamma函数实现: https://github.com/mirrors/gcc/blob/master/libgfortran/intrinsics/c99_functions.c#L1781 它使用有理函数逼近而不是总结一些我正在做的无穷级数。我认为这是一种更好的方法,因为应该获得统一的精度。是否有某种规范的方法来处理这些问题,还是必须为每种特殊功能找出一种特殊的算法? 更新1: 根据评论,这是使用SLATEC的实现: https://gist.github.com/3767621 它从我自己的函数中复制值,大致在1e-15精度级别上。但是,我注意到一个问题,对于t = 1e-6和m = 50,项等于1e-303,对于更高的“ m”,它只是开始给出错误的答案。我的函数没有这个问题,因为我直接对使用了一系列扩展/递归关系。这是一个正确值的示例: ˚F米tm+12tm+12t^{m+{1\over2}}FmFmF_m F100F100F_{100}(1e-6)=4.97511945200351715E-003, 但是我无法使用SLATEC来实现这一点,因为分母会爆炸。如您所见,的实际值很小。FmFmF_m 更新2: 为避免上述问题,可以使用该函数dgamit(Tricomi的不完全Gamma函数),然后F(m, t) = dgamit(m+0.5_dp, t) * gamma(m+0.5_dp) / 2,因此不再存在问题,但是不幸的是,。然而,这可能是足够高的,我的目的。米≈ 172 米tttgamma(m+0.5_dp)m≈172m≈172m\approx 172mmm

1
在复平面上的曲线上正交的多项式
多项重要的多项式集(Legendre,Chebyshev等)在某个实际区间上具有一定的权重正交。是否存在与复平面中其他曲线正交的多项式族? 例如,我想要一个在圆上正交的次数n的多项式的基础 −1+exp(it)−1+exp⁡(it)-1 + \exp(it) 为 。0≤t&lt;2π0≤t&lt;2π0\le t< 2\pi 之所以在此发布,是因为我有一个数字问题,涉及到复杂平面上各点的多项式值矩阵。使用单项式,对于大多数点集,它变得病态严重。我想使用另一个基础来改善条件,但是尚不清楚使用Legendre或Chebyshev多项式会改善复杂平面中一般曲线的条件。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.