离散数学(也是有限数学)处理诸如逻辑、集合论、信息论、部分有序集合、证明、关系和许多其他主题的主题。
对于其他数学分支,也有支持编程的工具。对于统计,R和S内置了许多有用的统计函数。对于数值分析,Octave可以用作语言或集成到 C++ 中。
我不知道任何专门处理离散数学的语言或包(尽管几乎每种语言都可用于实现离散数学中使用的算法,但应该有专门为这些应用程序设计的库或环境)。
离散数学(也是有限数学)处理诸如逻辑、集合论、信息论、部分有序集合、证明、关系和许多其他主题的主题。
对于其他数学分支,也有支持编程的工具。对于统计,R和S内置了许多有用的统计函数。对于数值分析,Octave可以用作语言或集成到 C++ 中。
我不知道任何专门处理离散数学的语言或包(尽管几乎每种语言都可用于实现离散数学中使用的算法,但应该有专门为这些应用程序设计的库或环境)。
Mathematica的当前版本是 7。许可证费用:
上面,家庭版链接说:
Mathematica Home Edition 是 Mathematica Professional 的全功能版本,具有相同的功能。
Maple的当前版本是 12。 许可费用:
是的,看看上面 Thomas Owens 提到的 Sage。
数学
Mathematica 有一个 Combinatorica 包,虽然在这一点上相当古老,但它为组合数学和图形提供了很好的支持。可以使用这样的命令: NecklacePolynomial[8, m, Cyclic]; GrayCodeSubsets[{1, 2, 3, 4}]; 整数分区[6]
我会说 Mathematica 是您最好的选择.. 即使它没有开箱即用的某些功能,它也有设计精良的补充包,可在网上
查看http://www.wolfram.com/ products/mathematica/analysis/
您可能对数论、图形可视化的链接感兴趣
我还找到了Sage。它似乎是最接近 Mathematica 的开源软件,但我不确定它处理离散数学的能力如何。
主要由 Donald Knuth 编写的Stanford GraphBase是一个很棒的组合计算包。我不会称它为广泛的代码库,但它对图有很好的支持,并且可以根据图论来制定大量离散数学。它是用 CWEB 编写的,它是(IMO)一个更易读的 C 版本。
编辑:它是免费的。
我喜欢 Mathematica,并在我攻读计算物理学博士学位期间用它来原型化想法。然而,Mathematica 试图成为所有人的一切,但也有一些缺点:
话虽如此,Mathematica 的核心功能令人惊叹,原因如下:
底线