草庐IT

半群与群简介

半群与单子半群的基本概念定义1.半群(semigrop)设(X,∗)(X,\ast)(X,∗)是代数系统,∗\ast∗是X上的二元运算。若∗\ast∗运算满足结合律,则称(X,∗)(X,\ast)(X,∗)为半群。半群就是具有结合律的代数系统;验证半群的要点是验证运算的(1)封闭性;(2)结合律定义2.单子(monoid)设(X,∗)(X,\ast)(X,∗)是半群若∗\ast∗运算满足交换律,则称(X,∗)(X,\ast)(X,∗)是交换半群。若X关于∗\ast∗运算有幺元,则称(X,∗)(X,\ast)(X,∗)是含幺半群或者单子。若∗\ast∗运算满足交换律同时X关于∗\ast∗运算又有

c++ - C++ 中是否有半环或幺半群的标准抽象?

boost或任何其他常见的C++库是否提供semiring或monoid抽象(例如模板类)?我有一些算法想用这些抽象结构来表达,但到目前为止我还没有遇到任何东西。我可以自己编写,但理想情况下,这些将在我已经在使用的库中,例如boost。谢谢! 最佳答案 SGISTL有MonoidOperation概念。例如powerMonoidOperation实现了函数。Boost.Graph库还定义了Monoidconcept.除了alreadysuggestedElementsofProgramming你可以看看NotesonProgramm