问题标签 [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.

0 投票
6 回答
20501 浏览

floating-point - 浮点加法与浮点乘法的相对速度是多少

一两年前,编写数字代码以避免使用乘法和除法而是使用加法和减法是值得的。一个很好的例子是使用前向差分来评估多项式曲线,而不是直接计算多项式。

仍然是这种情况,还是现代计算机体系结构已经发展到 *,/ 不再比 +,- 慢很多倍的程度?

具体来说,我对在具有广泛板载浮点硬件的现代典型 x86 芯片上运行的编译 C/C++ 代码感兴趣,而不是试图在软件中进行 FP 的小型微型计算机。我意识到流水线和其他架构增强排除了特定的循环计数,但我仍然想获得一个有用的直觉。

0 投票
4 回答
589 浏览

arrays - 如何在 Clojure 中使用不可变数据进行数值模拟?

我正在使用 Clojure,我需要运行一个小型模拟。我有一个长度为 n 的向量(n 通常在 10 到 100 之间),其中包含值。在每一轮模拟中(可能一共 1000 轮),向量中的一个值会随机更新。我想我可以通过使用 Java 数组并调用 aset 方法来做到这一点,但这会破坏函数式编程/不变性习语。

有没有更实用的方法来做到这一点,或者我应该只使用 Java 数组?

0 投票
2 回答
1143 浏览

algorithm - 给定一个数字序列,找到校验位算法...?

假设我有一系列由校验位组成的索引号。如果我有一个足够公平的样本(比如 250 个样本索引号),我是否有办法提取用于生成校验位的算法?

我认为至少应该有一种编程方法来找到一组可能的算法。

更新:索引号的长度为 8 位,包括校验位。

0 投票
3 回答
259 浏览

c++ - 手动编写循环与运算符重载的效率

在我正在处理的程序中,我有 3 元素数组,我将其用作所有意图和目的的数学向量。

在编写代码的过程中,我很想Vector用简单的算术重载 ( +, -, * /) 来创建自己的类,这样我就可以简化如下语句:

在生成的代码中应该或多或少相同。但是当涉及到更复杂的事情时,这真的会严重影响我的表现吗?我的代码中的一个例子是:

手写版本:

使用Vector带有运算符重载的类:

我正在尝试优化我的代码以提高速度,因为这种代码在内部循环内运行。对这些事情使用重载的运算符会影响性能吗?我正在对一个由 n 个相互引力体组成的系统进行一些数值积分。这些向量操作非常常见,因此快速运行非常重要。

任何见解都会受到赞赏,我不知道的任何成语或技巧也是如此。

0 投票
4 回答
3670 浏览

c++ - C++ 数值截断错误

抱歉,如果愚蠢但找不到答案。

输出:
0
6.66134e-16
0.001
-1.03583e-13

尝试用MSVC9、MSVC10、Borland C++ 2010编译。最后都报了1e-13左右的错误。仅在 1000、10000 次增量中累积如此显着的错误是否正常?

0 投票
1 回答
4179 浏览

precision - 有没有办法在 Octave 中打印至少 20 个有效数字?

我需要打印一个包含 20 个有效数字的程序的结果,但我不知道如何打印超过 15 个数字(格式长)。有什么办法可以做到这一点?

0 投票
1 回答
206 浏览

r - 在 R 中求解非负线性系统

是否有可能使用一些本机 R 函数找到未定系统 Ax = b, x >= 0 的解决方案?我当然可以编写一个线性程序并使用 lpsolve,但我希望有一些原生的东西。

0 投票
2 回答
359 浏览

numerical-computing - C 的数值计算库

我正在为 C 编程语言寻找一个好的数值计算库。

类似于具有良好文档的 LAPACK 将非常有帮助。

感谢和问候,

上普尔

0 投票
2 回答
2737 浏览

python - Python中求和对数的数值函数

给定log(a)and log(b),我想计算log(a+b)(以数值稳定的方式)。

我为此写了一个小函数:

我写了一个程序,这是迄今为止最耗时的一段代码。显然我可以尝试优化它(例如,消除递归调用)。

你知道从和计算的标准math或函数吗?numpylog(a+b)log(a)log(b)

如果没有,您是否知道为该函数制作单个 C++ 挂钩的简单方法?这不是一个复杂的函数(它使用浮点数),正如我所说,它占用了我运行时的大部分时间。

在此先感谢数值方法忍者!

0 投票
3 回答
2070 浏览

ruby - 与 Array 相比,使用 Ruby NArray 有哪些优势?

我刚刚遇到了 Ruby 的 NArray 库——问这个问题时请原谅我的无知:)

与标准 Ruby Array 实现相比,使用 NArray 库有哪些优势?

我已经看到 NArray 面向数值计算,但是查看 API,看起来只有 Array 上的一些扩展面向数值 - 没有什么是你不能用 Array 做的。

  1. 为什么不直接使用数组?
  2. 有巨大的速度优势吗?
  3. 有很大的内存优势吗?
  4. 与使用常规 Ruby Array 类相比,还有什么其他优势吗?

谷歌并没有真正想出对这个问题的有用解释。

我找到的参考资料:

http://rubydoc.info/gems/narray-ruby19/0.5.9.7/NArray

http://narray.rubyforge.org/index.html.en

http://raa.ruby-lang.org/project/narray/