计算科学

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


1
Matlab Pde工具箱:在直线或子流形上绘制解决方案
我正在使用Matlab pde工具箱来求解2D中的某些椭圆方程。 解决方案很好,尽管我确实需要沿着给定的线对其进行绘制,即从表示解决方案的3D网格中切出一个平面切片。 我想不出一种巧妙地涉及工具箱功能的方法(即不涉及三角形网格上的低级插值)。 任何帮助表示赞赏。
9 pde  matlab 

4
小型科学图书馆的托管网站
在我的研究工作中,我一直在开发一个小型的C ++库,旨在促进C ++计算代码与Octave / Matlab(当后者用于后处理目的)之间的通信。 我想在一些免费的托管站点(例如Sourceforge或Github)下,根据GPL发布这样的库。 不过,老实说,我缺乏选择哪个站点更适合作为(小型)图书馆的站点的经验。 一方面,github在我看来更直接,另一方面,Sourceforge是科学代码的参考站点,其中许多托管在此。 有什么建议吗? 编辑:我扩大了我的问题。 我正在谈论的库是一个很小的项目( CL,目前在Bitbucket上的一个私人存储库中),几乎是个人化的,此后我的主管提出了2年来无聊的技术要求和6个月的代码设计(主要是通过试用和错误)。≈15K≈15K\approx 15K 经过一番询问后,我注意到sourceforge具有一种很好的机制,可以使人们对项目页面的访问和下载进行统计,因此可以以某种方式计算仅下载lib来使用它的人们(用户)(如果有的话)。 另一方面,从开发人员的角度来看,Github看起来更容易(这里我指的是对分析,扩展,派生代码感兴趣的人)。
9 matlab  libraries  c++ 


2
如何消除线性弹性中的刚体运动?
我想解决 Ku=bKu=bK u = b 哪里 KKK是我的刚度矩阵。但是,可能缺少一些约束,因此系统中可能仍然存在一些刚体运动(由于特征值零)。由于我使用CG求解线性系统,因此这是不可接受的,因为有时CG不会收敛于半正问题(但有时我会收敛)。 实际上,我在使用惩罚性置换方法,因为我要添加形式上的惩罚 α||u||2α||u||2 \alpha ||u||^2弹性能量。所以能量读 W(u):=12uT(K+αI)u−btuW(u):=12uT(K+αI)u−btu\begin{equation} \mathcal W(u) := \frac{1}{2} u^T (K + \alpha I) u - b^t u \end{equation} 哪里 αα\alpha与刚度矩阵的一些对角线输入成比例。但这实际上起到了抑制某些时候我想要的变形模式的作用。 我的问题是: a)我可以变换原始系统,所以必须使其不具有奇异性和正定性(例如坐标变换或全等变换或其他)吗?我的想法是使用这种转换在转换后的问题上仍然使用CG 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

4
傅里叶伪谱方法与数值耗散
使用傅立叶伪谱方法(Orzag&Patterson,PRL,1972)使用FFT执行各向同性湍流的直接数值模拟。有关在湍流社区中广泛使用的方法的背景知识,请参见以下课程:http : //www.math.ualberta.ca/~bowman/m655/lab3d.pdf 使用所谓的 2/32/32/3 去交易的规则包括 u^(k,t)=0 if k>23kMAXu^(k,t)=0 if k>23kMAX\begin{equation} \hat{u}(\mathbf{k},t)=0~~~~~~~~~~~~~~if~~~k > \frac{2}{3} k_{MAX} \end{equation} 哪里 ttt 是时候了 kk\mathbf{k} 是波数, kMAXkMAXk_{MAX} 是最大波数, u^u^\hat{u} 是速度的频谱幅度。 脱脱是否充当数值耗散?换句话说,是否由于脱碳而导致能量泄漏?

1
Chebyshev多项式的快速(近似)评估
有没有一种首选的方法如何在均匀网格上(根据Chebyshev节点处的函数值)对Chebyshev插值多项式进行快速(近似)评估?我的问题是,当插值多项式的次数增加时,插值会变慢。 我想到以下想法: 尝试适应非均匀FFT(NFFT)技术 使用FFT来计算切比雪夫节点上的导数,可能是先进入更精细的(切比雪夫)网格之后。然后使用分段三次插值进行(近似)评估。 使用一些仅在“附近” Chebyshev节点上使用函数值(以及可能的导数)的公式(这与特定的NFFT技术有关)。

2
数值PDE中的高精度浮点算法
我从不同的资源和研究中得到的印象是,对数值偏微分方程的高精度计算的需求不断增长。在这里,高精度意味着比标准的64位双精度更高的精度。 我想知道这个话题的最新状态。通过比较的方式,数字PDE中存在一些共性,它们专门针对多核方法,大规模并行化或GPU计算。我想知道在数值PDE中是否存在类似社区或正在使用高精度方法发展这种方法,我会特别感兴趣(这是问题的实质)在介绍性或调查性高精度论文中,这也给人留下了深刻的印象。主题的实际相关性。

3
关于轻量级/无需安装C或C ++的密集线性代数求解器的建议
我的大部分编程都是用C语言编写的一次性研究代码供我自己使用。除了亲密合作者之外,我从未分发过任何代码。我已经开发了一种算法,可以在科学期刊上发表。我想在本文的在线补充中提供源代码,也许还提供可执行代码。一位同事要求我对该算法进行概括,该算法要求我用C ++编写(ack!),并且要求我求解小型密集线性系统。如果我成功获得了该算法的用户基础,则部分原因是使用该算法的输入栏很低(例如在地板上)。潜在的用户不会安装库等来使用代码。我希望代码完全独立,不受任何许可的约束。我可能只是简单地通过从Golub和van Loan中取出一些东西来编写自己的求解器,但是我更愿意使用别人已经写过的香草求解器(如果有的话)。建议表示赞赏。谢谢!

2
在共享内存中的GPU上查找小型非对称矩阵本征对的最快方法
我有一个问题,我需要找到一个小的(通常小于60x60)非对称矩阵的所有正对(如特征值为正)。当特征值小于某个阈值时,我可以停止计算。我知道特征值是真实的。关于可以用来尝试获得最佳性能的算法有何建议?我必须进行数千次分解,因此速度很重要。 先感谢您。 编辑:我需要在共享内存的GPU上执行此操作。矩阵也不必相同大小。我目前不知道有任何图书馆可以这样做。将会提出非常适合该问题的算法建议。

1
如何找到耦合系统的Lyapunov指数
Answer 提供了一个用于计算混沌同步中耦合振荡器的条件Lyapunov指数(CLE)的软件。但是,它很难遵循,并且没有图形的图形输出(并且以C语言表示,更为复杂)。有谁知道如何修改LET Toolbox,这对于非耦合系统非常有用,但是我不了解如何使用同步系统来适应CLE。 我对如何在计算CLE的雅可比矩阵时包含驾驶员信号感到困惑,因为理论上说为响应系统找到了CLE,所以我们不必为驾驶员以及响应系统找到雅可比矩阵。类似的振荡器(驱动和响应)。还是应该在软件中同时考虑驱动系统和响应系统,并像对待单个系统一样进行处理? 如果在CLE中,如何在状态方程中适应外部强迫(如随机过程)。 CLE还有其他实现吗? 谢谢

2
线搜索的初始包围曝光最小值
在翻阅几本教科书时,我注意到在行搜索期间最初将最小值括起来的问题往往是事后才想到的(至少在我的大学课本中)。是否存在针对此类问题的完善技术或最佳实践,或者解决方案通常取决于应用程序?谁能推荐有关该主题的一些参考资料?

3
如何明智地尝试排除凸度?
我想最小化复杂的目标函数,并且不确定它是否是凸的。是否有一个好的算法试图证明它不是凸的?当然,该算法可能无法证明这一点,在这种情况下,我将不知道它是否是凸的,这是可以的。我只是想在花大量时间试图分析确定目标函数是否为凸值之前先排除凸率,例如,尝试以已知的凸值形式重写问题。一个快速的测试是尝试从各个起点开始进行最小化,如果以此方式找到多个局部最小值,则它不是凸的。但是我想知道是否有一个针对此目标而设计的更好的算法。

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

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.