Questions tagged «algorithms»

以明确的形式描述以明确的方式解决特定问题所需的特定步骤的描述。

2
计算截断的SVD,一次一个奇异值/向量
是否有一种截断的SVD算法可以一次计算一个奇异值? 我的问题:我想计算一个大的密集矩阵M的前ķķk奇异值(和奇异矢量),但是我不知道k的合适值是多少。M很大,因此出于效率考虑,我宁愿不评估完整的SVD,而只是在之后截断最小的SV。中号中号Mķķk中号中号M 理想情况下,将计算的奇异值的方式σ1个,σ2,…σ1个,σ2,…\sigma_1, \sigma_2,\ldots顺序,从最大(σ1个σ1个\sigma_1)到最小(σñσñ\sigma_n)。这样一来,我可以简单地停止计算计算后ķķk个奇异值,如果σķ/ σ1个σķ/σ1个\sigma_k/\sigma_1下降到低于某个阈值。 是否存在这样的算法(最好使用Python实现)?在谷歌搜索中,我只发现了以k为参数的截断SVD函数,因此迫使您先验猜测。

3
小点的3D凸包的体积全部设置在船体上
除了3D之外,我有一个与之前提出的问题类似的问题,我只需要体积而不是船体的实际形状。 更精确地讲,我在3D中得到了一小部分点(例如10-15),已知所有这些点都位于点集的凸包上(因此它们都“重要”并定义了壳)。我只想计算船体的体积,我不在乎计算实际的多面体。有一种有效的算法可以做到这一点吗?

3
是否有之间的复杂
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为计算科学堆栈交换的主题。 5年前关闭。 是否存在大于小于的复杂度?O (n log n )O(n)O(n)O(n)O(nlogn)O(nlog⁡n)O(n \log n)

2
计算与最大特征值相对应的密集矩阵特征向量的最有效方法是什么?
我有一个密集的实对称方阵。尺寸约为1000x1000。我需要计算第一个主成分,并想知道这样做的最佳算法是什么。 看来MATLAB使用了Arnoldi / Lanczos算法(用于eigs)。但是通过阅读它们,我不确定它们是否比简单的幂迭代有任何优势,因为我的矩阵不是稀疏的,并且我只对第一个特征向量感兴趣。 任何建议在这种情况下最快的算法是什么?

3
复杂数值分析
在处理复杂变量的函数而不是实数变量的函数时,哪些数值分析情况会变得更不稳定或更不稳定,收敛速度更快或更慢,或者在其他方面完全不同?
10 algorithms 


2
从数字上看,弱收敛的感觉如何?
考虑一下,您在无穷维Hilbert或Banach空间中有问题(例如PDE或此类空间中的优化问题),并且您有一种算法难以收敛到解决方案。如果您离散化问题并将相应的离散化算法应用于问题,则弱收敛是每个坐标的收敛,因此也很强。我的问题是: 这种强收敛与从原始无穷算法的良好旧平原强收敛获得的收敛有什么区别? 或者,更具体: “离散的弱收敛方法”会发生什么样的不良行为? 当我只能证明收敛性较弱时,我自己通常不太高兴,但是到目前为止,即使我将离散化问题扩展到更高维度,我仍然无法观察到方法结果的问题。 请注意,我对“首先离散化而不是优化”与“首先优化而不是离散化”问题不感兴趣,并且我知道如果将算法应用于不与该问题共享所有属性的离散化问题,则会出现问题针对该算法而设计的。 更新:作为一个具体示例,请考虑一个变量存在的优化问题大号2大号2L^2并用(惯性)前后分裂之类的方法求解,或者只知道弱收敛性的其他方法。对于离散化问题,可以使用相同的方法,如果直接离散化算法,则使用正确的离散化可以得到相同的算法。提高离散化精度会出什么问题?大号2大号2L^2

2
在给定的间隔中找到函数的所有根
我需要在给定的时间间隔中找到标量函数的所有根。该功能可能有间断。该算法可以具有ε的精度(例如,如果算法没有找到比ε更近的两个不同的根,则可以。 是否存在这种算法?你能指出我有关那篇论文吗? 实际上,我有一个使用布伦特算法在给定间隔中找到零的函数,以及一个在给定间隔中找到最小值的函数。使用这两个函数,我建立了自己的算法,但是我想知道是否存在更好的算法。我的算法是这样的: 我从一个间隔[a,b]和一个函数开始f。如果sign(f(a+ε)) ≠ sign(f(b-ε))我知道a和之间至少有一个零b,我发现z = zero(]a,b[)。z通过查看z-εand 的值,我测试是否真的为零(可能是不连续性)z+ε。如果是,我将其添加到找到的零列表中。如果f(a+ε)和f(b-ε)均为正,我搜索m = min(]a, b[)。如果f(m)仍为正,我搜索m = max(]a,b[)是因为a和之间可能存在不连续性b。如果f(a+ε)和f(b-ε)为负,我则相反。 现在,从发现(z或m)的点开始,我将构建一个堆栈,其中包含函数的零,不连续和拐点。第一次迭代后,堆栈现在看起来像[a, z, b]。我再次从时间间隔]a,z[和开始算法]z,b[。当在两个点a和之间b,极值具有与两个区间结束相同的符号,并且两个极点都没有不连续性时,我从堆栈中删除了该区间。没有更多时间间隔时该算法结束。

1
BFGS对初始Hessian近似的敏感性
我正在尝试实现Broyden-Fletcher-Goldfarb-Shanno方法来查找函数的最小值。我需要两个初始猜测&x_0和一个初始Hessian矩阵近似B_0。我对B_0的唯一要求是,如果Hessian是对称正定的,则B_0也应如此。查看维基百科,我发现典型的初始近似值为B_0 = I(单位矩阵)。这始终是一个好的初始B_0吗?有什么理由让我想选择除我以外的其他任何东西?满足相同矩阵特性的B的其他选择会极大地影响该方法的收敛性吗? x−1x−1x_{-1}x0x0x_0B0B0B_0B0B0B_0B0B0B_0B0=IB0=IB_0=IB0B0B_0III

2
是否有一种算法可以找到给定公差角的近似凸包?
我想知道是否有一种算法,如果给定一个o点,并且如果角度为,则角度将计算凸包,而给定\ alpha> 0,则将计算一个更紧密地遵循“周长”的包络”。α=0α=0\alpha = 0α>0α>0\alpha > 0 并且,如果定义了一组点的不相交周长,则在这种情况下,αα\alpha大时将生成多边形。 问题的另一种观点是找到一种可以参数化的算法,以找到的最小周界解(凸包)和(归一化)的包围所有点的最小面积折线。α=0α=0\alpha = 0α=1α=1\alpha = 1

2
如何在爬山算法中生成邻居?
爬山似乎是进行优化的强大工具。但是,如何生成解决方案的“邻居”总是让我感到困惑。 例如,我正在优化解决方案 (x1,x2,x3)(x1,x2,x3)(x_1, x_2, x_3)。这里x1x1x_1 在范围内 (0,0.1)(0,0.1)(0, 0.1), x2x2x_2 在范围内 (0,100)(0,100)(0, 100), x3x3x_3 在范围内 (0,1000000)(0,1000000)(0, 1000000)。生成“邻居”的最佳方法是什么?我在这里不能真正选择“步长”,因为步长为1对x1x1x_1,但对 x3x3x_3。 在爬山算法中生成“邻居”的最佳通用方法是什么?

2
黑盒功能的估计范数
令为范数的有限维向量空间 令F:V \ rightarrow \ mathbb R为有界线性函数。它仅以黑盒形式给出。VVV∥⋅∥‖⋅‖\|\cdot\|F:V→RF:V→RF : V \rightarrow \mathbb R 我想估计F的范数FFF(从上到下)。由于FFF是一个黑匣子,所以唯一的方法是使用V中的单位矢量对其进行测试,VVV然后根据结果找到v∈S1Vv∈S1Vv \in S^1 V以最大化|F(v)||F(v)||F(v)|。 你知道这样的算法吗?在我想到的应用程序中,VVV是有限元素空间,而FFF是该空间上的复杂函数。 编辑:我的第一个想法是随机选择v∈S1Vv∈S1Vv \in S^1 V,将其扰动到多个方向,例如v1,…,vkv1,…,vkv_1,\dots,v_k,然后对得到最大F(v_i)的v_i重复该过程。我不知道在哪里可以找到算法和分析此问题。viviv_iF(vi)F(vi)F(v_i)

3
计算实稀疏矩阵的特征多项式
给定一个通用的稀疏矩阵 一∈[Rn × n一个∈[Rñ×ñA \in \mathbb{R}^{n\times n}与m << n(更正:米«ñ2米≪ñ2m \ll n^2)非零元素(通常为)。是通用的,因为它没有特定的属性(例如,正定性),并且没有结构(例如,条带化)。米∈ ø(Ñ )米∈Ø(ñ)m \in {\cal O}(n)一个一个A 有什么好的数值方法可以计算的特征多项式或最小多项式?一个一个A

1
用于计算多项式余数的数值稳定算法
令和。我正在寻找渐近快速且数值稳定的算法来计算。在预期的应用中,f,g均为具有双精度浮点系数的密集多项式。但是,到目前为止,我对算法而不是实现更感兴趣。还赞赏用于计算数字多项式的GCD的算法的参考。f,g∈R[x]f,g∈R[x]f, g \in \mathbb{R}[x]degf>deggdeg⁡f>deg⁡g\deg f > \deg gfmodgfmodgf \bmod gf,gf,gf, g
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.