Questions tagged «quadrature»

正交也称为数值积分,是指通过在有限数量的点上评估被积数而得到的积分近似值。

17
是否有适用于Python的高质量非线性编程求解器?
我要解决几个具有挑战性的非凸全局优化问题。目前,我使用了MATLAB的Optimization Toolbox(特别是fmincon()使用algorithm = 'sqp'),它非常有效。但是,我的大部分代码是在Python中进行的,我也想在Python中进行优化。是否存在可以与Python绑定竞争的NLP求解器fmincon()?它必须 能够处理非线性等式和不等式约束 不需要用户提供雅可比行列式。 如果不保证全局最优(fmincon()没有),也可以。我正在寻找一种即使在遇到挑战性问题时也可以收敛到局部最优的东西,即使它比慢一些fmincon()。 我尝试了OpenOpt提供的几种求解器,发现它们不如MATLAB的fmincon/sqp。 只是为了强调,我已经有了一个易于处理的公式和一个好的求解器。我的目标仅仅是更改语言,以使工作流程更加简化。 Geoff指出问题的某些特征可能是相关的。他们是: 10-400个决策变量 4-100个多项式相等约束(多项式范围从1到大约8) 有理不等式约束的数量大约等于决策变量数量的两倍 目标函数是决策变量之一 等式约束的雅可比行列是密集的,不等式约束的雅可比行列是密集的。

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 …


4
带导数的数字正交
大多数求积分的数值方法都将被积数视为黑盒函数。如果我们有更多信息怎么办?特别是,如果了解被积物的前几个导数,我们可以从中得到什么好处?还有哪些其他信息可能有价值? 特别是对于导数:基本正交(矩形/梯形/辛普森规则)的误差估计密切相关。也许有一种方法可以预先选择采样分辨率,而不是依靠动态适应性? 我对单变量和多维情况都感兴趣。

3

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 并首先数值计算内部积分。我看不出有什么理由可以期望它能起作用,但是数值方法的准确性很少是显而易见的。 当然,我知道执行此操作的最佳方法是使用针对像这样的振荡积分优化的方法,但是出于好奇的缘故,假设我将自己限制为使用某些正交规则。任何人都可以确认或驳斥进行这种转换会提高积分的准确性吗?和/或向我指出解释该问题的消息来源?

2
为什么Matlab的整体性能优于Scipy?
对于Matlab处理数值积分与Scipy的方式,我感到有些沮丧。我在下面的测试代码中观察到以下差异: Matlab的版本平均运行速度比我的python 快24倍! Matlab的版本能够在没有警告的情况下计算积分,而python返回 nan+nanj 关于上述两点,我该怎么做才能确保在python中获得相同的性能?根据文档,这两种方法都应使用“全局自适应正交”来近似积分。 下面是这两个版本中的代码(尽管python要求创建一个积分函数以便它可以处理复杂的被积数,但两者非常相似。) 蟒蛇 import numpy as np from scipy import integrate import time def integral(integrand, a, b, arg): def real_func(x,arg): return np.real(integrand(x,arg)) def imag_func(x,arg): return np.imag(integrand(x,arg)) real_integral = integrate.quad(real_func, a, b, args=(arg)) imag_integral = integrate.quad(imag_func, a, b, args=(arg)) return real_integral[0] + 1j*imag_integral[0] vintegral = np.vectorize(integral) …

5
我如何近似不正确的积分?
我有一个函数使得∫ [R 3 ˚F (X ,ÿ ,Ž )d V 是有限的,我想接近这个积分。 F(x ,y,ž)f(x,y,z)f(x,y,z) ∫[R3F(x ,y,ž)dV∫R3f(x,y,z)dV\int_{R^3} f(x,y,z)dV 我对积分的正交规则和蒙特卡洛近似法很熟悉,但是在无限域中实现它们存在一些困难。在蒙特卡洛的情况下,如何去采样一个无限的区域(尤其是如果对积分有更大贡献的区域是未知的)?在正交情况下,如何找到最佳点?我是否应该简单地固定以原点为中心的任意大区域并应用稀疏正交规则?我怎样才能近似这个积分?

2
对于嘈杂或结构精细的数据,有没有比中点法则更好的正交?
这个长问题的仅前两个部分是必不可少的。其他仅用于说明。 背景 较高阶的正交函数,例如更高阶的牛顿-科茨复合材料,高斯-莱根特雷和罗姆贝格复合材料,似乎主要用于那些可以对函数进行精细采样而不能进行分析集成的情况。但是,对于具有比采样间隔(例如,请参阅附录A)或测量噪声更精细的结构的函数,它们无法与简单的方法(例如中点或梯形规则)(请参见附录B进行演示)竞争。 这有点直观,例如,复合Simpson规则通过分配较低的权重实质上“丢弃”了四分之一的信息。这样的正交对于足够无聊的功能更好的唯一原因是,正确处理边界效应要大于丢弃信息的效应。从另一角度看,从我的直觉上很清楚,对于具有精细结构或噪声的函数,远离积分域边界的样本必须几乎等距且权重几乎相同(对于大量样本而言) )。另一方面,更好地处理边界效果(与中点方法相比)可能会受益于此类函数的正交。 题 假设我希望在数值上整合嘈杂或精细结构的一维数据。 采样点的数量是固定的(由于功能评估成本很高),但是我可以自由放置它们。但是,我(或方法)不能交互地放置采样点,即基于其他采样点的结果。我也不事先知道潜在的问题区域。因此,像Gauß–Legendre(非等距采样点)之类的东西就可以了。自适应正交不是必需的,因为它需要交互式放置采样点。 在这种情况下,是否建议使用任何超出中点方法的方法? 或者:是否有任何证据证明在这种情况下中点方法是最好的? 更笼统地说:关于此问题是否已有任何工作? 附录A:精细结构函数的特定示例 我想为估算: 其中和。一个典型的函数如下所示:∫10f(t)dt∫01f(t)dt\int_0^1f(t)\, \mathrm{d}tf(t)=∑i=1ksin(ωit−φi)ωi,f(t)=∑i=1ksin⁡(ωit−φi)ωi, f(t) = \sum_{i=1}^{k} \frac{\sin(ω_i t-φ_i)}{ω_i},φi∈[0,2π]φi∈[0,2π]φ_i∈ [0,2π]logωi∈[1,1000]log⁡ωi∈[1,1000]\log{ω_i} ∈ [1,1000] 我为以下属性选择了此功能: 可以对控制结果进行分析集成。 它在某种程度上具有良好的结构,使得无法使用我正在使用的样本数量()捕获全部。&lt;102&lt;102<10^2 它并不以其精细的结构为主导。 附录B:基准 为了完整起见,这是Python中的基准测试: import numpy as np from numpy.random import uniform from scipy.integrate import simps, trapz, romb, fixed_quad begin = 0 end = 1 …

1
数值正交的方法选择
存在用于数字正交的几种方法。如果我有一类特定的被积物,如何选择理想的方法? 关于被积物(例如,是否光滑?是否具有奇点?)和计算问题(例如,容错性,计算预算),有什么相关的问题要问? 这些问题的答案如何排除或推广各种方法?为简单起见,我们只考虑一维或低维积分。 例如,有关QUADPACK的Wikipedia文章指出,相当通用的QAGS例程“ 在每个子间隔内使用基于21点高斯-克朗德正交的全局自适应正交,并通过Peter Wynn的epsilon算法进行加速 ” 这个决定是如何做出的?当人们知道更多时,如何做出类似的决定?
12 quadrature 

2
数值积分-处理NaN(C / Fortran)
我正在处理一个棘手的积分,该积分会在接近零的某些值处显示NaN,而现在我正在使用ISNAN语句对它们进行粗略的处理,该语句将发生这种情况时将被积数设置为零。我已经在FORTRAN中的NMS库(q1da例程-q1dax没什么不同)和C语言中的GSL库(使用QAGS例程)中进行了尝试。 我研究了CQUAD(C的GSL库的一部分),该CQUAD是专门为处理被集成物中的NaN和INF而设计的,但是参考文献中的有用信息很少,而且没有网上示例程序。有谁知道其他适用于C或FORTRAN的数字积分例程可以完成这项工作?
12 quadrature 

1
如何在3D 4节点元素上集成多项式表达式?
我想在3D的4节点元素上集成多项式表达式。关于FEA的几本书介绍了在任意平坦的4位元素上执行积分的情况。在这种情况下,通常的过程是找到Jacobi矩阵,并使用其行列式将积分基础更改为归一化的矩阵,在该规范中,我的积分极限更简单[-1; 1],并且易于使用高斯-勒根德勒正交技术。 换句话说, 被简化为∫Sf(x,y) dxdy∫Sf(x,y) dxdy\displaystyle\int_S f(x,y)\ \mathrm{d}x\,\mathrm{d}y\,∫−11∫−11f~(e,n) |det(J)|dedn∫1−1∫1−1f~(e,n) |det(J)|dedn\displaystyle\int^{-1}_{1}\int^{-1}_{1} \tilde{f}(e,n)\ \left|\det(J)\right|\,\mathrm{d}e\,\mathrm{d}n 但是在2D情况下,我将平面任意元素更改为平面1但形状良好的正方形2乘以2。 3D 4节点元素通常并不平坦,但我想它仍然可以使用2D坐标系进行映射,而2D坐标系与笛卡尔坐标系有关。我无法弄清楚如何用{e,n}来表达{x,y,z}以及在这种情况下Jacobi矩阵的大小是多少(应该是正方形的)。

3
具有已知边界的多维积分的数值积分
我有一个(二维)不正确的积分 一世= ∫一个w ^(x ,y)F(x ,y)d x d yI=∫AW(x,y)F(x,y)dxdyI=\int_A \frac{W(x,y)}{F(x,y)}\,\mbox{d}x\mbox{d}y 其中积分的域小于X = [ - 1 ,1 ],ÿ = [ - 1 ,1 ]但通过进一步限制˚F (X ,ÿ )&gt; 0。由于F和W平滑且W ≠ 0一个AAX = [ - 1 ,1 ]x=[−1,1]x=[-1,1]ÿ= [ - 1 ,1 ]y=[−1,1]y=[-1,1]F(x ,y)&gt; 0F(x,y)&gt;0F(x,y)>0FFFw ^WWw ^≠ 0W≠0W \ne 0在边界处,后一种关系意味着被积物在边界处可以是奇异的。但是,被积数是有限的。到目前为止,我已经使用嵌套数值积分计算了该积分。这是成功的但很慢。我寻找一种更合适(更快)的方法来解决积分问题,也许是蒙特卡洛方法。但是我需要一个不将点放在非三次域A的边界上并且正确地接受不适当积分的极限的函数。积分转换可以帮助此一般表达吗?请注意,我可以解决为Ÿ作为函数X,甚至计算出我的一些特殊功能,重量w ^ (F(x ,y)F(x,y)F(x,y)ÿyyXxx一世II。w …

3
高振荡积分的数值评估
在这一高级课程中,复杂函数理论在一次练习中的应用是高度振荡的 一世(λ )= ∫∞- ∞cos(λ COSx )罪XXdX一世(λ)=∫-∞∞cos⁡(λcos⁡X)罪⁡XXdXI(\lambda)=\int_{-\infty}^{\infty} \cos (\lambda \cos x) \frac{\sin x}{x} d x 对于大的λλ\lambda值,必须使用鞍点法在复平面中进行近似。 由于其高度振荡的性质,使用大多数其他方法很难评估该积分。这是λ = 10λ=10\lambda = 10时不同比例的积分图的两个片段: 前导渐近逼近为 一世1个(λ )= cos( λ - 14π)2个πλ---√一世1个(λ)=cos⁡(λ-1个4π)2πλI_{1}(\lambda) = \cos \left(\lambda-\frac{1}{4} \pi\right) \sqrt{\frac{2 \pi}{\lambda}} 进一步(小得多)的改进增加了术语 一世2(λ )= 18罪( λ - 14π)2个πλ3---√一世2(λ)=1个8罪⁡(λ-1个4π)2πλ3I_2(\lambda)=\frac{1}{8} \sin \left(\lambda-\frac{1}{4} \pi\right) \sqrt{\frac{2 \pi}{\lambda^{3}}} 近似值与λλ\lambda如下: 现在是我的问题:为了直观地看到近似值,我想将其与积分的“实际值”进行比较,或更准确地说,是使用独立算法将其与相同积分的近似值进行比较。由于次要修正的规模很小,我希望这确实很接近。 我尝试使用其他算法评估某些λλ\lambda的积分,但收效甚微:使用默认数值积分器的Mathematica和Matlab未能产生有意义的值(并明确报告此值),而mpmath则同时使用了双指数谭(sinh )谭⁡(辛)\tanh(\sinh)替换和Gauss-Legendre方法产生非常嘈杂的结果,尽管它确实有轻微的趋势围绕鞍点方法给出的值振荡,如下图所示: …

1
在四面体上积分谐波函数
假设我有一个函数,我希望在四面体进行积分。如果是任意的,那么高斯正交将是一个很好的解决方案,但是我碰巧知道是谐波。使用此信息可以将高斯正交加速多少? Ť ⊂ - [R 3 ˚F ˚FF:R3→ Rf:R3→Rf : \mathbf{R}^3 \to \mathbf{R}Ť⊂ [R3T⊂R3T \subset \mathbf{R}^3FffFff 例如,如果相反是一个球体,则在球体中心对一次评估即可得出平均值属性的确切答案。˚FŤTTFff 通过搜索可以找到以下论文,该论文很有趣,但它以不同的方向推广了球体的情况(改为多谐波,而不是远离球体): Bojanov和Dimitrov,高斯用于多谐函数的扩展培养公式
11 quadrature 

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.