numerical-methods相关内容

我应该如何处理那些可以变得很小以至于变成零的浮动数字

所以我只是在下面的代码中修复了一个有趣的bug,但是我不确定这个方法是否最好: b = b $ b $(如果(wp > 0): p * = wp #取自然对数,当'probabilites'足够长,p结束 #为零 尝试: result = math.log(p) 因为结果不需要确切地说,我解决了这个问题,只需保持最小的非零值,并使用它 ..
发布时间:2017-12-21 22:09:29 其他开发

与迭代乘法相比,std :: pow()的数值稳定性是多少?

使用 std :: pow()? $来解决什么类型的稳定性问题?为了执行一个简单的函数来执行 log(n)迭代,它会更加稳定(或者更快,或者完全不同)如果指数已知是一个整数,相乘? >比较稳定的方式,形式为 std :: pow(x,k / 2)?是否有意义的选择上述的方法,以提高到一个整数倍,然后乘以一个平方根,或者我应该假设 std :: pow()对于这个机器的精度是快速和准确的?如果 ..

计算Logistic损失函数的值和梯度时避免数值溢出

目前我正在尝试实现一种机器学习算法,它涉及到逻辑损失函数在MATLAB中。不幸的是,由于数值溢出,我遇到了麻烦。 通常,对于给定的输入 s , logistic函数的值是: $ p $ log(1 + exp(s)) 和逻辑损失函数的斜率是: $ pre code> exp(s)./(1 + exp(s))= 1./(1+exp(-s)) 在我的算法中, s = X ..

指数函数的计算精度

我有一个给定的浮点数 X 和该数字的舍入,精确到 10 ^( - n)小数点位置: X'。现在,我想知道,如果在计算指数函数之后: y = 2 ^(x),我的数字和四舍五入的数字之间的差异将保持在同一水平精确。我的意思是: | 2 ^(X)-2 ^(X')| 10 ^( - n-1) 解决方案 指数放大相对误差并且,通过扩展,ulp错误。考虑一下这个例子: $ $ p $ $ ..
发布时间:2017-12-21 21:37:58 其他开发

如何在PHP中获得浮点数的二进制表示?

有什么办法在PHP中获得浮点数的二进制表示?像Java的 Double.doubleToRawLongBits()给定一个正的浮点数,我想得到最大的可表示的浮点数小于这个数。在Java中,我可以这样做: double x = Double.longBitsToDouble(Double.doubleToRawLongBits(d) - 1) ; 但是我在PHP中没有看到 ..
发布时间:2017-12-21 21:30:03 PHP

CUDA中的累积和

有人可以指出我在正确的方向上如何做这种类型的计算并行,或告诉我这个方法的一般名称是什么?我不认为这些会返回相同的结果。 C ++ for(int i = 1; i x [i] = x [i] + x [i-1] CUDA int i = blockIdx.x * blockDim.x + threadIdx.x if((i> 0)&&(i X ..

快速算法并行计算Pi

我开始学习CUDA,我认为计算pi的长位数将是一个很好的介绍性项目。 我已经实现了简单的蒙特卡罗方法容易并行化。我简单地让每个线程在单位平方上随机生成点,计算出单位圆内有多少个点,然后使用简化运算来计算结果。 肯定不是用于计算常数的最快的算法。之前,当我在单线程CPU上执行此练习时,我使用 Machin式公式做计算的收敛速度要快得多。 这样的公式的一个例子: > 不幸 ..

并行与串行实现说明

我已经实现了使用jacobi方法求解线性系统的串行和并行算法。 我无法理解: 与串行相比,并行实现如此低的迭代次数(在两者中使用相同的方法)。 如何在并行实现中运行迭代次数不同?(6,7)? 感谢! 计划输出: Mathematica解决方案:{{-1.12756},{4.70371},{-1.89272},{1.56218}} Serial:iteratio ..
发布时间:2016-12-26 20:24:17 Java开发

计算将矩形转换为2D中的另一个四边形的矩阵

在下图中,目标是计算将点a1a2a3a4转换为其对应物b1b2b3b4的单应性矩阵H. 即: [b1 b2 b3 b4] = H * [a1 a2 a3 a4] 你建议什么方法是计算H(3x3)的最佳方法。 a1 ... b4是在均匀坐标系(即[a1_x a1_y 1]',...)中表示的2D中的点。 EDIT : 对于这些类型的问题,我们使用SVD,所以我想看看 ..

odeint内存使用和执行时间

我注意到,与我的RK4算法或Mathematica的实现相比,odeint使用非常少的内存。对于相同的步长,odeint使用大约3.11GB,而我的程序使用7GB和与Mathematica,我不得不手动增加页面文件大小为40GB或者它用完内存。 (编辑: CPU使用率只有18%) 我很好奇这是怎么可能的,因为当我保存结果,数据文件在所有三种情况下几乎是相同的大小。 然而,当涉及到执行时 ..
发布时间:2016-10-25 16:34:42 C/C++开发

牛顿方法实现

#include #include using namespace std; #define h powf(10,-7) #define PI 180 float funct(float x){ return cos(x)-x; } float derivative(float x){ return((funct( ..
发布时间:2016-10-25 16:34:36 C/C++开发

odeint内存使用和执行时间

我注意到,与我的RK4算法或Mathematica的实现相比,odeint使用非常少的内存。对于相同的步长,odeint使用大约3.11GB,而我的程序使用7GB和与Mathematica,我不得不手动增加页面文件大小为40GB或者它用完内存。 (编辑: CPU使用率只有18%) 我很好奇这是怎么可能的,因为当我保存结果,数据文件在所有三种情况下几乎是相同的大小。 然而,当涉及到执行时 ..
发布时间:2016-10-25 16:27:40 C/C++开发

复杂数字的C ++ Bessel函数

我想实现第一种和第二种类型的Bessel函数描述bessel函数用于C ++中的复数。现在我正在寻找可能性,在我的源代码中介绍他们。因为math.h只包含实数的贝塞尔函数,所以我有兴趣看到任何种类的可能性。 解决方案 a href =“http://www.boost.org/”rel =“nofollow”> Boost库实现第一和第二类的普通贝塞尔函数,以及第一和第二类的修改的贝塞尔函 ..
发布时间:2016-10-23 21:27:10 C/C++开发

复杂数字的C ++ Bessel函数

我想实现第一种和第二种类型的Bessel函数描述bessel函数用于C ++中的复数。现在我正在寻找可能性,在我的源代码中介绍他们。因为math.h只包含实数的贝塞尔函数,所以我有兴趣看到任何种类的可能性。 解决方案 a href =“http://www.boost.org/”rel =“nofollow”> Boost库实现第一和第二类的普通贝塞尔函数,以及第一和第二类的修改的贝塞尔函 ..
发布时间:2016-10-23 21:17:07 C/C++开发

什么是数值最好的方法来计算平均值

什么是最好的计算平均值的方法?有了这个问题,我想知道用于计算平均值的算法在数值意义上是最好的。它应该有最小的舍入误差,不应该对上溢或下溢等敏感。 谢谢。 其他信息:增量方法首选,因为值的数量可能不适合RAM(对大于4 GB的文件进行多个并行计算)。 解决方案 您可以查看 http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1 ..
发布时间:2016-10-17 09:57:11 C/C++开发

C#:循环查找功能极小

我现在有这个功能: 公共双马克斯(双[] X,双[] Y) { //得到对X数组作为整数 为int的最小值和最大值XMIN = Convert.ToInt32(x.Min()); INT XMAX = Convert.ToInt32(x.Max()); //产生X值的输入拉格朗日 名单双I = 2; 双xOld =拉格朗日(XMIN,X,Y); 双xNew = X ..
发布时间:2016-10-05 22:30:45 C#/.NET

在哪里可以找到在C#中机器精度?

本机小量的标准地定义为添加到一个最小的数,给出了从一个不同的结果。 有一个双.Epsilon ,但名字很误导性:它是最小的(非正规化)双击价值表示的,因此没用任何一种数字节目。 我想获得的真正的小量的双击类型,所以不是有硬编码的公差到我的程序。我如何做到这一点。 解决方案 这是(我的机器上): 1.11022302462516E-16 您可以轻松地计算 ..
发布时间:2016-09-08 19:02:20 C#/.NET

性病::战俘给出了分数指数错误逼近

下面是我的意思是试图做 双X = 1.1402 双POW = 1/3; 性病::战俘(X,POW)-1; 结果是0,但我预计0.4465 方程为(1 + x)^ 3 = 1.1402 ,找到 X 。 解决方案 1/3 做的整数运算,所以你到'战俘'分配0。尝试 POW(X,1.0 / 3.0); ..
发布时间:2016-08-23 10:57:49 C/C++开发