# NaturplayMath **Repository Path**: shbfeng/NaturplayMath ## Basic Information - **Project Name**: NaturplayMath - **Description**: ‍ 一个基于.NET Core 3.0的高精度科学计算库 - **Primary Language**: C# - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-02-20 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NaturplayMath 一个基于.NET Core 3.0的高精度科学计算库 ## 项目结构 解决方案里有两个项目,分别是一个.NET Core类库项目(主要部分)和该类库的MSTest单元测试项目。通过运行测试来调试类库。 ## 项目规划 * 实现高精度数值的常用运算符和初等函数的运算 * 在高精度数值基础上封装有理数、无理数,支持输出分数形式或者保留根号的运算结果,而非数值结果(使结果更友好) * 在高精度数值基础上实现复数模块,并实现复数的基本运算 * 在高精度数值基础上实现矩阵模块,并实现常用的线性代数算法 * 实现基本的表达式符号计算,支持导出和导入TeX公式 * 以上是NaturplayMath代数模块的规划,为项目第一阶段,几何模块和其他模块不在第一阶段内 ## 目前进度 * 实现了高精度数值的数据结构(基于链表) * 实现了高精度数值的进制转换、比较、加法、减法、左移、右移运算 * 实现了高精度数值的乘法运算(朴素算法),之后计划用傅里叶变换和FFT算法优化 * 实现了高精度数值的除法运算(已使用二分查找部分优化) * 实现了高精度数值的开平方运算(已优化,为避免引入高精度乘除法,完全用移位和高精度加法实现了快速开方) * 实现了高精度整数的最大公约数、最小公倍数运算 * 通过封装高精度数值实现了实数类、有理数类及若干子类 * 实现了有理数的约分、通分、加减乘除等运算