LoginSignup
8
4

モノイド

Last updated at Posted at 2017-04-01

Scalaでは

scalaz.Monoid にあり。

定義

二項演算子(★)であり、下記の3つの条件が成立すること。

条件
演算が閉じていること ★: (S, S) => S
結合法則が成立すること (a ★ b) ★ c = a ★ (b ★ c)
単位元(e)が存在すること e ★ a = a ★ e = a

更に交換法則 a ★ b = b ★ a が成立すれば可換モノイド。

  • マグマ:演算が閉じている
  • 半群:演算が閉じている+結合法則が成立

二項演算子(★) 演算子の定義域 単位元(e) 可換
+ Doubleなど 0
* Doubleなど 1
行列積 正方行列など 単位行列 ×
and Boolean true
or Boolean false
xor Boolean false
Set 全体集合
Set 空集合
+ String "" ×
++ List List() ×
max Doubleなど -∞
min Doubleなど +∞
8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4