计算科学

科学家使用计算机解决科学问题的问答

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

3
如何构造代数多重网格求解器的延长和限制算子?
我正在尝试求解一个稀疏但缺少任何带状结构的线性方程组。我听说,有一种方法可以将隐式有限差分方案的多网格求解器的原理扩展到一般的线性问题(如果我没记错的话,它称为代数多网格求解器)。在阅读了一些有关它的文献之后,我仍然很困惑如何在粗网格和精网格之间进行插值(即延长和限制),而没有像有限差分方案那样利用带状矩阵的精细结构。有启发式吗?谁能举个例子?


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

1
是否有用于优化连续超松弛(SOR)方法的试探法?
据我了解,通过选择参数并使用(准)Gauss-Seidel迭代和上一个时间步长的值的线性组合来进行连续过度松弛是有效的…… 0≤ω≤20≤ω≤20\leq\omega\leq2 uk+1=(ω)ugsk+1+(1−ω)ukuk+1=(ω)ugsk+1+(1−ω)uk{u}^{k+1} = (\omega){u_{gs}}^{k+1} + (1-\omega)u^{k} 我之所以说“准”,是因为包括随时根据此规则更新的最新信息。(请注意,在,这正是高斯塞德尔)。 ω=1ugsk+1ugsk+1{u_{gs}}^{k+1}ω=1ω=1\omega=1 无论如何,我已经读到最优选择(这样迭代的收敛速度比其他任何方法都快)在空间分辨率接近零时针对泊松问题接近2。其他对称的,对角占优的问题是否存在类似的趋势?也就是说,有没有一种方法可以在不将其嵌入到自适应优化方案中的情况下最佳地选择omega?对于其他类型的问题,还有其他启发式方法吗?松弛不足()最适合哪种问题?ω &lt; 1ωω\omegaω&lt;1ω&lt;1\omega<1

3
从正态分布的有限混合中抽取样本?
经过一些贝叶斯更新步骤后,剩下的是正态分布混合形式的后验分布也就是说,参数\ theta是从一个分布中得出的,该分布的PDF是正常PDF的加权混合,而不是正常RV的总和。我想绘制样本\ theta \ sim \ Pr(\ theta | \ text {data})以用于此后验的重要性采样近似。实际上,i上的总和可能包含大量项,因此根据权重\ {w_i \}选择项i然后绘制\ theta \ sim N(\ mu_i,\ sigma ^ 2)θ θ 〜镨(θ |数据)我我{ 瓦特我 } θ 〜Ñ (μ 我,σ 2)Pr (θ | data )= ∑我= 1ķw一世ñ(μ一世,σ2)。镨(θ|数据)=∑一世=1个ķw一世ñ(μ一世,σ2)。\Pr(\theta| \text{data} ) = \sum_{i=1}^k w_i N(\mu_i, \sigma^2).θθ\thetaθ 〜镨(θ |数据)θ〜镨(θ|数据)\theta\sim\Pr(\theta|\text{data})一世一世i一世一世i{ w一世}{w一世}\{w_i\}θ 〜Ñ(μ一世,σ2)θ〜ñ(μ一世,σ2)\theta\sim N(\mu_i, …

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

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多项式会改善复杂平面中一般曲线的条件。

2
二阶六面体有限元是否需要8个高斯点?
在不引入非物理模式的情况下,具有少于8个高斯点的六面体有限元是否可以获得二阶精度?单个中心高斯点引入了非物理剪切模式,并且与四面体离散化相比,8个高斯点的标准对称排列昂贵。 编辑:有人要求方程式。我感兴趣的方程是动态或准静态的非线性弹性。准静态方程为 ∇ &CenterDot;&P(&dtri; φ ) = 0∇⋅P(∇ϕ)=0\nabla \cdot P\left(\nabla \phi \right) = 0 其中,和是超弹性的第一Piola-Kirchoff应力函数。一个简单的例子是可压缩的新霍克函数,其中 ϕ :Ω → R3ϕ:Ω→[R3\phi : \Omega \to \mathbf{R}^3Ω ⊂ ř3Ω⊂[R3\Omega \subset \mathbf{R}^3P:R3 × 3→ R3 × 3P:[R3×3→[R3×3P : \mathbf{R}^{3 \times 3} \to \mathbf{R}^{3 \times 3}P(F)= μ (F- ˚F- Ť)+ λ ˚F- Ť日志det FP(F)=μ(F-F-Ť)+λF-Ť日志⁡tF P(F) = …

1
正交规则,方法和参考
至少有一个相当全面的正交规则百科全书,似乎没有在相当长的时间内更新过,并且访问受到限制。此资源是指几种古典和现代资源,通常可以很好地组合在一起。但是,它是从纯粹的理论方法出发构造正交规则的,因此错过了用于有限元计算的更实用的方法。 是否存在更多关于正交规则的多学科纲要,还是没有人知道开放源代码库,该库为简单域(例如用于有限元素的方法)实现了广泛的此类方法?

3
,或计算速度更快?
其计算速度更快,一个baba^b或日志一个Cloga⁡c\log_a c或C√bcb\sqrt[b]{c}?一个aa,bbb和Ccc是正实数,且b &gt; 1b&gt;1b>1。 您将在比较中使用哪种算法?它们的复杂性是什么? 例如,当Ç ≡ 一bc≡abc \equiv a^b或Ç ≈ 一bc≈abc \approx a^b 这个问题的灵感来自对数学堆栈交换问题的评论,斯特林近似于阶乘的目的是什么?。特别是mjqxxxx,Thomas Andrews和我留下的评论。

2
要使SVD稳定添加多少正则化?
我一直在使用英特尔MKL的SVD(dgesvd通过SciPy的),并注意到,当我改变之间的精确结果是显著不同float32而float64当我的基质被严重空调/没有满秩。我应该添加一些关于最小化正则化的指南,以使结果对float32-&gt; 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} 使差异消失了。

3
如何开始在C ++中使用LAPACK?
我是计算机科学的新手,我已经学习了积分,插值的基本方法,以及C ++上的RK4,Numerov等方法,但是最近我的教授要求我学习如何使用LAPACK解决与矩阵有关的问题。例如,寻找复杂矩阵的特征值。我从未使用过第三方库,并且几乎总是编写自己的函数。我已经搜寻了几天,但找不到任何适合lapack的业余爱好者指南。所有这些都是用我不理解的语言编写的,我也不知道为什么使用已经编写的函数应该这么复杂。他们到处都是zgeev,dtrsv等单词,我很沮丧。我只想编写类似以下伪代码的代码: #include &lt;lapack:matrix&gt; int main(){ LapackComplexMatrix A(n,n); for... for... cin&gt;&gt;A(i,j); cout&lt;&lt;LapackEigenValues(A); return 0; } 我不知道我是傻还是业余。但是,这不应该那么难吗?我什至不知道我应该使用LAPACK还是LAPACK ++。(我用C ++编写代码,不了解Python或FORTRAN)以及如何安装它们。
10 lapack 

1
快速和向后稳定(左)
我需要计算很多 3×33×33\times3 矩阵逆(用于牛顿迭代极坐标分解),具有极少数退化案例(&lt;0.1%&lt;0.1%<0.1\%)。 显式逆(通过矩阵次要除以行列式)似乎有效,大约是32到40个融合触发器(取决于我如何计算行列式的倒数)。不考虑det比例因子,它只有18个融合触发器(9个元素中的每个都是ab-cd形式,2个融合触发器)。 题: 有没有一种方法可以计算 3×33×33\times 3 使用少于18个(具有任意标度)或32个(具有适当标度,考虑倒数1 op)的融合触发器? 有没有一种经济的方法(使用〜50 f-flops)来计算a的向后稳定左反转 3×33×33\times 3 矩阵? 我正在使用单精度浮点数(iOS游戏)。向后稳定性对我来说是一个有趣的新概念,我想尝试一下。这是引起这一想法的文章。

2
在FEM中,为什么刚度矩阵是正定的?
在FEM类中,通常认为刚度矩阵是正定的,但我只是不明白为什么。有人可以解释一下吗? 例如,我们可以考虑泊松问题: 其刚度矩阵为: K_ {ij} = \ int_ \ Omega \ nabla \ varphi_i \ cdot \ nabla \ varphi_j \,d \ Omega, 其中是对称且正定的 对称性是一个显而易见的特性,但是对我而言,正定性不是那么明确。−∇2u=f,−∇2u=f, -\nabla^2 u = f,Kij=∫Ω∇φi⋅∇φjdΩ,Kij=∫Ω∇φi⋅∇φjdΩ,K_{ij} = \int_\Omega\nabla\varphi_i\cdot\nabla\varphi_j\, d\Omega,

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.