计算科学

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

2
SciComp建模工作
该meta似乎暗示职业建议是可以的。。。所以这里去。 我在ML和数学建模领域有几个密友,刚完成博士学位并开始求职。尽管两者都很有才华,但都没有兴趣留在学术界。 除了我一直以来最幸运的个人推荐和交流,是否有任何资源/网站/聚合器可以帮助某人在该地区寻找工作?

3
具有大数据集的计算问题的I / O策略?
我的研究小组专注于分子动力学,分子动力学显然可以生成千兆字节的数据作为单个轨迹的一部分,然后必须对其进行分析。 我们关注的几个问题涉及数据集中的相关性,这意味着我们需要跟踪内存中的大量数据并对其进行分析,而不是使用更多的顺序方法。 我想知道的是将大型数据集的I / O处理为脚本的最有效策略是什么。我们通常使用基于Python的脚本,因为它使对文件I / O的编码比使用C或Fortran的痛苦少得多,但是当我们有成千上万的行需要处理时,尚不清楚最好的方法是什么。我们应该考虑使用C语言编写文件输入部分,还是另一种策略更有用?(简单地将整个数组预加载到内存中会比一系列顺序读取“块”(兆字节)更好吗? 一些附加说明: 因此,我们主要是在寻找用于后处理的脚本工具,而不是“在线”工具-因此要使用Python。 D = 16林Δ 吨→交通∞⟨ (X(吨+ Δ 吨)- X(吨))2⟩d=1个6林ΔŤ→∞⟨(X(Ť+ΔŤ)-X(Ť))2⟩D = \frac{1}{6} \lim_{\Delta t \rightarrow \infty} \left< \left( {\bf x}(t + \Delta t) - {\bf x}(t) \right)^2 \right>
15 python  c  efficiency 


3
为什么矩阵向量乘法缩放没有缩放?
抱歉,很长的帖子,但我想一开始就包括我认为相关的所有内容。 我想要的是 我正在实现用于稠密矩阵的Krylov子空间方法的并行版本。主要是GMRES,QMR和CG。我(剖析后)意识到我的DGEMV例程是可悲的。因此,我决定通过隔离来集中精力解决这一问题。我尝试在12核计算机上运行它,但以下结果是4核Intel i3笔记本电脑的结果。趋势差异不大。 我的KMP_AFFINITY=VERBOSE输出在这里。 我写了一个小代码: size_N = 15000 A = randomly_generated_dense_matrix(size_N,size_N); %Condition Number is not bad b = randomly_generated_dense_vector(size_N); for it=1:n_times %n_times I kept at 50 x = Matrix_Vector_Multi(A,b); end 我相信这可以模拟CG进行50次迭代的行为。 我尝试过的 翻译 我最初是用Fortran编写代码的。我将其翻译为C,MATLAB和Python(Numpy)。不用说,MATLAB和Python太可怕了。令人惊讶的是,对于上述值,C比FORTRAN好一到两秒。一致。 剖析 我分析了要运行的代码,并且运行了46.075几秒钟。这是将MKL_DYNAMIC设置为FALSE并且使用了所有内核的时候。如果我将MKL_DYNAMIC设置为true,则在任何给定时间点仅使用(大约)一半数量的内核。以下是一些详细信息: Address Line Assembly CPU Time 0x5cb51c mulpd %xmm9, %xmm14 36.591s 最耗时的过程似乎是: Call Stack …

1
“知识卷轴”方法对Comp的效果如何。科学吗?
我在读这在数学SE。基本问题是: 假设有人希望学习高级的东西;一种方法是从基础开始并逐步建立。但是“大局”可能会在此过程中迷失方向。另一种方法(我更喜欢将其称为“递归Wiki”)是拿起一篇论文,然后用Google / Wiki读一个人们不理解的术语。阅读它们。其中将包含新术语。Google / Wiki,直到您完全了解该材料的“基本情况”为止。向后工作,直到您完全了解纸张。重复其他论文。这将在保持动力的同时获得知识。但是,这可能会导致基本问题。 它基于斯坦福大学Vakil教授的文章。这是节选: .....数学是如此的丰富和无限,以至于不可能系统地学习它,而且如果您在继续学习下一个主题之前等待一个主题,那么您将无所适从。相反,您将拥有远远超出您的舒适范围的知识卷须。然后,您可以稍后从这些卷须回填,并扩展您的舒适范围;这比学习“前进”要容易得多。(警告:此回填是必需的..... 反对该方法的人普遍认为,对于像代数几何这样的领域(每个季度发表100篇论文)或String Theory研究(如果您尝试在接触String Theory之前建立数学基础)的领域,就可以了。 80与阿尔茨海默氏症。我的问题是:这是学习CompSci的好策略吗? 由于Comp Sci的跨学科性强(通常,工程师必须同时了解数学和计算机知识),这样的递归学习模式是否足以进行学术研究?还是传统模式太好了,无法替代? 例如,我需要了解0操作系统知识,了解转换后备缓冲区(TLB)。 我的递归路径(根据维基百科)是: TLB&gt;缓存&gt;(返回)TLB&gt;页面表&gt;(返回)TLB&gt;虚拟地址&gt;(返回)TLB&gt;重新读取。完成 我觉得我知道TLB是什么,如果再次遇到它,我会知道会发生什么。我在欺骗自己吗?

4
有哪些需要间隔运算的应用程序?
我对区间算术(IA)有一个非常基本的概念,但是从理论上和实践上看来,它都是计算科学中非常有趣的分支。显然,显而易见的应用是经过验证的计算和不适定的问题,但这太抽象了。由于这里有很多人参与应用计算,因此我对没有IA很难解决或无法解决的现实问题感到好奇。


1
Krylov子空间方法可以用作多网格的平滑器吗?
据我所知,多网格求解器使用迭代平滑器(例如Jacobi,Gauss-Seidel和SOR)来衰减各种频率下的误差。可以使用Krylov子空间方法(例如共轭梯度,GMRES等)代替吗?我不认为它们被归类为“平滑剂”,但是它们可以用于近似粗网格解决方案。我们可以期望看到与标准多网格方法类似的解决方案收敛吗?还是取决于问题?

4
具有严格正约束的线性规划可行性问题
有一个线性约束系统。我希望找到一个满足这些约束的严格正向量。这意味着,所需的每个组件的{\ BF X} 。如何使用LP解算器找到这样一个严格的正向量{\ bf x}(或确认不存在 {\ bf x})?我不能简单地引入另一个约束x_i&gt; 0的系统,因为必须始终在LP中允许相等性,但是我可以多次使用LP解算器,并更改目标函数。我认为我应该使用松弛变量方法,但我不知道如何。X &gt; 0 X 我 &gt; 0 X 我X X X X 我 &gt; 0Ax≤bAx≤b{\bf Ax} \leq {\bf b}x&gt;0x&gt;0{\bf x} > 0xi&gt;0xi&gt;0x_i > 0xixix_ixx{\bf x}xx{\bf x}xx{\bf x}xi&gt;0xi&gt;0x_i > 0

4
如何对变量重新排序以产生最小带宽的带状矩阵?
我正在尝试通过有限差分来求解2D泊松方程。在此过程中,我获得了每个方程式中只有变量的稀疏矩阵。例如,如果变量为U,则离散化将产生:555UUU Ui−1,j+Ui+1,j−4Ui,j+Ui,j−1+Ui,j+1=fi,jUi−1,j+Ui+1,j−4Ui,j+Ui,j−1+Ui,j+1=fi,jU_{i-1,j} + U_{i+1,j} -4U_{i,j} + U_{i,j-1} + U_{i,j+1} = f_{i,j} 我知道我可以通过迭代方法求解该系统,但是我想到,如果我对变量进行适当排序,我也许能够获得可以通过直接方法(即高斯消去w)求解的带状矩阵。 / o旋转)。这可能吗?是否有其他策略可用于其他结构较疏的稀疏系统呢?

1
如何导出有限元方法的偏微分方程的弱公式?
我对有限元方法进行了基本介绍,但并未强调对“弱公式”的深入理解。我了解到,通过galerkin方法,我们将(椭圆形)PDE的两边乘以一个测试函数,然后进行积分(按部分或通过散度定理)。有时,在得出适当的弱公式(基于书后的答案)之前,我需要进行两次部分积分。但是,当我尝试将相同的概念应用于其他PDE时(可以说它们仍然与时间无关),我似乎无法识别该公式何时适合离散化。是否有任何“危险信号”可以告诉我该形式可以离散为线性方程组? 此外,如何选择一组适当的基础函数?



3
什么是可扩展的高频亥姆霍兹预处理器?
标准的多重网格和域分解方法不起作用,但是我遇到了很多3D问题,并且直接求解器不是一种选择。我应该尝试什么方法? 我的选择如何受到以下注意事项的影响? 系数在几个数量级上变化,或者 使用有限元与有限不同方法
15 pde 

3
如何在Gaussin 0 *,GAMESS-US,Molpro等产品中实现B3LYP?
具体来说,我想扩展涉及B3LYP的工作,该工作从高斯03开始,但继续到GAMESS-US。默认的B3LYP方法提供的能量是不同的。GAMESS-US手册(“更多信息”部分)中对此进行了讨论: 请注意,GAMESS中的B3LYP部分基于VWN5电子气相关函数。由于在VWN论文中提到了五个具有两个可能的参数化的公式,它们涉及局部相关性,因此其他程序可能会使用其他选择,从而生成不同的B3LYP能量。例如,NWChem的手册说它默认使用“带有RPA参数的VWN 1功能,而不是规定的Monte Carlo参数”。如果您希望在B3LYP混合动力中使用此VWN1公式,只需选择“ DFTTYP = B3LYP1”。 它说GAMESS和NWCHEM之间的默认值不同,并且可以选择让GAMESS进行与NWCHEM默认情况下相同的计算。 如何使G03和GAMESS B3LYP计算值达成一致? 各种软件包的B3LYP的默认实现及其功能之间有什么区别,即可以调整其B3LYP定义/实现吗?

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.