最喜欢/最好的支持长双打的 AX=B 解算器?
我希望能够反复解决 X=B(A^-1) 问题。即求解线性系统。对于 C++,哪些数值求解器支持 128 位长双精度数(四边形)?
使用 C 风格数组是一个主要优点,因为我的所有 2D 数据都存储为单个 std::vector。
我希望使用 GCC 或 ICC 在 Linux 上编译代码。
I am hoping to repeatedly hammer an X=B(A^-1) problem. That is, solve a linear system. For C++, which numerical solvers have support for 128bit long doubles (quads)?
Using C style arrays is a major plus as all my 2D data is stored as a single std::vector.
I was hoping to compile the code on linux with either GCC or ICC.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
许多C++线性代数库都是基于模板的,包括NT2、Boost.uBLAS、Eigen(参见最广泛使用的C++向量/矩阵数学/线性代数库及其成本和收益权衡? 链接)。因此,如果您的编译器/库可以使用四边形进行数学运算,那么它们应该能够支持四边形。例如,在 Eigen 中,类型
Eigen::Matrix
表示包含 long double 的任意大小的矩阵,您可以使用标准函数来求解此类矩阵。Many C++ linear algebra libraries are based on templates, including NT2, Boost.uBLAS, Eigen (see What are the most widely used C++ vector/matrix math/linear algebra libraries, and their cost and benefit tradeoffs? for links). Thus, they should be able to support quads if your compiler/library can do maths with quads. For instance, in Eigen the type
Eigen::Matrix<long double, Dynamic, Dynamic>
denotes a matrix of arbitrary size containing long doubles, and you can use the standard functions to solve with such matrices.