連想性
連想則を満たさない集合S上の二項演算π{\displaystyle*}は非連想と呼ばれる。 象徴的に、
(x∗y)∗z≠x∗(y∗z)一部のx、y、z∈S. {\displaystyle(x*y)*z\neq x*(y*z)\qquad{\mbox{for some}}X,y,z\in S.}
このような操作に対しては、評価の順序は重要である。, 1)2{\displaystyle2^{(1^{2})}\,\neq\,(2^{1})^{2}}
また、無限の合計は一般的に結合的ではないことに注意してください。
( 1 + − 1 ) + ( 1 + − 1 ) + ( 1 + − 1 ) + ( 1 + − 1 ) + ( 1 + − 1 ) + ( 1 + − 1 ) + … = 0 {\表示スタイル(1+-1)+(1+-1)+(1+-1)+(1+-1)+(1+-1)+(1+-1)+\ドット\,=\,0}
一方
1 + ( − 1 + 1 ) + ( − 1 + 1 ) + ( − 1 + 1 ) + ( − 1 + 1 ) + ( − 1 + 1 ) + ( − 1 + 1 ) + … = 1 {\表示スタイル1+(-1+1)+(-1+1)+(-1+1)+(-1+1)+(-1+1)+(-1+1)+\dots\,=\,1}
非連想構造の研究は、古典代数の主流とは多少異なる理由から生じる。, 非常に大きくなった非連想代数の中の一つの領域は、リー代数の領域である。 そこで連想法則はヤコビ恒等式に置き換えられる。 リー代数は無限小変換の本質的な性質を抽象化し、数学において遍在するようになった。
深く研究されている非連想構造の他の特定のタイプがあります。 その他の例としては、準群、準場、非結合環、非結合代数、および可換非結合的マグマが挙げられる。,
浮動小数点計算の非連結性edit
数学において、実数の加算と乗算は結合的である。 対照的に、計算機科学では、浮動小数点数の加算と乗算は、異なるサイズの値が結合されたときに丸め誤差が発生するため、結合的ではありません。
ほとんどのコンピュータは24ビットまたは53ビットの仮数で計算しますが、これは丸め誤差の重要な原因であり、Kahan sumation algorithmのようなアプローチは誤差を最小にする方法です。, 並列計算では特に問題になる可能性があります。
非連想演算の記法編集
一般的に、非連想演算が式に複数回現れる場合、評価の順序を示すために括弧を使用する必要があります(2 3/4{\displaystyle{\dfrac{\displaystyle{\mathbb{r}}}{\mathbb{r}}}{\mathbb{r}}}{\displaystyle{\mathbb{r}}}}{\displaystyle{\mathbb{r}}}}{\displaystyle{\mathbb{r}}}}}{\mathbb{r}}}}}{2}{3/4}}} ). しかし、数学者は、いくつかの一般的な非連想演算に対する評価の特定の順序に同意します。 これは括弧を避けるための単なる表記規則です。,
左連想操作は非連想操作は、従来は評価が左から右に、
x∗y∗z=(x∗y)∗z w∗x∗y∗z=((w∗x)∗y)∗z等 すべてのw,x,y,z∈S{\displaystyle\left{\displaystyle\left{\displaystyle\left}に対して。{\開始{マトリックス}x*y*z=(x*y)*z\qquad\qquad\クワッド\、\w*x*y*z=((w*x)*y)*z\クワッド\{\mbox{など}}九九九九九坂,\end{列}}\right\}{\mbox{全}}w、x、y、z\S}
ながら右連想操作は従来から評価を右から左へ
x∗y∗z=x∗(y∗z)w∗x∗y∗z=w∗x∗(y∗z)) など。, すべてのw,x,y,z∈S{\displaystyle\left{\displaystyle\left{\displaystyle\left}に対して。{\開始{行列}x*y*z=x*(y*z)\qquad\qquad\クワッド\、\w*x*y*z=w*(x*(y*z))\クワッド\{\mbox{など}\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\\\、\端{行列}}\右\}{\mbox{すべての}}W、x、y、Z\S}
左連想演算と右連想演算の両方が発生します。, 左連想演算には次のようなものがある:
- 実数の減算と除算
x-y−z=(x−y)−z{\displaystyle x−y-z=(x-y)-z}x/y/z=(x/y)/z{\displaystyle x/y/z=(x/y)/z}
- 関数適用:
(f x y)=((f x)y){\displaystyle(f\,x\,y)=((f\,X)\,y)}この表記法はカリー化同型によって動機づけることができる。,
右連想演算には次のようなものがある:
- 上付き記法における実数の累乗:
x y z=x(y z){\displaystyle x^{y^{z}}=x^{(y^{z})}}累乗は、左連想の累乗演算を繰り返すことはほとんど役に立たないため、角かっこまたは右連想でよく使われる。 (X y)z=x(y z){\displaystyle(x^{y})^{z}=x^{(yz)}}正しく書式設定されていると、上付き文字は本質的に括弧の集合として動作します。, 2x+3{\displaystyle2^{x+3}}という式では、2(x+3){\displaystyle2^{(x+3)}}の周りに明示的な括弧がないにもかかわらず、累乗の前に加算が行われる。 したがって、x y z{\displaystyle x^{y^{z}}}のような式が与えられると、底x{\displaystyle x}の完全指数y z{\displaystyle y^{z}}が最初に評価される。, しかし、いくつかの文脈、特に手書きでは、x y z=(x y)z{\displaystyle{x^{y}}^{z}=(x^{y})^{z}}、x y z=x(y z){\displaystyle x^{yz}=x^{(yz)}}とx y z=x(y z){\displaystyle x^{y^{z}}=x^{(y^{z})}}の違いは見えにくい場合がある。 このような場合、右連想性は通常暗示されます。,
- 関数定義
Z→Z→Z=Z→(Z→Z){\displaystyle\mathbb{Z}\rightarrow\mathbb{Z}\rightarrow\mathbb{Z}\rightarrow\mathbb{Z}=\mathbb{Z}\rightarrow\mathbb{Z}\rightarrow\mathbb{Z}\rightarrow\mathbb{Z}\rightarrow\mathbb{Z}\rightarrow\mathbb{Z}\rightarrow\mathbb{Z}\rightarrow\mathbb{Z}\rightarrow\mathbb{Z})}x∈y∈x−y=x∈(y∈x−y){\displaystyle x\mapsto y\mapsto x-y=x\mapsto(y\mapsto x-y)}これらの演算に対して右連想記法を使用することは、Curry-Howard対応とcurrying isomorphismによって動機づけられます。
従来の評価順序が定義されていない非連想演算には、次のものがあります。,a→×(b→×c→)≠(a→×b→)×c→for some a→,b→,c→∈R3{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\infty}}}}}}}}}}}}}}}}}}}}}}}}}}{\displaystyle{\infty}}}}}}}}}}}}{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\displaystyle{\vec{a}}\回({\vec{b}}\回{\vec{c}})\neq({\vec{a}}\回{\vec{b}})\回{\vec{c}}\qquad{\mbox{いくつかのために}}{\vec{a}}、{\vec{b}}、{\vec{c}}\で\mathbb{r}^{3}}
- ペアワイズ平均を取る(x+y)/2+z2≤x+(y+z)/2 2すべてのx,y,z≤rに対してx≤zである。, {\displaystyle{(x+y)/2+z\over2}\neq{x+(y+z)/2\over2}\qquad{\mbox{for all}}x,y,z\in\mathbb{R}{\mbox{with}}x\neq z.}