在抽象代数(abstract algebra)中,同构(isomorphism)指的是一个保持结构的双射(bijection)。在更一般的范畴论语言中,同构指的是一个态射,且存在另一个态射,使得两者的复合是一个恒等态射。
正式的表述是:同构是在数学对象之间定义的一类映射,它能揭示出在这些对象的属性或者操作之间存在的关系。若两个数学结构之间存在同构映射,那么这两个结构叫做是同构的。一般来说,如果忽略掉同构的对象的属性或操作的具体定义,单从结构上讲,同构的对象是完全等价的。
假设M,M′是两个乘集,也就是说M和M′是两个各具有一个闭合的结合法(一般写成乘法)的代数系,σ是M射到M′的双射,并且任意两个元的乘积的像是这两个元的像的乘积,即对于M中任意两个元a,b,满足σ(a·b)=σ(a)·σ(b);也就是说,当a→σ(a),b→σ(b)时,a·b→σ(a·b),那么这映射σ就叫做M到M′上的同构。又称M与M′同构,记作M~M′。
引入同构的目的在数学中研究同构的主要目的是为了把数学理论应用于不同的领域。如果两个结构是同构的,那么其上的对象会有相似的属性和操作,对某个结构成立的命题在另一个结构上也就成立。因此,如果在某个数学领域发现了一个对象结构同构于某个结构,且对于该结构已经证明了很多定理,那么这些定理马上就可以应用到该领域。如果某些数学方法可以用于该结构,那么这些方法也可以用于新领域的结构。这就使得理解和处理该对象结构变得容易,并往往可以让数学家对该领域有更深刻的理解。