package ring
- Alphabetic
- Public
- All
Type Members
- trait AdditiveCommutativeGroup[A] extends AdditiveGroup[A] with AdditiveCommutativeMonoid[A]
- trait AdditiveCommutativeMonoid[A] extends AdditiveMonoid[A] with AdditiveCommutativeSemigroup[A]
- trait AdditiveCommutativeSemigroup[A] extends AdditiveSemigroup[A]
- trait AdditiveGroup[A] extends AdditiveMonoid[A]
- trait AdditiveGroupFunctions[G[T] <: AdditiveGroup[T]] extends AdditiveMonoidFunctions[G]
- trait AdditiveMonoid[A] extends AdditiveSemigroup[A]
- trait AdditiveMonoidFunctions[M[T] <: AdditiveMonoid[T]] extends AdditiveSemigroupFunctions[M]
- trait AdditiveSemigroup[A] extends Serializable
- trait AdditiveSemigroupFunctions[S[T] <: AdditiveSemigroup[T]] extends AnyRef
-
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 impliesa+a = 0
for all a, anda⋅b = b⋅a
(commutativity of multiplication).Every Boolean ring is equivalent to a Boolean algebra. See
algebra.lattice.BoolFromBoolRing
for details. -
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 impliesa+a = 0
for all a, anda⋅b = b⋅a
(commutativity of multiplication).Every
BoolRng
is equivalent toalgebra.lattice.GenBool
. Seealgebra.lattice.GenBoolFromBoolRng
for details. -
trait
CommutativeRig[A] extends Rig[A] with CommutativeSemiring[A] with MultiplicativeCommutativeMonoid[A]
CommutativeRig is a Rig that is commutative under multiplication.
-
trait
CommutativeRing[A] extends Ring[A] with CommutativeRig[A] with CommutativeRng[A]
CommutativeRing is a Ring that is commutative under multiplication.
-
trait
CommutativeRng[A] extends Rng[A] with CommutativeSemiring[A]
CommutativeRng is a Rng that is commutative under multiplication.
-
trait
CommutativeSemiring[A] extends Semiring[A] with MultiplicativeCommutativeSemigroup[A]
CommutativeSemiring is a Semiring that is commutative under multiplication.
- trait Field[A] extends CommutativeRing[A] with MultiplicativeCommutativeGroup[A]
- trait FieldFunctions[F[T] <: Field[T]] extends RingFunctions[F] with MultiplicativeGroupFunctions[F]
- trait MultiplicativeCommutativeGroup[A] extends MultiplicativeGroup[A] with MultiplicativeCommutativeMonoid[A]
- trait MultiplicativeCommutativeMonoid[A] extends MultiplicativeMonoid[A] with MultiplicativeCommutativeSemigroup[A]
- trait MultiplicativeCommutativeSemigroup[A] extends MultiplicativeSemigroup[A]
- trait MultiplicativeGroup[A] extends MultiplicativeMonoid[A]
- trait MultiplicativeGroupFunctions[G[T] <: MultiplicativeGroup[T]] extends MultiplicativeMonoidFunctions[G]
- trait MultiplicativeMonoid[A] extends MultiplicativeSemigroup[A]
- trait MultiplicativeMonoidFunctions[M[T] <: MultiplicativeMonoid[T]] extends MultiplicativeSemigroupFunctions[M]
- trait MultiplicativeSemigroup[A] extends Serializable
- trait MultiplicativeSemigroupFunctions[S[T] <: MultiplicativeSemigroup[T]] extends AnyRef
-
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."
-
trait
Ring[A] extends Rig[A] with Rng[A]
Ring consists of:
Ring consists of:
- a commutative group for addition (+)
- a monoid for multiplication (*)
Additionally, multiplication must distribute over addition.
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.
- trait RingFunctions[R[T] <: Ring[T]] extends AdditiveGroupFunctions[R] with MultiplicativeMonoidFunctions[R]
-
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."
-
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
- object AdditiveCommutativeGroup extends AdditiveGroupFunctions[AdditiveCommutativeGroup] with Serializable
- object AdditiveCommutativeMonoid extends AdditiveMonoidFunctions[AdditiveCommutativeMonoid] with Serializable
- object AdditiveCommutativeSemigroup extends AdditiveSemigroupFunctions[AdditiveCommutativeSemigroup] with Serializable
- object AdditiveGroup extends AdditiveGroupFunctions[AdditiveGroup] with Serializable
- object AdditiveMonoid extends AdditiveMonoidFunctions[AdditiveMonoid] with Serializable
- object AdditiveSemigroup extends AdditiveSemigroupFunctions[AdditiveSemigroup] with Serializable
- object BoolRing extends RingFunctions[BoolRing] with Serializable
- object BoolRng extends AdditiveGroupFunctions[BoolRng] with MultiplicativeSemigroupFunctions[BoolRng] with Serializable
- object CommutativeRig extends AdditiveMonoidFunctions[CommutativeRig] with MultiplicativeMonoidFunctions[CommutativeRig] with Serializable
- object CommutativeRing extends RingFunctions[CommutativeRing] with Serializable
- object CommutativeRng extends AdditiveGroupFunctions[CommutativeRng] with MultiplicativeSemigroupFunctions[CommutativeRng] with Serializable
- object CommutativeSemiring extends AdditiveMonoidFunctions[CommutativeSemiring] with MultiplicativeSemigroupFunctions[CommutativeSemiring] with Serializable
- object Field extends FieldFunctions[Field] with Serializable
- object MultiplicativeCommutativeGroup extends MultiplicativeGroupFunctions[MultiplicativeCommutativeGroup] with Serializable
- object MultiplicativeCommutativeMonoid extends MultiplicativeMonoidFunctions[MultiplicativeCommutativeMonoid] with Serializable
- object MultiplicativeCommutativeSemigroup extends MultiplicativeSemigroupFunctions[MultiplicativeCommutativeSemigroup] with Serializable
- object MultiplicativeGroup extends MultiplicativeGroupFunctions[MultiplicativeGroup] with Serializable
- object MultiplicativeMonoid extends MultiplicativeMonoidFunctions[MultiplicativeMonoid] with Serializable
- object MultiplicativeSemigroup extends MultiplicativeSemigroupFunctions[MultiplicativeSemigroup] with Serializable
- object Rig extends AdditiveMonoidFunctions[Rig] with MultiplicativeMonoidFunctions[Rig] with Serializable
- object Ring extends RingFunctions[Ring] with Serializable
- object Rng extends AdditiveGroupFunctions[Rng] with MultiplicativeSemigroupFunctions[Rng] with Serializable
- object Semiring extends AdditiveMonoidFunctions[Semiring] with MultiplicativeSemigroupFunctions[Semiring] with Serializable