本页使用了标题或全文手工转换

结合律

维基百科,自由的百科全书
跳转至: 导航搜索

數學中,結合律二元運算可以有的一個性質,意指在一個包含有二個以上的可結合運算子的表示式,只要運算元的位置沒有改變,其運算的順序就不會對運算出來的值有影響。亦即,重新排列表示式中的括號並不會改變其值。例如:

(5+2)+1=5+(2+1)=8

上式中的括號雖然重新排列了,但表示式的值依然不變。當這在任何實數的加法上都成立時,我們說「實數的加法是一個可結合的運算」。

結合律不應該和交換律相混淆。交換律會改變表示式中運算元的位置,而結合律則不會。例如:

(5+2)+1=5+(2+1)

是一個結合律的例子,因為其中的括號改變了(且因此運算子在運算中的順序也改變了),而運算元5、2、1則在原來的位置中。再來,

(5+2)+1=(2+5)+1

則不是一個結合律的例子,因為運算元2和5的位置互換了。

可結合的運算在數學中是很常見的,且事實上,大多數的代數結構確實會需要它們的二元運算是可結合的。不過,也有許多重要且有趣的運算是不可結合的;其中一個簡單的例子為向量積

定義[编辑]

形式上,一個在集合 S 上的二元運算 *\!\!\! 被稱之為可結合的若其滿足下面的結合律

(x*y)*z=x*(y*z)\qquad \forall x,y,z\in S.

運算的順序並不會影響到表示式的值,且可證明這在含有「任意」多個 *\!\!\! 運算的表示式之下也依然是成立的。因此,當 *\!\!\! 是可結合的時,運算的順序可以不需要去規範而不會使其意義不清,所以可以省略掉括號而簡單寫成:

x*y*z.\,

不過,需要記住的是,改變運算的順序並不包含或允許以移動表示式中的運算元來改變其真實的運算。

例子[编辑]

一些可結合的運算的例子如下。



\left.
\begin{matrix}
(x+y)+z=x+(y+z)=x+y+z\quad
\\
(x\,y)z=x(y\,z)=x\,y\,z\qquad\qquad\qquad\quad\ \ \,
\end{matrix}
\right\}
\forall x,y,z\in\mathbb{R}.
  • 複數四元數的加法與乘法是可結合的。八元數的加法也是可結合的,但其乘法則是不可結合的。


\left.
\begin{matrix}
\operatorname{gcd}(\operatorname{gcd}(x,y),z)=
\operatorname{gcd}(x,\operatorname{gcd}(y,z))=
\operatorname{gcd}(x,y,z)\ \quad
\\
\operatorname{lcm}(\operatorname{lcm}(x,y),z)=
\operatorname{lcm}(x,\operatorname{lcm}(y,z))=
\operatorname{lcm}(x,y,z)\quad
\end{matrix}
\right\}\forall x,y,z\in\mathbb{Z}.
  • 因為線性變換是個可表示成矩陣的函數,其中的函數複合則可以用矩陣乘法來表示,立即可知矩陣乘法為可結合的。


\left.
\begin{matrix}
(A\cap B)\cap C=A\cap(B\cap C)=A\cap B\cap C\quad
\\
(A\cup B)\cup C=A\cup(B\cup C)=A\cup B\cup C\quad
\end{matrix}
\right\}\forall A,B,C.
  • M 是某個集合且 S 為所有從 M 映射至 M 的函數所組成的集合,則在 S 上的函數複合的運算是可結合的:
(f\circ g)\circ h=f\circ(g\circ h)=f\circ g\circ h\qquad\forall f,g,h\in S.
  • 更一般性地,給定四個集合 MNPQ,且 h: MN, g: NPf: PQ,則
(f\circ g)\circ h=f\circ(g\circ h)=f\circ g\circ h
和前面一樣。簡單地說,映射的複合總會是可結合的。
  • 給定一個有三個元素 A 、 B 和 C 的集合,其運算如下:
+
× A B C
A A A A
B A B C
C A A A

是可結合的。不過,此運算不是可交換的。

不可結合性[编辑]

一個在集合 S 上的二元運算 * 若不滿足結合律,則稱之為不可結合的。表示成符號即為:

(x*y)*z\ne x*(y*z)\qquad\exist x,y,z\in S.

在此一運算下,運算的順序是影響的。減法除法都是不可結合運算的簡單例子:


\begin{matrix}
(5-3)-2\ne 5-(3-2)\quad
\\
(4/2)/2\ne 4/(2/2)\qquad\qquad
\\
2^{(1^2)}\ne (2^1)^2.\quad\qquad\qquad
\end{matrix}

一般,當不可結合運算在一個表示出現多於一次時,括號就必須被使用來表示其運算順序。不過,數學家會對若干常見的不可結合運算採用一種特別的運算順序的規則。這單純只是個為了減少括號的語法約定。

二進位浮點數[编辑]

電腦科學中,由於採用二進位浮點數運算,即使是加法亦不符合結合律。[1]

(a+b)+c \ne a+(b+c)

以下兩個運算的結果在電腦中並不相等:

  • (0.1+0.2)+0.3
  • 0.1+(0.2+0.3)

使用邏輯運算符AND進行比較,會傳回假(false)。

另見[编辑]