Questions tagged «stability»

数值算法中误差传播的研究。

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) 有理不等式约束的数量大约等于决策变量数量的两倍 目标函数是决策变量之一 等式约束的雅可比行列是密集的,不等式约束的雅可比行列是密集的。

2
如何确定PDE的数值解是否收敛于连续解?
在松懈的等价性定理指出,一致性和数值方案的稳定性用于线性初值问题是收敛的必要和充分条件。但是对于非线性问题,尽管数值方法是一致且稳定的,但数值方法可以非常合理地收敛到错误的结果。例如,本文显示了应用于一维线性化浅水方程的一阶Godunov方法如何收敛到一个不正确的解。 显然,在网格和时间步长细化下的自收敛是不够的,但是对于非线性PDE来说,精确解通常是不可用的,那么如何确定一种数值方法是否收敛到一个真解?

1
Logum中的灾难性取消
我正在尝试在相对精度较低的双精度浮点中实现以下功能: logsum(x,y)=log(exp(x)+exp(y))logsum(x,y)=log⁡(exp⁡(x)+exp⁡(y))\mathrm{logsum}(x,y) = \log(\exp(x) + \exp(y)) 这在统计应用程序中被广泛使用以添加在对数空间中表示的概率或概率密度。当然,或都很容易溢出或下溢,这很不好,因为日志空间最初是用来避免下溢的。这是典型的解决方案:exp(x)exp⁡(x)\exp(x)exp(y)exp⁡(y)\exp(y) logsum(x,y)=x+log1p(exp(y−x))logsum(x,y)=x+log1p(exp⁡(y−x))\mathrm{logsum}(x,y) = x + \mathrm{log1p}(\exp(y - x)) Cancellation from y−xy−xy-x does happen, but is mitigated by expexp\exp. Worse by far is when xxx and log1p(exp(y−x))log1p(exp⁡(y−x))\mathrm{log1p}(\exp(y - x)) are close. Here's a relative error plot: The plot is cut off at 10−1410−1410^{-14} to emphasize …

3

1
什么时候应该在双曲PDE的集成中使用隐式方法?
用于求解PDE(或ODE)的数值方法分为两大类:显式方法和隐式方法。隐式方法允许较大的稳定时间步长,但每个步骤需要更多的工作。对于双曲线PDE,普遍的看法是,隐式方法通常不会奏效,因为使用比CFL条件允许的时间步长大的时间步长会导致非常不准确的结果。但是,在某些情况下会使用隐式方法。对于给定的应用程序,应该如何选择使用显式方法还是隐式方法?

1
具有网格相关稳定性的元素的有用性
在完成了与3D斯托克斯问题中的元素稳定性相关的一些数学运算后,我有点震惊地意识到对于任意四面体网格不是稳定的。更准确地说,如果您有一个元素,其中所有节点和四个构面中的三个构面都以Dirichlet条件位于域的边界上,则最终会得到一个奇异矩阵。实际上,从斯托克斯体系的薄弱形式得出结论是相当琐碎的。P2- P1个P2-P1个P_2-P_1 我测试了我可以访问的唯一商业Stokes代码(COMSOL),它允许我创建这样的网格。单击解决后,我得到预期的“错误:奇异矩阵”。(我的印象是COMSOL将用于其蠕变流模块。)P2- P1个P2-P1个P_2-P_1 为了进一步测试问题是否与其他配置无关,我尝试了以下网格,一切都按预期进行。 问题:自适应或非自适应)网格生成器是否考虑了这种约束?我从各种研究论文中看到,该元素似乎很受欢迎。在选择使用方法时,这些边界不稳定性通常被忽略吗?更重要的是,拥有一个稳定的有限元真正意味着什么,即哪种网格相关的不稳定性太大,以至于我们得出结论该方法不好?

1
关于五阶Runge-Kutta方法的稳定性区域的令人困惑的评论
我在论文中碰到一个令人费解的评论 PJ van der Houwen,偏微分方程Runge-Kutta方法的发展,应用。嗯 数学。1996年20:261 范德侯文在第264页的第8ff行中写道: “对于泰勒多项式这意味着假想稳定性间隔为空 ”p = 1 ,2 ,5 ,6 ,9,10 ,⋯p=1个,2,5,6,9,10,⋯p = 1, 2, 5, 6, 9, 10, \cdots 其中,泰勒多项式是指Runge-Kutta方法的稳定性多项式(在x = 0处截断展开),p是阶数(请参阅第263页)。我认为我误会了一些东西,因为据我所知,五阶Runge-Kutta方法没有虚假的稳定区间。据我所知,假想极限约为3.4左右。经验值(x )经验值⁡(X)\exp(x)x = 0X=0x=0 我有什么误会

1
具有牛顿法的有限差分的近似雅可比方程会引起不稳定性吗?
我已经在python 3中实现了向后欧拉求解器(使用numpy)。为了我自己的方便和练习,我还编写了一个小函数来计算梯度的有限差分近似值,这样我就不必总是解析地确定雅可比矩阵(如果可能的话!)。 使用Ascher和Petzold 1998中提供的描述,我编写了此函数来确定给定点x处的梯度: def jacobian(f,x,d=4): '''computes the gradient (Jacobian) at a point for a multivariate function. f: function for which the gradient is to be computed x: position vector of the point for which the gradient is to be computed d: parameter to determine perturbation value eps, where eps …

2
冯·诺伊曼稳定性分析的有限差分方法的替代方法
我正在研究耦合的一维多孔弹性方程(比奥模型),给出为: −(λ+2μ)∂2u∂x2+∂p∂x=0−(λ+2μ)∂2u∂x2+∂p∂x=0-(\lambda+ 2\mu) \frac{\partial^2 u}{\partial x^2} + \frac{\partial p}{\partial x} = 0 ∂∂t[γp+∂u∂x]−κη[∂2p∂x2]=q(x,t)∂∂t[γp+∂u∂x]−κη[∂2p∂x2]=q(x,t)\frac{\partial}{\partial t} \left[ \gamma p + \frac{\partial u}{\partial x}\right] -\frac{\kappa}{\eta}\left[\frac{\partial^2 p}{\partial x^2}\right] =q(x,t) 在域并具有边界条件: Ω=(0,1)Ω=(0,1)\Omega=(0,1) p=0,(λ+2μ)∂u∂x=−u0p=0,(λ+2μ)∂u∂x=−u0p=0, (\lambda + 2\mu)\frac{\partial u}{\partial x}=-u_0 at and在。ü = 0 ,∂ px=0x=0x=0X=1u=0,∂p∂x=0u=0,∂p∂x=0u=0, \frac{\partial p}{\partial x} = 0x=1x=1x=1 我使用中心有限差分方案离散了这些方程式: γp吨+ 1我 -p吨我(λ + 2 …

3
数值稳定性的启发式检查
假设我有一个实值函数,其中有一些变量x i,我想对其进行数值计算。通常,f的公式可以包含乘积,有理数,超越函数等,并且需要很长时间才能通过分析研究其数值稳定性。否则在实践中至少会很费时间。假设我没有比以前更短的保证稳定性。有没有方法可以分析f的数值稳定性f(x1,…,xN)f(x1,…,xN)f(x_1,\ldots ,x_N)xixix_iffffff。我想将其与使用计算机代数系统获得的任意精确结果进行比较。假设该函数将使用stdlib函数和单精度或双精度在C中实现。我应该比较哪些数量来量化有限精度下的近似质量?如何确定变量的临界值?如何选择编译器和编译器优化,以便其他人可以轻松重现结果?...我知道问题的解决方法可能是通用的,可以给出很好的答案。但是我仍然认为这是计算机科学中的普遍问题,并且想知道是否有参考文献提出了进行此类分析的标准。
12 stability 

1
对于具有各向异性边界网格的不可压缩流,哪些空间离散化有效?
高雷诺数流产生非常薄的边界层。如果在“大涡流模拟”中使用了壁分辨率,则宽高比可能约为10610610^6。在这种情况下,许多方法变得不稳定,因为insup常数会随着长宽比的平方根或更差而降低。insup常数很重要,因为它会影响线性系统的条件数和离散解的逼近性质。尤其是,以下关于离散误差保持的先验界限(Brezzi和Fortin 1991) μ∥u−uh∥H1≤C[μβinfv∈V∥u−v∥H1+infq∈Q∥p−q∥L2]∥p−ph∥L2≤Cβ[μβinfv∈V∥u−v∥H1+infq∈Q∥p−q∥L2]μ‖u−uh‖H1≤C[μβinfv∈V‖u−v‖H1+infq∈Q‖p−q‖L2]‖p−ph‖L2≤Cβ[μβinfv∈V‖u−v‖H1+infq∈Q‖p−q‖L2]\begin{split} \mu \lVert {\mathbf u} - \mathbf u_h \rVert_{H^1} \le C \left[ \frac{\mu}{\beta} \inf_{\mathbf v \in \mathcal V} \lVert{\mathbf u - \mathbf v}\rVert_{H^1} + \inf_{q \in \mathcal Q} \lVert p-q \rVert_{L^2} \right] \\ \lVert{p - p_h}\rVert_{L^2} \le \frac{C}{\beta} \left[ \frac{\mu}{\beta} \inf_{\mathbf v \in \mathcal V} \lVert{\mathbf u - …

1
操作顺序,数值算法
我读过 (1)条件恶劣的操作应在条件良好的操作之前进行。 举例来说,由于减法不适用于乘法,而减法不适用于条件,因此应将计算为。(x - y )zxz−yzxz−yzxz-yz(x−y)z(x−y)z(x-y)z 但是,对这两种算法的一阶误差分析表明,它们的相差仅三倍(*),而且我不明白为什么有人可以将其概括为语句(1),也无法直观地理解操作顺序。您认为陈述(1)是被接受的规则,您对此有其他解释吗? *:更具体地说,第一个版本的相对误差由 eps+3|x|+|y||x|−|y|epseps+3|x|+|y||x|−|y|eps\text{eps}+3\frac{|x|+|y|}{|x|-|y|}\text{eps}而第二版本的相对误差由 3eps+|x|+|y||x|−|y|eps3eps+|x|+|y||x|−|y|eps3\text{eps}+\frac{|x|+|y|}{|x|-|y|}\text{eps} 其中是机器精度。epseps\text{eps} 该分析基于以下假设:第个中间结果乘以(由于舍入误差),其中是由界定的iid随机变量。“一阶”表示忽略诸如的高阶术语。(1 + ε 我)ε 我 EPS ε 我ε Ĵ Xiii(1+εi)(1+εi)(1+\varepsilon_i)εiεi\varepsilon_iepseps\text{eps}ϵiϵjxϵiϵjx\epsilon_i\epsilon_jx

2
在哪里可以找到解决抛物线偏微分方程的几种方法的稳定性的良好参考?
现在,我有一个使用Crank-Nicholson算法的代码,但是我认为我想转向更高阶的算法以进行时间步长。我知道Crank-Nicholson算法在我想工作的领域中是稳定的,但我担心某些其他算法可能不是。 我知道如何计算算法的稳定区域,但这可能有点麻烦。有人知道抛物线偏微分方程的大量时间步长算法的稳定性吗?

2
要使SVD稳定添加多少正则化?
我一直在使用英特尔MKL的SVD(dgesvd通过SciPy的),并注意到,当我改变之间的精确结果是显著不同float32而float64当我的基质被严重空调/没有满秩。我应该添加一些关于最小化正则化的指南,以使结果对float32-> float64变化不敏感吗? 特别是 A = UdVŤA=UDVTA=UDV^{T}, 我看到 大号∞L∞L_\infty 规范 VŤXVTXV^{T}X当我在float32和之间更改精度时,会移动约1 float64。大号2L2L_2 规范 一个AA 是 10510510^5 在784个总数中,约有200个零特征值。 在做SVD λ 我+ AλI+A\lambda I + A 与 λ =10− 3λ=10−3\lambda=10^{-3} 使差异消失了。

2
关于非线性有限差分方程,冯·诺依曼的稳定性分析告诉我们什么?
我正在阅读一篇论文[1],他们在其中解决了以下非线性方程 ut+ux+uux−uxxt=0ut+ux+uux−uxxt=0\begin{equation} u_t + u_x + uu_x - u_{xxt} = 0 \end{equation} 使用有限差分法。他们还使用冯·诺依曼的稳定性分析来分析方案的稳定性。但是,正如作者意识到的那样,这仅适用于线性PDE。因此,作者通过“冻结”非线性项来解决此问题,即他们替换了非线性项。uuxuuxuu_x 与 UuxUuxUu_x,在哪里 UUU “被认为代表了 uuu”。 所以我的问题有两个: 1:如何解释此方法,为什么不起作用? 2:我们也可以更换 uuxuuxuu_x 与 uUxuUxuU_x 学期 UxUxU_x “被认为代表了 uxuxu_x“? 参考文献 Eilbeck,JC和GR McGuire。“正则化长波方程的数值研究I:数值方法。” Journal of Computational Physics 19.1(1975):43-57。
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.