抽象代数与编程

26 computer-science wolfram-mathematica algebra

我将开始学习抽象代数组,环等.我有兴趣了解任何编程语言,如果有的话可以帮助我学习/尝试我在理论上学到的概念.

编辑:我并不是在考虑实施我学到的东西.我有兴趣知道任何已经支持它们的语言.

Tho*_*mas 33

对你的问题可能略有不同,但仍然......函数式语言Haskell使用代数(特别是类别理论)中的概念,如monad,monoids,箭头等等.

使用Haskell的类型类,您还可以将任何对象组成一个组或一个环,例如,只需在它们上定义操作(操作符)即可.但是,保证您定义的操作实际上符合组/环公理是您的责任.

  • 在本文中可以找到使用Haskell代数的一个很好的介绍:http://people.cs.uu.nl/jeroen/article/algebra/index.html (3认同)

jas*_*son 20

你想要的文字是抽象代数, Chuck Sims的计算方法.作者将建议您使用APL编程语言.这本书绝版了,但你可以在你的图书馆找到它.

还有GAP计算机代数系统,它很适合用于群论.

高级资源:

Magma:相当复杂的CAS,可以处理抽象代数中的各种概念.
麦考利2:用于研究多项式环,特别是Gröbner碱.
SINGULAR:用于研究多项式环.

研究群论的一个关键事实是,每个群体都通过常规行为与置换群同构.因此,理解群体理论的关键是理解排列群.

最后,任何支持定义自己的对象并在对象的两个实例上定义二元运算符的语言都将支持通过编程来学习理论.


Ada*_*eld 5

Mathematica有许多有用的函数来处理抽象代数中的概念。不幸的是,它是专有软件并且非常昂贵。 Sage是一个免费的替代品,它也有相当好的抽象代数函数库,尽管我没有广泛使用它,所以我无法对它进行更多评论。


hui*_*ker 5

如果您正在使用组,则可能需要使用“ 组资源管理器”对其进行可视化。