问题标签 [numerical-computing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
api - 用于矢量化数值计算的最佳 Scala 集合类型
IndexedSeq[Double]
在设计特定领域的数值计算库时寻找要使用的正确数据类型(例如)。对于这个问题,我将范围限制为使用Double
. 该库将定义一个数字函数,这些函数通常应用于一维数组中的每个元素。
注意事项:
- 首选不可变数据类型,例如
Vector
或IndexedSeq
- 想要最小化数据转换
- 在空间和时间上合理高效
- 对使用图书馆的其他人友好
- 优雅干净的 API
我应该使用集合层次结构更高的东西,例如Seq
?
还是只定义单元素函数并将映射/迭代留给最终用户更好?
这似乎效率较低(因为每组调用一次可以完成一些计算),但同时是一个更灵活的 API,因为它适用于任何类型的集合。
有什么建议吗?
matlab - 从任意向量中获取平均值为零的向量
我知道要从给定向量中得到零均值向量,我们应该从这个向量的每个成员中减去给定向量的平均值。例如让我们看看下面的例子
我们得到
让我们通过以下操作创建另一个向量
在此之后我们得到
如果我们通过以下公式计算 s 的平均值
我们得到
ans =
实际上,正如我检查过的那样,这个数字非常小
所以我们应该认为我们的向量的均值为零?所以这意味着与 0 的小偏差是由于舍入误差造成的?例如,当我们创建白噪声或此类随机不相关的数据序列时,实际上已经假设即使对于这样远离 0 的小数据,它的均值也为零,并且在这种情况下假设例如对于这种情况
大约当然
javascript - 是什么导致 isNaN 发生故障?
我只是想评估输入是否是数字,并且认为isNaN
这是最好的方法。但是,这会导致不可靠的结果。例如,使用以下方法:
关于这些价值观:
显示在这个小提琴中:http: //jsfiddle.net/4nm7r/1
为什么不isNaN
总是对我有用?
.net - 用函数式语言编写纯函数时如何避免不必要的计算?
我有两个由纯函数组成的函数。第一个函数取一个地块,在上面盖房子,然后拍张照片在杂志上做广告:
第二个函数也需要一个地块,在上面盖房子,然后给它画龙点睛:
很明显,这两个函数也是纯函数,因为它们是纯函数的组合。现在我有一个包裹,比方说niceParcel
,我想将这两个功能都应用到它上面。但是,我想避免前三个子函数被计算两次,因为它们需要很长时间来计算并且它们在两个函数之间共享。
如何重构我的代码,避免这些不必要的计算,同时保留这些具有明确含义的漂亮纯函数?
c++ - C++11 中的数值食谱 v3.0 和 pthread 库
如果我使用命令编译以下代码g++ -std=c++11 Threads.cpp -lpthread -I../Libs/nr30
,其中 nr30 是http://www.nr.com/提供的库,则不会出现错误:
而如果我#include "nr3.h"
在与上面相同的代码中添加标题,则会收到以下错误:
你遇到过同样的问题吗?谢谢你的任何建议。
r - 用 R 求解非平方线性系统
如何用 R 求解非平方线性系统:A X = B
?
(在系统没有解或有无穷多个解的情况下)
例子 :
c - 控制 C 代码中的操作顺序
我读到 Fortran 对表达式的计算顺序有严格的规定。对于一些数值算法,这是非常重要的。
数值 C 程序如何控制浮点运算的顺序并防止编译器“优化”为不合需要的运算顺序,例如更改(a*b)*c
为a*(b*c)
.
python - 在 numpy 中使用数组优化操作
我必须应用一些我用 python 编写的数学公式:
现在,这是正确的,但显然效率低下,相反的方法是:
然而,第二个例子在 PHi2 的所有元素中给了我相同的数字,所以这更快但答案是错误的。你怎样才能正确和更有效地做到这一点?
注意:eig1 和 eig2 具有相同的维度 d,theta 和 PHi2 具有相同的维度 D,但 d!=D。
r - 使用 R 函数 grad 计算非光滑函数的梯度,例如作为方差参数函数的正态密度
我在使用 R 计算非平滑函数的梯度时遇到问题。
为了解释我的问题的核心,我创建了一个简化的问题。我有一个对数似然三变量正态密度函数,其中均值固定为零,方差的对角线项全为 1。
为了保持为 as 的所有值定义我的密度,如果方差不是正定矩阵,则 llk 会吐出 -Inf。现在,我想评估 llk 相对于 (0.5,0.2,0.3) 和 (0.9,-0.146,0.3) 处方差的三个非对角项的梯度。
使用 numDeriv 库中的 grad 函数,我可以将 (0.5,0.2,0.3) 处的梯度计算为:
但是,此方法不适用于 (0.9,-0.146,0.3) 处的梯度。要看到这个:
我知道这是因为第二个方差矩阵接近非正定。
有没有简单的方法来解决这个问题?谢谢你。