问题标签 [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.
floating-point - 浮点加法与浮点乘法的相对速度是多少
一两年前,编写数字代码以避免使用乘法和除法而是使用加法和减法是值得的。一个很好的例子是使用前向差分来评估多项式曲线,而不是直接计算多项式。
仍然是这种情况,还是现代计算机体系结构已经发展到 *,/ 不再比 +,- 慢很多倍的程度?
具体来说,我对在具有广泛板载浮点硬件的现代典型 x86 芯片上运行的编译 C/C++ 代码感兴趣,而不是试图在软件中进行 FP 的小型微型计算机。我意识到流水线和其他架构增强排除了特定的循环计数,但我仍然想获得一个有用的直觉。
arrays - 如何在 Clojure 中使用不可变数据进行数值模拟?
我正在使用 Clojure,我需要运行一个小型模拟。我有一个长度为 n 的向量(n 通常在 10 到 100 之间),其中包含值。在每一轮模拟中(可能一共 1000 轮),向量中的一个值会随机更新。我想我可以通过使用 Java 数组并调用 aset 方法来做到这一点,但这会破坏函数式编程/不变性习语。
有没有更实用的方法来做到这一点,或者我应该只使用 Java 数组?
algorithm - 给定一个数字序列,找到校验位算法...?
假设我有一系列由校验位组成的索引号。如果我有一个足够公平的样本(比如 250 个样本索引号),我是否有办法提取用于生成校验位的算法?
我认为至少应该有一种编程方法来找到一组可能的算法。
更新:索引号的长度为 8 位,包括校验位。
c++ - 手动编写循环与运算符重载的效率
在我正在处理的程序中,我有 3 元素数组,我将其用作所有意图和目的的数学向量。
在编写代码的过程中,我很想Vector
用简单的算术重载 ( +, -, * /
) 来创建自己的类,这样我就可以简化如下语句:
在生成的代码中应该或多或少相同。但是当涉及到更复杂的事情时,这真的会严重影响我的表现吗?我的代码中的一个例子是:
手写版本:
使用Vector
带有运算符重载的类:
我正在尝试优化我的代码以提高速度,因为这种代码在内部循环内运行。对这些事情使用重载的运算符会影响性能吗?我正在对一个由 n 个相互引力体组成的系统进行一些数值积分。这些向量操作非常常见,因此快速运行非常重要。
任何见解都会受到赞赏,我不知道的任何成语或技巧也是如此。
c++ - C++ 数值截断错误
抱歉,如果愚蠢但找不到答案。
输出:
0
6.66134e-16
0.001
-1.03583e-13
尝试用MSVC9、MSVC10、Borland C++ 2010编译。最后都报了1e-13左右的错误。仅在 1000、10000 次增量中累积如此显着的错误是否正常?
precision - 有没有办法在 Octave 中打印至少 20 个有效数字?
我需要打印一个包含 20 个有效数字的程序的结果,但我不知道如何打印超过 15 个数字(格式长)。有什么办法可以做到这一点?
r - 在 R 中求解非负线性系统
是否有可能使用一些本机 R 函数找到未定系统 Ax = b, x >= 0 的解决方案?我当然可以编写一个线性程序并使用 lpsolve,但我希望有一些原生的东西。
numerical-computing - C 的数值计算库
我正在为 C 编程语言寻找一个好的数值计算库。
类似于具有良好文档的 LAPACK 将非常有帮助。
感谢和问候,
上普尔
python - Python中求和对数的数值函数
给定log(a)
and log(b)
,我想计算log(a+b)
(以数值稳定的方式)。
我为此写了一个小函数:
我写了一个程序,这是迄今为止最耗时的一段代码。显然我可以尝试优化它(例如,消除递归调用)。
你知道从和计算的标准math
或函数吗?numpy
log(a+b)
log(a)
log(b)
如果没有,您是否知道为该函数制作单个 C++ 挂钩的简单方法?这不是一个复杂的函数(它使用浮点数),正如我所说,它占用了我运行时的大部分时间。
在此先感谢数值方法忍者!
ruby - 与 Array 相比,使用 Ruby NArray 有哪些优势?
我刚刚遇到了 Ruby 的 NArray 库——问这个问题时请原谅我的无知:)
与标准 Ruby Array 实现相比,使用 NArray 库有哪些优势?
我已经看到 NArray 面向数值计算,但是查看 API,看起来只有 Array 上的一些扩展面向数值 - 没有什么是你不能用 Array 做的。
- 为什么不直接使用数组?
- 有巨大的速度优势吗?
- 有很大的内存优势吗?
- 与使用常规 Ruby Array 类相比,还有什么其他优势吗?
谷歌并没有真正想出对这个问题的有用解释。
我找到的参考资料:
http://rubydoc.info/gems/narray-ruby19/0.5.9.7/NArray