CommutativeGroup
trait CommutativeGroup[a: Type] with Group[a], CommutativeMonoid[a]SourceA trait for types that form a commutative group (abelian group)
i.e. groups where the combine function is commutative.
The default instances for number define the additive inverse in the real numbers.
Instances
instance CommutativeGroup[Unit]Sourceinstance CommutativeGroup[Int8]Sourceinstance CommutativeGroup[Int16]Sourceinstance CommutativeGroup[Int32]Sourceinstance CommutativeGroup[Int64]Sourceinstance CommutativeGroup[BigInt]Sourceinstance CommutativeGroup[Float32]Sourceinstance CommutativeGroup[Float64]Sourceinstance CommutativeGroup[BigDecimal]Sourceinstance CommutativeGroup[(a1, a2)] with CommutativeGroup[a1], CommutativeGroup[a2]Sourceinstance CommutativeGroup[(a1, a2, a3)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3]Sourceinstance CommutativeGroup[(a1, a2, a3, a4)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4]Sourceinstance CommutativeGroup[(a1, a2, a3, a4, a5)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4], CommutativeGroup[a5]Sourceinstance CommutativeGroup[(a1, a2, a3, a4, a5, a6)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4], CommutativeGroup[a5], CommutativeGroup[a6]Sourceinstance CommutativeGroup[(a1, a2, a3, a4, a5, a6, a7)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4], CommutativeGroup[a5], CommutativeGroup[a6], CommutativeGroup[a7]Sourceinstance CommutativeGroup[(a1, a2, a3, a4, a5, a6, a7, a8)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4], CommutativeGroup[a5], CommutativeGroup[a6], CommutativeGroup[a7], CommutativeGroup[a8]Sourceinstance CommutativeGroup[(a1, a2, a3, a4, a5, a6, a7, a8, a9)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4], CommutativeGroup[a5], CommutativeGroup[a6], CommutativeGroup[a7], CommutativeGroup[a8], CommutativeGroup[a9]Sourceinstance CommutativeGroup[(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4], CommutativeGroup[a5], CommutativeGroup[a6], CommutativeGroup[a7], CommutativeGroup[a8], CommutativeGroup[a9], CommutativeGroup[a10]Source