c – 特征浮点精度
发布时间:2020-12-16 06:50:38 所属栏目:百科 来源:网络整理
导读:我使用Eigen在浮点精度方面遇到了麻烦. 我有两个Eigen :: MatrixXd;第一个矩阵A(nx1)仅包含正整数,而第二个矩阵B(nx1)包含填充相同实数的单个列(例如:-0.714312). 我需要计算以下Eigen :: MatrixXd: const auto exponential = [](double x){ return std::e
我使用Eigen在浮点精度方面遇到了麻烦.
我有两个Eigen :: MatrixXd;第一个矩阵A(nx1)仅包含正整数,而第二个矩阵B(nx1)包含填充相同实数的单个列(例如:-0.714312). 我需要计算以下Eigen :: MatrixXd: const auto exponential = [](double x) { return std::exp(x); }; MatrixXd W = B.unaryExpr(exponential); MatrixXd residuals = A - W; 问题是当我打印剩余部分的总和时: cout << residuals.sum(); // output = 6.16951e-06 通过使用R和相同的输入矩阵执行相同的操作,我得到了不同的值. 通过使用R矩阵,我得到-2.950208e-09.而A,B和W的元素之和在C和R中都是相同的. 解决方法
可能是R使用具有扩展精度(80位)的x87 FPU,而Eigen使用SSE单位(64位/双).你可以使用Matrix< long double,Dynamic,Dynamic>来检查它.矩阵类型或确保您的编译器将以x87 FPU为单位.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – System.Drawing对我们想做的事情来说太慢了吗?
- Jsonp学习记录
- WebAPI返回数据类型解惑 以及怎样解决Extjs无法解析返回的x
- 使用Python构建SQLite轻量级数据库
- 用TBXML解析XML数据
- ruby检查对象是否在数组中的方法
- ruby-on-rails – Ruby解释器(CUI)1.9.2p180 [i386-mingw32
- xliff:g 错误 error: Error parsing XML: unbound prefix
- ios – 未在Interface Builder中显示的字体
- react-nativere触摸组件TouchableNativeFeedback