MPLAPACKver1.0.1:高精度数値計算のLAPACK実装とチュートリアル
需积分: 0 21 浏览量
更新于2024-06-30
收藏 6.08MB PDF 举报
"本次会议是中田真秀在2021年11月28日举行的关于精度保证付数値計算実問題応用研究的第五次会议,重点介绍了MPLAPACK版本1.0.1,一个支持多倍长精度计算的C++库,该库基于LAPACK并提供了非对称矩阵对角化和特异值求解等功能。"
MPLAPACK是针对多倍长精度计算需求而设计的一个C++库,它在LAPACK的基础上实现了多种数值计算算法,如LU分解、Cholesky分解、逆矩阵计算、条件数估计、特异值分解以及非对称和对称矩阵以及一般化固有值问题的解决。这个库特别强调了对实数计算的全面支持,包括LU分解、逆矩阵、埃尔米特矩阵的固有值问题等。然而,它在复数计算方面相对较弱,仅支持LU分解、逆矩阵计算以及复数的埃尔米特矩阵固有值问题。
MPLAPACK v1.0.1利用了MPFR和MPC作为参考实现,同时支持GMP、_Float128、_Float64x、double(!?)、double-double和quad-double等多种数据类型,提供广泛的精度选择。MPFR和GMP版本还允许用户通过环境变量在运行时调整精度设置。值得注意的是,尽管大部分功能与普通double/float数据类型的使用方式相似,但MPLAPACK使用了C++编写,解决了LAPACK原本使用Fortran90编写的语言障碍。
该项目基于LAPACK 3.9.1版本(2021年4月1日发布),并通过FABLE(Automatic Fortran to C++ converter)工具大大缩短了开发时间。MPLAPACK兼容多种平台,包括Linux、Windows和Mac,并且支持Tier1的Arm64、amd64架构,以及Tier2的PowerPC64、S390、mips64和riscv64等。对于Linux和Windows系统,推荐使用Docker进行构建。为了确保质量,MPLAPACK进行了详尽的测试,每个类都检查到溢出和下溢的边缘情况,并创建了高精度版本的LAPACK质量保证程序进行验证。
该项目采用了2条款BSD许可证,但其中的部分组件mpfrc++遵循LGPL最终版,gmpcxx则采用LGPL或GPL双许可。详细的文档和手册可在指定链接中查阅。
MPLAPACK是数值计算领域的一个强大工具,特别是对于需要高精度计算的非对称矩阵对角化和特异值求解的应用,它提供了一个方便且可扩展的C++接口。同时,它还具有良好的跨平台支持和丰富的精度选项,为科研和工程计算提供了有力的支撑。
2022-09-23 上传
2023-07-15 上传
2023-03-27 上传
2023-06-10 上传
2023-05-04 上传
2023-06-01 上传
2023-06-01 上传
2023-06-01 上传
2023-02-28 上传
2023-07-16 上传
![](https://profile-avatar.csdnimg.cn/b51a199848e34cdfb6f346d0d1752e07_weixin_35763448.jpg!1)
普通网友
- 粉丝: 21
- 资源: 319
最新资源
- 计算机人脸表情动画技术发展综述
- 关系数据库的关键字搜索技术综述:模型、架构与未来趋势
- 迭代自适应逆滤波在语音情感识别中的应用
- 概念知识树在旅游领域智能分析中的应用
- 构建is-a层次与OWL本体集成:理论与算法
- 基于语义元的相似度计算方法研究:改进与有效性验证
- 网格梯度多密度聚类算法:去噪与高效聚类
- 网格服务工作流动态调度算法PGSWA研究
- 突发事件连锁反应网络模型与应急预警分析
- BA网络上的病毒营销与网站推广仿真研究
- 离散HSMM故障预测模型:有效提升系统状态预测
- 煤矿安全评价:信息融合与可拓理论的应用
- 多维度Petri网工作流模型MD_WFN:统一建模与应用研究
- 面向过程追踪的知识安全描述方法
- 基于收益的软件过程资源调度优化策略
- 多核环境下基于数据流Java的Web服务器优化实现提升性能