数学では、反復二項演算は、集合S上の二項演算を繰り返し適用することによって、 Sの要素の有限列上の関数に拡張したものです。 [ 1 ]一般的な例としては、加算演算を総和演算に拡張したものや、乗算演算を積演算に拡張したものなどがあります。集合論の演算である和集合や積集合などの他の演算も、しばしば反復されますが、反復には個別の名前は付けられません。印刷物では、総和と積は特別な記号で表されますが、他の反復演算子は、通常の二項演算子の記号のより大きな変形で表されることがよくあります。したがって、上記の 4 つの演算の反復は、次のように表されます。
より一般的には、二項関数の反復は一般的にスラッシュで表されます。シーケンス全体にわたっては、バード・メーテンス形式における還元表記法に従って。
一般に、二項演算を有限シーケンスに拡張する方法は複数あり、それは演算子が結合法則を満たすかどうか、および演算子に単位元があるかどうかによって決まります。
j ≥ 0 かつk ≥ jであるような、 Sの要素からなる長さk − jの有限列をa j , kで表す。ただし、j ≤ i < kに対して、要素は ( a i )である。k = jの場合、この列は空列であることに注意する。
f : S × S → Sに対して、 Sの要素の有限非空列に対して新しい関数F lを定義する。
同様に定義する
f が一意の左恒等式eを持つ場合、 F lの定義は、空のシーケンスに対するF lの値をeと定義することで、空のシーケンスに対しても動作するように変更できます(長さ 1 のシーケンスに関する以前の基本ケースは不要になります)。同様に、f が一意の右恒等式を持つ場合、 F r も空のシーケンスに対しても動作するように変更できます。
fが結合法則を満たす場合、F l はF rと等しくなり、単にFと書くことができます。さらに、単位元e が存在する場合、それは一意です (モノイドを参照)。
fが可換かつ結合的である場合、F は任意の非空有限多重集合に対して、その多重集合の任意の列挙に適用することで作用することができます。さらに、 f が単位元eを持つ場合、これは空の多重集合に対するFの値として定義されます。f が冪等である場合、上記の定義は有限集合にも拡張できます。
S が距離空間、あるいはより一般的にはハウスドルフ位相を備えている場合、つまり数列の極限の概念がSで定義されている場合、S内の可算数列に対する無限反復は、対応する有限反復の列が収束するときに正確に定義されます。したがって、例えば、a₀ , a₁ , a₂ , a₃ , …が実数の無限数列である場合、無限積は 定義されており、その制限が存在する場合に限り、かつその場合に限る。
反復二項演算は次のように記述されます。
記号の意味:
例:
一般形式:
制限付き形式:
無限バージョン:
させて結合演算を持つ構造である:
もしがモノイドである場合、次のようになります。
関数型プログラミングでは、反復二項演算は、 foldやreduceなどの高階関数に対応します。