p

algebra

# ring 

Ordering
1. Alphabetic
Visibility
1. Public
2. All

### Type Members

10. trait BoolRing[A] extends BoolRng[A] with CommutativeRing[A]

A Boolean ring is a ring whose multiplication is idempotent, that is `a⋅a = a` for all elements a.

A Boolean ring is a ring whose multiplication is idempotent, that is `a⋅a = a` for all elements a. This property also implies `a+a = 0` for all a, and `a⋅b = b⋅a` (commutativity of multiplication).

Every Boolean ring is equivalent to a Boolean algebra. See `algebra.lattice.BoolFromBoolRing` for details.

11. trait BoolRng[A] extends CommutativeRng[A]

A Boolean rng is a rng whose multiplication is idempotent, that is `a⋅a = a` for all elements a.

A Boolean rng is a rng whose multiplication is idempotent, that is `a⋅a = a` for all elements a. This property also implies `a+a = 0` for all a, and `a⋅b = b⋅a` (commutativity of multiplication).

Every `BoolRng` is equivalent to `algebra.lattice.GenBool`. See `algebra.lattice.GenBoolFromBoolRng` for details.

12. trait CommutativeRig[A] extends Rig[A] with CommutativeSemiring[A] with MultiplicativeCommutativeMonoid[A]

CommutativeRig is a Rig that is commutative under multiplication.

13. trait CommutativeRing[A] extends Ring[A] with CommutativeRig[A] with CommutativeRng[A]

CommutativeRing is a Ring that is commutative under multiplication.

14. trait CommutativeRng[A] extends Rng[A] with CommutativeSemiring[A]

CommutativeRng is a Rng that is commutative under multiplication.

15. trait CommutativeSemiring[A] extends Semiring[A] with MultiplicativeCommutativeSemigroup[A]

CommutativeSemiring is a Semiring that is commutative under multiplication.

16. trait Field[A] extends CommutativeRing[A] with MultiplicativeCommutativeGroup[A]
17. trait FieldFunctions[F[T] <: Field[T]] extends RingFunctions[F] with MultiplicativeGroupFunctions[F]
18. trait MultiplicativeCommutativeGroup[A] extends MultiplicativeGroup[A] with MultiplicativeCommutativeMonoid[A]
19. trait MultiplicativeCommutativeMonoid[A] extends MultiplicativeMonoid[A] with MultiplicativeCommutativeSemigroup[A]
20. trait
21. trait MultiplicativeGroup[A] extends MultiplicativeMonoid[A]
22. trait MultiplicativeGroupFunctions[G[T] <: MultiplicativeGroup[T]] extends MultiplicativeMonoidFunctions[G]
23. trait MultiplicativeMonoid[A] extends MultiplicativeSemigroup[A]
24. trait MultiplicativeMonoidFunctions[M[T] <: MultiplicativeMonoid[T]] extends MultiplicativeSemigroupFunctions[M]
25. trait MultiplicativeSemigroup[A] extends Serializable
26. trait MultiplicativeSemigroupFunctions[S[T] <: MultiplicativeSemigroup[T]] extends AnyRef
27. trait Rig[A] extends Semiring[A] with MultiplicativeMonoid[A]

Rig consists of:

Rig consists of:

• a commutative monoid for addition (+)
• a monoid for multiplication (*)

Alternately, a Rig can be thought of as a ring without multiplicative or additive inverses (or as a semiring with a multiplicative identity).

Mnemonic: "Rig is a Ring without 'N'egation."

28. trait Ring[A] extends Rig[A] with Rng[A]

Ring consists of:

Ring consists of:

• a commutative group for addition (+)
• a monoid for multiplication (*)

Ring implements some methods (for example fromInt) in terms of other more fundamental methods (zero, one and plus). Where possible, these methods should be overridden by more efficient implementations.

29. trait RingFunctions[R[T] <: Ring[T]] extends AdditiveGroupFunctions[R] with MultiplicativeMonoidFunctions[R]
30. trait Rng[A] extends Semiring[A] with AdditiveCommutativeGroup[A]

Rng (pronounced "Rung") consists of:

Rng (pronounced "Rung") consists of:

• a commutative group for addition (+)
• a semigroup for multiplication (*)

Alternately, a Rng can be thought of as a ring without a multiplicative identity (or as a semiring with an additive inverse).

Mnemonic: "Rng is a Ring without multiplicative 'I'dentity."

31. trait Semiring[A] extends AdditiveCommutativeMonoid[A] with MultiplicativeSemigroup[A]

Semiring consists of:

Semiring consists of:

• a commutative monoid for addition (+)
• a semigroup for multiplication (*)

Alternately, a Semiring can be thought of as a ring without a multiplicative identity or an additive inverse.

A Semiring with an additive inverse (-) is a Rng. A Semiring with a multiplicative identity (1) is a Rig. A Semiring with both of those is a Ring.

### Value Members

1. object
2. object
3. object
6. object
7. object BoolRing extends RingFunctions[BoolRing] with Serializable
8. object BoolRng extends AdditiveGroupFunctions[BoolRng] with MultiplicativeSemigroupFunctions[BoolRng] with Serializable
9. object
10. object CommutativeRing extends RingFunctions[CommutativeRing] with Serializable
11. object
12. object
13. object Field extends FieldFunctions[Field] with Serializable
14. object
15. object
16. object
17. object
18. object
19. object
20. object Rig extends AdditiveMonoidFunctions[Rig] with MultiplicativeMonoidFunctions[Rig] with Serializable
21. object Ring extends RingFunctions[Ring] with Serializable
22. object Rng extends AdditiveGroupFunctions[Rng] with MultiplicativeSemigroupFunctions[Rng] with Serializable
23. object Semiring extends AdditiveMonoidFunctions[Semiring] with MultiplicativeSemigroupFunctions[Semiring] with Serializable