Skip to main content

Cryptography 结合性 vs 交换性

结合性(Associativity)和交换性(Commutativity)是两个不同的概念,它们描述了二元运算的不同性质。下面是对这两个性质的详细解释:

结合性(Associativity)​

结合性是指在进行多次运算时,运算的次序不影响结果。具体来说,对于一个集合中的任意三个元素 aa、bb 和 cc,如果运算满足结合性,那么有:

(a⋅b)⋅c=a⋅(b⋅c)(a \cdot b) \cdot c = a \cdot (b \cdot c)

这里的运算符号 ⋅\cdot 可以是加法、乘法或其他二元运算。

例子:

  • 整数加法:对于任意整数 aa、bb 和 cc,有 (a+b)+c=a+(b+c)(a + b) + c = a + (b + c)。
  • 矩阵乘法:对于任意 n×nn \times n 矩阵 AA、BB 和 CC,有 (A⋅B)⋅C=A⋅(B⋅C)(A \cdot B) \cdot C = A \cdot (B \cdot C)。

交换性(Commutativity)​

交换性是指运算的顺序不影响结果。具体来说,对于一个集合中的任意两个元素 aa 和 bb,如果运算满足交换性,那么有:

a⋅b=b⋅aa \cdot b = b \cdot a

例子:

  • 整数加法:对于任意整数 aa 和 bb,有 a+b=b+aa + b = b + a。
  • 整数乘法:对于任意整数 aa 和 bb,有 a⋅b=b⋅aa \cdot b = b \cdot a。

两者的区别​

  • 结合性:涉及三个元素,关心的是运算的结合次序。例如,(a⋅b)⋅c(a \cdot b) \cdot c 和 a⋅(b⋅c)a \cdot (b \cdot c) 是否相等。
  • 交换性:涉及两个元素,关心的是运算的顺序。例如,a⋅ba \cdot b 和 b⋅ab \cdot a 是否相等。

非结合性和非交换性的例子​

  • 非结合性:在某些运算中,结合性不成立。例如,向量的叉乘运算不满足结合性,即 (a×b)×c≠a×(b×c)(\mathbf{a} \times \mathbf{b}) \times \mathbf{c} \neq \mathbf{a} \times (\mathbf{b} \times \mathbf{c})。
  • 非交换性:在某些运算中,交换性不成立。例如,矩阵乘法不满足交换性,即一般情况下 A⋅B≠B⋅AA \cdot B \neq B \cdot A。

总结​

结合性和交换性是描述二元运算的不同性质。结合性关心的是运算的结合次序,而交换性关心的是运算的顺序。它们是独立的性质,一个运算可以满足其中一个、两个都满足或者两个都不满足。希望这个解释能帮助你理解结合性和交换性的区别。如果有更多问题,欢迎继续提问!