Inherited from algebra.ring.Field[A]
Inherited from MultiplicativeCommutativeGroup[A]
Inherited from algebra.ring.MultiplicativeGroup[A]
Inherited from CommutativeRing[A]
Inherited from CommutativeRng[A]
Inherited from CommutativeRig[A]
Inherited from MultiplicativeCommutativeMonoid[A]
Inherited from CommutativeSemiring[A]
Inherited from MultiplicativeCommutativeSemigroup[A]
Inherited from algebra.ring.Ring[A]
Inherited from algebra.ring.Rng[A]
Inherited from AdditiveCommutativeGroup[A]
Inherited from algebra.ring.AdditiveGroup[A]
Inherited from algebra.ring.Rig[A]
Inherited from algebra.ring.MultiplicativeMonoid[A]
Inherited from algebra.ring.Semiring[A]
Inherited from algebra.ring.MultiplicativeSemigroup[A]
Inherited from AdditiveCommutativeMonoid[A]
Inherited from AdditiveCommutativeSemigroup[A]
Inherited from algebra.ring.AdditiveMonoid[A]
Inherited from algebra.ring.AdditiveSemigroup[A]
Inherited from Serializable
Inherited from Serializable
Inherited from Any
Field type class. While algebra already provides one, we provide one in Spire that integrates with the commutative ring hierarchy, in particular
GCDRing
andEuclideanRing
.On a field, all nonzero elements are invertible, so the remainder of the division is always 0. The Euclidean function can take an arbitrary value on nonzero elements (it is undefined for zero); for compatibility with the degree of polynomials, we use the constant 0.
The GCD and LCM are defined up to a unit; on a field, it means that either the GCD or LCM can be fixed arbitrarily. Some conventions with consistent defaults are provided in the spire.algebra.Field companion object.