计算科学

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

2
预测密集线性代数的运行时间
我想为使用特定库的特定体系结构上的密集线性代数运算预测运行时间。我想学习一个近似函数的模型 Fop::Fop::F_{op} \;::\; 输入尺寸→→ \rightarrow 运行 用于矩阵乘法,逐元素加法,三角求解等操作。 我怀疑一旦您超出了可以轻松容纳在缓存中的问题大小,由于这些操作的规律性,这些运行时大部分都是可预测的。 问题: 这个假设现实吗?运行时功能可能几乎是确定性的吗? 我可以假定该函数的输入项大小是多项式吗?(即,我希望密集矩阵乘法看起来像αn×k×mαn×k×m\alpha n\times k\times m 对于 Ank×BkmAnk×BkmA_{nk}\times B_{km} 和 αα\alpha 一些标量系数) 是否在某处对此已有工作? 我目前的计划是使用 L1L1L_1正则化。还有其他建议吗? 编辑:明确地说,我在寻找运行时,而不是FLOP或其他任何常见的性能指标。我愿意将自己局限于一种特定的体系结构。


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。 在爬山算法中生成“邻居”的最佳通用方法是什么?

1
解决具有小秩对角线更新的系统
假设我有原始的大型稀疏线性系统:。现在,我没有因为A太大而不能分解或进行任何形式的分解,但是假设我有一个带有迭代求解的解决方案。Ax0=b0Ax0=b0A\textbf{x}_0=\textbf{b}_0A−1A−1A^{-1}AAAx0x0\textbf{x}_0 现在,我希望对A的对角线应用小秩更新(更改一些对角线条目):(其中是对角矩阵,其中对角线中大多数为0,一些非零值。如果我有我将可以利用伍德伯里公式对逆进行更新。但是,我没有此功能。除了重新解决整个系统,我还能做些什么吗?是否可以通过某种方式想出一个容易\容易反转的前置条件,例如,所以如果我拥有,我将要做的就是套用(A+D)x1=b0(A+D)x1=b0(A+D)\textbf{x}_1=\textbf{b}_0DDDA−1A−1A^{-1}MMMMA1≈A0MA1≈A0MA_1 \approx A_0x0x0\textbf{x}_0M−1M−1M^{-1} 迭代方法会收敛几次/几次迭代?

4
对于大的3维线性弹性问题,什么是鲁棒的迭代求解器?
我将深入研究迷人的有限元分析世界,并想解决一个大的热机械问题(仅热机械,无反馈)。→→\rightarrow 对于机械问题,我已经从Geoff的答案中了解到,由于网格的大小,我将需要使用迭代求解器。我在Matt的回复中进一步读到,选择正确的迭代算法是一项艰巨的任务。 我要问的是,在大型3维线性弹性问题上是否有任何经验可以帮助我缩小对最佳性能的搜索范围?在我的情况下,它是一种结构,具有薄的图案化薄膜和不规则放置的材料(高CTE和低CTE)。在热力学分析中没有大的变形。我可以使用大学的HPC [1.314节点,带有2个AMD Opteron处理器(每个2.2 GHz / 8核)]。 我认为其中PETSc可能包含一些有趣的东西,尤其是进行某种域分解(FETI,多重网格)的算法,但我对这些选择有些不知所措,没有经验。我也喜欢“几何通知的前置条件”一词,但是不确定这是否对我有帮助。我还没有找到关注线性连续体力学的东西。 在我的应用程序中,强大的缩放比例(Amdahl)非常重要,因为我的工业合作伙伴迫不及待要等待很长时间才能获得仿真结果。我绝对不仅赞赏答案,而且还提出建议,以便在评论中进一步阅读。

1
Schur补语中的等级结构
我正在研究Schur补语中的结构,并发现一个有趣的现象: 假设A来自5点laplapian。如果我使用嵌套的解剖顺序和多前沿方法来计算LU分解,然后检查最后一个schur补码块,那么对于非对角线块,它的排名较低。 但是,当我使用相同的方法分解,其中是接近A特征值的一些正值,那么最后的schur补语不具有低秩性质。A−λIA−λIA - \lambda Iλλ\lambda 我不知道不确定词是否会改变schur补语的结构。谁能提供有关此主题的参考?

5
如何使优化物理对象设计的过程自动化?
我正在尝试优化水箱中的流量分配器,以使任何横截面上的速度和温度分布相对均匀。我可以调整许多参数以达到最大的横截面均匀性,例如进气管的数量,其位置,方向和方向。我知道我可以创建许多不同的几何形状并分别测试每个几何形状,但这非常耗时。我希望能够编写一个程序,该程序可以一次(并行)迭代地测试多个案例,并根据先前的结果自适应地选择一组新的几何来进行测试。我怎样才能最好地做到这一点?

2
搜索方法和优化方法的含义
我想知道“搜索方法”和“优化方法”之间有什么区别和关系? 特别是在解决优化问题时?我强调解决优化问题的上下文,因为我想搜索方法不仅用于解决优化问题,而且还用于非优化问题? 我的困惑来自以下事实: 有一些名为“ xxx搜索”的优化方法,例如 本地搜索,随机搜索 ...。“搜索”实际上是什么意思?我想知道是否存在不是“搜索”的优化方法? 同样在《Spall的随机搜索和优化简介》这本书中,我不太了解“搜索”和“优化”在标题和内容上的区别。如果含义相同,为什么需要区分“搜索”和“优化”?还是“优化”是指随机的优化任务/问题而不是优化方法,而不是“搜索”是指解决优化任务/问题的方法? 此外,在搜索和优化方面没有免费的午餐可以再次区分搜索和优化。 谢谢并恭祝安康!

3
的建设
P. Oswald 在论文的Biharmonic方程的层次一致有限元方法中声称Clough-Tocher型元素具有C1个C1个C^1-连续性,同时是每个三角形上的三次多项式。他没有给出一组明确的基函数,而只是给出了正交点上的标准自由度。 类似地,在《有限元方法的数学理论》第3章中,作者为我们提供了三次Hermite有限元的构造,但他们没有提到三次Hermite元素的连续性。 但是,在本文的微分复数和数值稳定性中,Doulgas Arnold提出了C1个C1个C^1/H2H2H^2-符合离散空间,我们应该使用Hermite五次(或更确切地说是Argyris)有限元,这很难明确表示。 所以这是我的问题: (1)是否有任何论文提出了明确的公式来 C1个C1个C^1/H2H2H^2三角形或四面体网格上的三维有限元? (2)分段三次应为以下项的最小多项式要求 C1个C1个C^1-连续性?

5
如何在一维对流方程的数值解中得出杂散振荡的界?
假设我遇到以下周期性一维平流问题: ∂ü∂Ť+ c∂ü∂X= 0∂ü∂Ť+C∂ü∂X=0\frac{\partial u}{\partial t} + c\frac{\partial u}{\partial x} = 0 在 Ω = [ 0 ,1 ]Ω=[0,1个]\Omega=[0,1] u (0 ,t )= u (1 ,t )ü(0,Ť)=ü(1个,Ť)u(0,t)=u(1,t) u (x ,0 )= g(x )ü(X,0)=G(X)u(x,0)=g(x) 哪里 G(x )G(X)g(x) 在处有跳跃间断 X∗∈ (0 ,1 )X∗∈(0,1个)x^*\in (0,1)。 我的理解是,对于高于一阶的线性有限差分方案,随着时间的推移,不连续附近会出现虚假振荡,随着时间的流逝,会导致解因其预期的波形而失真。根据维基百科的解释,似乎这些振荡通常发生在用有限傅立叶级数近似不连续函数时。 由于某些原因,我似乎无法理解如何在此PDE的解决方案中观察到有限傅立叶级数。特别是,我如何分析地估计“超调”的界限?

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)

2
对称广义特征值问题是否存在Sylvester惯性定律的推广?
我知道为了解决对称特征值问题 甲X = λ XAx=λXAx = \lambda x,我们可以使用Sylvester惯性定律,即 一个一个A 少于 一个一个a 等于的否定条目数 ddD 对角矩阵 ddD 来自LDL的分解 A − a I= L D大号Ť一个-一个一世=大号d大号ŤA-aI = LDL^{T}。然后,通过二等分法,我们可以找到所需的全部或一些特征值。我想知道对称对称特征值问题是否存在Sylvester惯性定律的推广甲X = λ 乙X一个X=λ乙XAx= \lambda Bx,在哪里 一个一个A 和 乙乙B是对称矩阵。谢谢。

1
最佳使用Strang分裂(用于反应扩散方程)
在计算简单的一维反应扩散方程的解时,我做了一个奇怪的观察: ∂∂ta=∂2∂x2a−ab∂∂ta=∂2∂x2a−ab\frac{\partial}{\partial t}a=\frac{\partial^2}{\partial x^2}a-ab ∂∂tb=−ab∂∂tb=−ab\frac{\partial}{\partial t}b=-ab ∂∂tc=a∂∂tc=a\frac{\partial}{\partial t}c = a b的初始值bbb是一个常数(b(0,x)=b0b(0,x)=b0b(0,x)=b_0),我只对aaa从000到1的积分感兴趣111(∫10a(t,x)dt∫01a(t,x)dt\int_0^1a(t,x)dt)。的目的ccc和式∂∂tc=a∂∂tc=a\frac{\partial}{\partial t}c = a只是评估这个积分。 我使用了Strang分裂方案进行扩散和反应之间的偶联(半步反应,然后进行全步扩散,然后再次进行半步反应),对扩散进行了Crank Nicholson方案,并对反应进行了分析(包括等式∂∂tc=a∂∂tc=a\frac{\partial}{\partial t}c = a)。 因为分析溶液的一个步骤比Crank Nicholson方案的一个步骤慢3倍以上,所以我尝试为每个反应步骤制造一个以上的Crank Nicholson步骤。我希望能以更少的Strang拆分方案来解决问题,以便总体上更快。 但是,可以观察到相反的效果,即如果使用了多于一个的Crank Nicholson步骤,则需要更多的Strang拆分方案步骤。(我只关心整体上的准确性,这似乎收敛速度比本身)。想了一段时间后,我注意到,同样的效果也发生了,我什至理解为什么会出现这种情况。关键是,如果我精确地执行了一个Crank Nicholson步骤,那么整个方案将变成梯形规则(如果)。aaaaaab(t,x)=b0=0b(t,x)=b0=0b(t,x)=b_0=0b(t)=0b(t)=0b(t)=0 因此,如果我将视为扩散步骤的一部分,那么增加Crank Nicholson步骤的数量(可能)不会导致整体准确性降低(如观察到的那样)。但这似乎违反了为系统的(非线性和可能非常刚性的)反应部分使用解析解决方案的目的。∂∂tc=a∂∂tc=a\frac{\partial}{\partial t}c = a 所以这是我的问题:在Strang分裂的情况下,有没有更好的方法来处理,而不是将其视为反应步骤的一部分或作为扩散步骤的一部分。我想避免被“强制”使用恰好一个Crank Nicholson步骤进行扩散。(例如,在3D中,我宁愿通过FFT而不是使用Crank Nicholson来解析解析扩散。当然,我也可以将FFT与Crank Nicholson结合使用,所以没什么大不了的。)∂∂tc=a∂∂tc=a\frac{\partial}{\partial t}c = a

1
静态,动态和单动态链接是什么意思?
我使用Intel MKL for BLAS,并使用Intel MKL Link Line Advisor获得有关命令行选项的帮助。 该顾问程序提供静态,动态和单个动态库的选项。这些术语是什么意思? 关于SO的文章很多,但所有这些文章都集中在开发软件而不是科学/数学代码上。(这个特别有用) 这些术语与并行计算有什么关系? 这个比那个好吗?(我知道最好更好地定义更好的方法,但到目前为止我还不知道如何做) 什么是更常用的,为什么? 链接时程序员需要考虑什么?
9 compiling 

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

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.