计算科学

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

3
在什么情况下,蒙特卡洛积分比准蒙特卡洛积分更好?
一个简单的问题:做一个多维积分,假设已经确定某种蒙特卡罗方法是合适的,那么使用伪随机数的常规MC积分相对于使用准随机序列的准蒙特卡洛积分有何优势? ?如果是这样,我将如何认识到发挥这种优势的情况?(如果没有,为什么有人会使用普通的旧蒙特卡洛积分?)

5
增加代码的归档寿命
是否有已发布的最佳实践清单,以确保代码的使用寿命,并着眼于可重复的科学结果?(例如,开源,文档做法,选择依赖项,选择语言,虚拟机等)。 了解任何试图估计典型科学代码或其他软件的半衰期的研究(或缺乏示例/注释)(如果这是一个合理的问题?)

4
产生可发布图像的良好(免费)软件?
我现在正在使用Matlab生成1d和2d图像,以比较给定模型的准确性。我需要将我的方法与标准高斯.wfn模型进行比较,然后通过分析分子和拉普拉斯算子的密度来做到这一点。 我对产生近似于.wfn近似的二维图像(可能通过轮廓图?)感兴趣,并且对沿着键路径和两个原子之间的直线的性质(密度,拉普拉斯等)感兴趣。 如前所述,我目前正在使用Matlab生成图像,尽管这些图像主要用于我和我的同事。它们似乎不是我在论文和其他出版物中经常看到的图像类型。 我应该使用(或他人使用)哪种软件来生成具有出版物质量的图形和图像?

2
和的特征值分解:A(对称)+ D(对角线)
假设是一个实对称矩阵和它的本征值分解中给出。很容易看出,总和的特征值会发生什么,其中是标量常数(请参阅此问题)。我们可以得出在一般情况下任何结论,其中是任意的对角矩阵?谢谢。AAAVΛVTVΛVTV \Lambda V^TA+cIA+cIA + cIcccA+DA+DA + DDDD 问候, 伊万

1
对于提交给ACM TOMS的软件,ACM软件许可协议如何与其他许可交互?
该杂志对数学软件(TOMS ACM)计算机械协会事务上发布的数值算法,其中包括软件实现多篇。根据他们的编辑策略,提交算法论文包括该论文中描述的算法实现的源代码。此源代码受ACM软件版权和许可协议的约束。 由于我有兴趣发布自己作品的软件实现,因此我担心此许可证的法律含义。具体来说,该软件许可证如何与常见的开源许可证(例如GPLv3,BSD,MIT / X11和Apache许可证)交互?

1
解决巨大的密集线性系统?
使用迭代方法有效解决以下线性系统是否有希望? A∈Rn×n,x∈Rn,b∈Rn, with n>106A∈Rn×n,x∈Rn,b∈Rn, with n>106A \in \mathbb{R}^{n \times n}, x \in \mathbb{R}^n, b \in \mathbb{R}^n \text{, with } n > 10^6 Ax=bAx=bAx=b 与 ,其中 Δ是非常稀疏的矩阵与几个对角线,从拉普拉斯算子的离散化所产生。在它的主对角线上有 − 6,还有 6对其他对角线上有 1。A=(Δ−K)A=(Δ−K) A=(\Delta - K) ΔΔ\Delta−6−6-6666111 是一个完全由1组成的完整 R n × n矩阵。KKKRn×nRn×n\mathbb{R}^{n \times n} 解决与高斯-赛德尔(Gauss-Seidel)之类的迭代方法很好地工作,因为它是稀疏的对角占优矩阵。我怀疑对于大量n来说,问题A = (Δ - K )几乎不可能有效地解决,但是,利用K的结构,是否有任何技巧可以解决呢?A=ΔA=ΔA=\DeltaA=(Δ−K)A=(Δ−K)A=(\Delta - K)nnnKKK 编辑:会做类似的事情 …

2
共享内存并行编程的Python指南
我有为共享内存机器(在C和FORTRAN中)编码OpenMP的经验,可以执行简单的任务,例如矩阵加法,乘法等(仅看它如何与LAPACK竞争)。我知道OpenMP足以执行简单的任务,而无需查看文档。 最近,我转到我的项目中使用Python,除了绝对的基础知识之外,我没有Python方面的经验。 我有两个问题: 有没有很好的指南(在线PDF)来描述Python的共享内存并行计算? 实现它的最佳方法是什么?我看过一点,ctypes我不确定这是否是最好的方法。(最好的意思是,在程序员时间和系统时间之间要有一个很好的权衡。编码也不应该太繁琐,执行速度也不应该太慢)

1
二分图社区检测算法?
是否有用于igraph,networkX,R或Python等中实现的二分图(两模式网络)社区检测算法?尤其是,是否存在一种这样的实现方式,使之能够仅基于两种模式之一来限制对社区的检测?

3
解决李雅普诺夫方程的图书馆
以下矩阵方程 在Σ -对于给定的乙和Ç矩阵-出现在我的作为协方差矩阵的特征的工作。我了解到,该方程式在Lyapunov方程式中尤其是在连续时间控制理论中广为人知,并且有多种众所周知的算法可以利用线性方程式的特殊性质来求解该方程式。 乙Σ + Σ 乙Ť+ C= 0BΣ+ΣBT+C=0B\Sigma + \Sigma B^T + C = 0ΣΣ\Sigma -−-乙BBCCC−−- 通过谷歌搜索,我还了解到存在Matlab和Fortran实现。我发现了SLICOT和RECSY。由于许可问题,已经停止了对SLICOT源的访问。 我的大部分工作都是在R中实现的,由于无法找到求解器的R接口,我考虑自己编写一个。那么我的问题是,SLICOT是否是实现Lyapunov方程求解器的最佳可用Fortran(或C)库?我也对可以处理大型稀疏矩阵的实现感兴趣。 BBB


1
如何检测特征值的多重性?
假设A是一个通用的稀疏矩阵,我想计算特征值。我不知道如何检测特征值的多重性。据我所知,在特殊情况下,通过伴随矩阵方法找到多项式根,我们可以应用RRQR来检测根的多重性。

2
如何提高找到奇异线性ODE本征系统的有限差分方法的精度
我正在尝试求解以下类型的方程: ( - ∂2∂X2- ˚F(X )) ψ(X)=λψ(X)(-∂2∂X2-F(X))ψ(X)=λψ(X) \left( -\tfrac{\partial^2}{\partial x^2} - f\left(x\right) \right) \psi(x) = \lambda \psi(x) 其中F(x )F(X)f(x)具有一个简单的极,对最小特征向量。边界条件是:和,而我只看上的函数。Ñ ψ (0 )= 0 ψ ([R )= 0 (0 ,- [R ]000ññNψ (0 )= 0ψ(0)=0\psi(0) = 0ψ (R )= 0ψ([R)=0\psi(R)=0(0 ,R ](0,[R](0,R] 但是,如果我执行一种非常简单的,均匀分布的有限差分方法,则最小特征值是非常不准确的(有时,“错误”特征值的负数比我所知道的负数个数个数量级大, “第一个特征值”成为第二个,但仍然很差。 什么因素会影响这种有限差分方案的准确性?我认为奇异性是导致问题的原因,并且间距不均匀的网格会显着改善问题,是否有任何论文可以使我朝着好的非均匀有限差分法发展?但是也许更高阶的差分方案会进一步改善它?您如何决定(或者只是“试着看看”) 注意:我的有限差分方案是对称三对角线,其中3个对角线是: ( − 12 Δ2,1个Δ2- ˚F(x …

2
如何将多点数据插值到非结构化网格的像元中心?
我有多点场数据集,每个点数据集都与非结构化网格的单个像元相关。目的是以最准确的方式将数据直接或间接地插入到单元中心。 如果使用反距离加权插值,则在源与目标(单元中心)之间的距离很小的情况下,可能会出现浮点异常。 对于结构化网格上的这种插值,使用体积加权插值。这不会直接转换为任意形状的网格。 仅当我不引入任何可能导致插值效率低下的测试时,才为IDW插值引入容限以规避SIGFPE。IDW插值法是否可以为每个权重的分母增加足够小的?您知道哪种适合此问题的插值方法?δδ\delta 附加信息: 对于从网格到点的插值,我使用基于重心坐标的插值。网格的每个多面体单元都分解为四面体。使用IDW插值将像元中心场插值到像元点。搜索每个点以找到其所在的四面体,然后使用重心插值对值进行插值。 对于从点到网格的插值,这是不可能的。以单元格为中心的值是未知的。无法组装将强制的四面体组合物,其中W P C是与点P和单元中心C有关的权重。这是因为点配置是任意的。因此,我目前正在为此使用IDW,以确保没有浮点数异常。有没有更适合此问题的插值方法?∑pWPC=1∑pWPC=1\sum_p W_{PC} = 1WPCWPCW_{PC}


1
伸出的零空间
给出了系统其中甲∈ [R Ñ × Ñ,我读的是,在壳体的Jacobi迭代用作解算器,该方法将不收敛,如果b具有在零空间非零分量甲。因此,如果b具有一个跨越A的零空间的非零分量,那么雅可比方法将是一个非收敛的形式上的形式化说法?我想知道如何将其数学形式化,因为正交于零空间的部分解决方案确实会收敛。Ax=b,Ax=b,Ax=b,A∈Rn×nA∈Rn×nA\in\mathbb{R}^{n\times n}bbbAAAbbbAAA 因此,通过在每个迭代中投影的零空间,它会收敛(或?)。AAA ...... 我特别感兴趣的情况下 其中大号是与由向量所跨越的零空间的对称拉普拉斯矩阵1 ñ = [ 1 ... 1 ] Ť ∈ [R Ñ,和b具有零在组分L的零空间,J b = b ,其中J = I − 1Lx=b,Lx=b,Lx=b,LLL1n=[1…1]T∈Rn1n=[1…1]T∈Rn1_n=[1\dots 1]^T\in\mathbb{R}^nbbbLLLJb=b,Jb=b,Jb=b,是中心矩阵。这是否意味着每个Jacobi迭代将投影L的零空间,即每个迭代将居中?我要问的是,从那时起,就不需要从Jacobi迭代中投影L的零空间(或者换句话说,将迭代的中心)。J=I−1n1n1TnJ=I−1n1n1nTJ=I-\frac{1}{n}1_n1_n^TLLLLLL

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.