一个基于.NET Core 3.0的高精度科学计算库
解决方案里有两个项目,分别是一个.NET Core类库项目(主要部分)和该类库的MSTest单元测试项目。通过运行测试来调试类库。
- 实现高精度数值的常用运算符和初等函数的运算
- 在高精度数值基础上封装有理数、无理数,支持输出分数形式或者保留根号的运算结果,而非数值结果(使结果更友好)
- 在高精度数值基础上实现复数模块,并实现复数的基本运算
- 在高精度数值基础上实现矩阵模块,并实现常用的线性代数算法
- 实现基本的表达式符号计算,支持导出和导入TeX公式
- 以上是NaturplayMath代数模块的规划,为项目第一阶段,几何模块和其他模块不在第一阶段内
- 实现了高精度数值的数据结构(基于链表)
- 实现了高精度数值的进制转换、比较、加法、减法、左移、右移运算
- 实现了高精度数值的乘法运算(朴素算法),之后计划用傅里叶变换和FFT算法优化
- 实现了高精度数值的除法运算(已使用二分查找部分优化)
- 实现了高精度数值的开平方运算(已优化,为避免引入高精度乘除法,完全用移位和高精度加法实现了快速开方)
- 实现了高精度整数的最大公约数、最小公倍数运算
- 通过封装高精度数值实现了实数类、有理数类及若干子类
- 实现了有理数的约分、通分、加减乘除等运算