计算科学

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



3
优化只能评估的未知函数?
给定一个未知函数,我们可以在它的域中的任意点求值,但是没有表达式。换句话说,f对我们来说就像一个黑匣子。F:Rd→ Rf:Rd→Rf:\mathbb R^d \to \mathbb RFff 找到的最小化器的问题的名字是什么?有哪些方法?Fff 寻找方程的解的问题的名字是什么?有哪些方法?F(x )= 0f(x)=0f(x)=0 另外,在上述两个问题,它是一个好主意,内插或配合到f的一些评价:使用函数克θ与已知形式和参数θ要确定,然后最小化克θ或发现其根源?(x一世,˚F(x一世)),i = 1 ,… ,n(xi,f(xi)),i=1,…,n(x_i, f(x_i)), i=1, \dots, nGθgθg_\thetaθθ\thetaGθgθg_\theta 感谢致敬!

3
小线性系统的数值稳定显式解
我的线性系统不均匀 Ax=bAx=b Ax=b 其中是一个真正的Ñ × Ñ矩阵Ñ ≤ 4。确保A的零空间为零维,因此该方程式具有唯一的逆x = A - 1 b。由于结果进入ODE的右侧,我打算使用一种自适应方法进行求解,因此对于A和b元素的微小变化而言,解决方案的平滑性很重要。由于这一要求和较小的维数,我想为A − 1 b实现显式AAAn×nn×nn\times nn≤4n≤4n\leq 4AAAx=A−1bx=A−1bx=A^{-1} bAAAbbbA−1bA−1bA^{-1} b。元素可以正好为零或采用非常不同的值。我的问题是,这对您是否有意义,是否存在已知的稳定表达式。我在x86系统的C语言中进行编码。

1
在四面体上积分谐波函数
假设我有一个函数,我希望在四面体进行积分。如果是任意的,那么高斯正交将是一个很好的解决方案,但是我碰巧知道是谐波。使用此信息可以将高斯正交加速多少? Ť ⊂ - [R 3 ˚F ˚FF:R3→ Rf:R3→Rf : \mathbf{R}^3 \to \mathbf{R}Ť⊂ [R3T⊂R3T \subset \mathbf{R}^3FffFff 例如,如果相反是一个球体,则在球体中心对一次评估即可得出平均值属性的确切答案。˚FŤTTFff 通过搜索可以找到以下论文,该论文很有趣,但它以不同的方向推广了球体的情况(改为多谐波,而不是远离球体): Bojanov和Dimitrov,高斯用于多谐函数的扩展培养公式
11 quadrature 

1
HPC中本地内存/计算,网络延迟和带宽抖动的统计模型
并行计算通常使用确定性的本地计算速率,等待时间开销和网络带宽来建模。实际上,这些是空间可变的和不确定的。诸如Skinner和Kramer(2005)之类的研究观察到多峰分布,但是性能分析似乎总是使用确定性或高斯分布(不仅是不准确的,而且由于负潜伏期的正概率也不一致)。 是否开发了高保真统计模型?是否考虑了本地计算/内存,延迟和带宽可变性之间的互相关性?

3
泊松方程:通过拉格朗日乘法器将全梯度作为边界条件
我具有由泊松方程在两个维度支配的物理问题 我有两个梯度分量的测量 ∂ ü / ∂ X和 ∂ ú / ∂ ý沿边界的某些部分, Γ 米,所以想强加 ∂ û- ∇2u = f(x ,y),我ñΩ−∇2u=f(x,y),inΩ -\nabla^2 u = f(x,y), \; in \; \Omega ∂你/ ∂X∂u/∂x\partial{u}/\partial{x}∂你/ ∂ÿ∂u/∂y\partial{u}/\partial{y}Γ米Γm\Gamma_m 和传播到远场。∂ü∂X一世0= 克米,Ø ñΓ米∂u∂xi0=gm,onΓm \frac{\partial{u}}{\partial{x_i}}_0 = g_m, \; on \; \Gamma_m 切向梯度分量,,我可以整合,然后通过狄利克雷条件执行,使得 ∫Γ米∂ù∂ü∂X(t ,0 )∂u∂x(t,0)\frac{\partial{u}}{\partial{x}}_{(t,0)} 为了同时施加法向分量, ∂ ù∫Γ米∂ü∂X(t ,0 )ds …

2
胆固醇系数的计算
因此,Cholesky分解定理指出,任何实对称正定矩阵都具有Cholesky分解,其中是下三角矩阵。中号= 大号大号⊤大号中号MM中号= L L⊤M=LL⊤M= LL^\top大号LL 考虑到,我们已经知道有快速的算法来计算其乔莱斯基因素。大号中号MM大号LL 现在,假设给了我一个矩形矩阵,我知道是正定的。有没有一种方法可以计算的Cholesky因子,而无需显式计算,然后应用Cholesky分解算法?甲甲⊤甲大号甲⊤甲甲⊤甲m × nm×nm\times nAAAA⊤AA⊤AA^\top ALLLA⊤AA⊤AA^\top AA⊤AA⊤AA^\top A 如果是一个非常大的矩形矩阵,则执行显然很昂贵,因此是个问题。一个⊤一AAAA⊤AA⊤AA^\top A

1
有改进的计算
大多数数学库都有许多对数函数版本。在大多数情况下,我们认为它们是完美的,但实际上很多它们只是提供了一定数量的精度。 对于某些功能,在数值上更稳定。例如,Fortran,R,Java和C都具有Math.log1p用于计算log(1.0+x)(对于较小的x值可提供更高的精度)和对应的expm1。此处的数字问题是由于精度降低而引起的-如果精度x很小,则会1.0 + x丢失数字以保留开头的1。 在许多情况下,我已经看到了此类功能以提高精度。每当您以较高的数字精度实现分布函数(Gamma,Beta,泊松等)时,这似乎都是很常见的。例如,伽玛函数似乎大部分时间都用作logGamma。通常,转到“ logspace”可以大大提高精度,因此R似乎在大多数函数上都有一个“ logspace”标志。 R中的另一个示例存在log1mexp于log(1 - exp(p)):http : //cran.r-project.org/web/packages/Rmpfr/vignettes/log1mexp-note.pdf 我一直在研究熵和信息理论方法。有一个很普通的名词 p * -log(p) 通常情况下,人们希望对数的底数是2,而不是e;但这通常只是一个线性因素,您也可以使用自然对数(因此这对我而言并不重要)。无论如何,您是否知道该术语是否有更快/更直接/更精确的计算方式?我到处都有它,因此它可以真正使它更加精确和快速地获得回报(感谢我节省了通常的“过早优化”工作)。 我看不出任何会导致精度下降的明显原因。因此,我最感兴趣的是是否有任何不错的技巧可以加快计算速度。这甚至可以省去我处理p=0极端情况的可能性(明智的是0,虽然log(0)不存在),或者免费给我以2为基数(尽管单次乘以常数显然并不昂贵)。谢谢。

6
我应该为计算科学学习哪种语言?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。没有足够详细信息的答案可以被编辑或删除。 我对计算科学的概念完全陌生,并且正在寻找一个良好的起点。 我知道没有客观上最好的语言,但是我想学习一门在计算科学方面毫无疑问地强大和突出的语言-一种被认为具有卓越能力和效率的语言。 首先,我倾向于与原子键合和相互作用有关的建模,需要图形表示/模拟。 在某些领域,某些语言是否倾向于比其他领域更好(即物理与纯数学)?还是基于其他因素选择语言? 我听说过很多名叫Fortran的名字。 有什么建议吗?
11 languages 

2
CVXOPTVS。OpenOpt的
CVXOPT:http://abel.ee.ucla.edu/cvxopt/index.html OpenOpt:http://openopt.org/Welcome 他们之间有什么关系? 它们的优点/缺点分别是什么? 顺便说一句,还有其他值得注意的用于Python / C ++的高质量通用凸优化库吗?

4
用于高维数据的最快PCA算法
我想对大约40000个样本组成的数据集执行PCA,每个样本显示大约10000个特征。 始终使用Matlab princomp函数要花费半小时以上的时间,此时我终止了该过程。我想找到一个运行时间少于10分钟的实现/算法。最快的算法是什么?i7双核/ 4GB Ram需要多长时间?


3
我正在寻找C ++中的并行动态图库
您好scicomp社区, 我曾使用诸如NetworkX(Python),JUNG和YFiles(Java)之类的框架从事图算法研究。我现在正在进入并行和高性能计算领域。对于一个新项目,我正在寻找具有以下功能的C ++图形库: 具有直观的界面,可进行算法开发 支持动态操作:例如,任意节点/边缘的插入和删除 支持并行化:例如,使程序员免受多线程问题的影响 内存开销低,适合高性能计算 请建议一些图书馆,并讨论这些标准以及利弊。


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.