
幂等
幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。
在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函式,或幂等方法,是指可以使用相同参数重複执行,并能获得相同结果的函式。这些函式不会影响系统状态,也不用担心重複执行会对系统造成改变。例如,“setTrue()”函式就是一个幂等函式,无论多次执行,其结果都是一样的.更複杂的操作幂等保证是利用唯一交易号(流水号)实现.
基本介绍
- 中文名:幂等
- 外文名:idempotent
- 属性:一个数学与计算机学概念
- 常见于:抽象代数
定义
在数学里,幂等有两种主要的定义。
在某二元运算下,幂等元素是指被自己重複运算(或对于函式是为複合)的结果等于它自己的元素。例如,乘法下仅有两个幂等实数,为0和1。
某一元运算为幂等的时,其作用在任一元素两次后会和其作用一次的结果相同。例如,高斯符号便是幂等的。
一元运算的定义是二元运算定义的特例
二元运算
设S为一具有作用于其自身的二元运算的集合,则S的元素s称为幂等的(相对于*)当
s *s = s.
特别的是,任一单位元都是幂等的。若S的所有元素都是幂等的话,则其二元运算*被称做是幂等的。例如,联集和交集的运算便都是幂等的。
一元运算
设f为一由X映射至X的一元运算,则f为幂等的,当对于所有在X内的x,
f(f(x)) = f(x).
特别的是,恆等函式一定是幂等的,且任一常数函式也都是幂等的。
注意当考虑一由X至X的所有函式所组成的集合S时。在f在一元运算下为幂等的若且唯若在二元运算下,f相对于其複合运算(标记为o)会是幂等的。这可以写成f o f = f。
一般例子
函式
如上述所说,恆等函式和常数函式总会是幂等的。较不当然的例子有实数或複数引数的绝对值函式,以及实数引数的高斯符号。
将一拓扑空间X内各子集U映射至U闭包的函式在X的幂集上是幂等的。这是闭包运算元的一个例子;所有个闭包运算元都会是幂等函式。
环的幂等元素
定义上,环的幂等元素为一相对于环乘法为幂等的元素。可以定义一于环幂等上的偏序:若e和f为幂等的,当ef= fe= e时,标记为e≤ f。依其顺序,0会是最小幂等元素,而1为最大幂等元素。
若e在环R内为幂等的,则eRe一样会是个乘法单位元为e的环。
两个幂等元素e和f被称为正交的当ef=fe=0。在此一情形下,e+f也是幂等的,且有e ≤ e + f和f ≤ e + f。
若e在环R内为幂等的,则f = 1 − e也会是幂等的,且e和f正交。
一在R内的幂等元素e称为核心的,若对所有在R内的x,ex=xe。在此情形之下,Re会是个乘法单位元为e的环。R的核心幂等元素和R的分解为环的直和有很直接的关接。若R为环R1、...、Rn的直和,则环Ri的单位元在R内为核心幂等的,相互正交,且其总和为1。相反地,给出R内给相互正交且总和为1的核心幂等元素e1、...、en,则R会是环Re1、...、Ren的直和。所有较有趣的是,每一于R内的核心幂等e都会给出一R的分解-Re和R(1 − e)的直和。
任一不等于0和1的幂等元素都是零因子(因为e(1 − e) = 0)。这表示了整环及除环都不会存在此种幂等元素。局部环也没有此种幂等元素,但理由有点不同。唯一包含于一环的雅各布森根内的幂等元素只有0。共四元数环内会有一幂等元素组成的悬链曲面。
所有元素都幂等的环称做布尔环。可证明在每一此类环内,乘法都是可交换的,且每一元素都有其各自的加法逆元。
其他例子
幂等运算也可以在布林代数内找到。逻辑和与逻辑或便都是幂等运算。
在线性代数里,投射是幂等的。亦即,每一将向量投射至一子空间V(不需正交)上的线性运算元,都是幂等的。
一幂等半环为其加法(非乘法)为幂等的半环。