Trait

spire.algebra.Field

FieldOfFractionsGCD

Related Doc: package Field

Permalink

trait FieldOfFractionsGCD[A, R] extends Field[A]

Field defined as a field of fractions with a default implementation of GCD/LCM such that - gcd(a/b, c/d) = gcd(a, c) / lcm(b, d) - lcm(a/b, c/d) = lcm(a, c) / gcd(b, d) which corresponds to the convention of the GCD domains of SageMath; on rational numbers, it "yields the unique extension of gcd from integers to rationals presuming the natural extension of the divisibility relation from integers to rationals", see http://math.stackexchange.com/a/151431

Linear Supertypes
Field[A], EuclideanRing[A], GCDRing[A], algebra.ring.Field[A], MultiplicativeCommutativeGroup[A], algebra.ring.MultiplicativeGroup[A], CommutativeRing[A], CommutativeRng[A], CommutativeRig[A], MultiplicativeCommutativeMonoid[A], CommutativeSemiring[A], MultiplicativeCommutativeSemigroup[A], algebra.ring.Ring[A], algebra.ring.Rng[A], AdditiveCommutativeGroup[A], algebra.ring.AdditiveGroup[A], algebra.ring.Rig[A], algebra.ring.MultiplicativeMonoid[A], algebra.ring.Semiring[A], algebra.ring.MultiplicativeSemigroup[A], AdditiveCommutativeMonoid[A], AdditiveCommutativeSemigroup[A], algebra.ring.AdditiveMonoid[A], algebra.ring.AdditiveSemigroup[A], Serializable, Serializable, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FieldOfFractionsGCD
  2. Field
  3. EuclideanRing
  4. GCDRing
  5. Field
  6. MultiplicativeCommutativeGroup
  7. MultiplicativeGroup
  8. CommutativeRing
  9. CommutativeRng
  10. CommutativeRig
  11. MultiplicativeCommutativeMonoid
  12. CommutativeSemiring
  13. MultiplicativeCommutativeSemigroup
  14. Ring
  15. Rng
  16. AdditiveCommutativeGroup
  17. AdditiveGroup
  18. Rig
  19. MultiplicativeMonoid
  20. Semiring
  21. MultiplicativeSemigroup
  22. AdditiveCommutativeMonoid
  23. AdditiveCommutativeSemigroup
  24. AdditiveMonoid
  25. AdditiveSemigroup
  26. Serializable
  27. Serializable
  28. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def denominator(a: A): R

    Permalink
  2. abstract def div(x: A, y: A): A

    Permalink
    Definition Classes
    MultiplicativeGroup
  3. implicit abstract def eqR: Eq[R]

    Permalink
  4. abstract def fraction(num: R, den: R): A

    Permalink
  5. abstract def getClass(): Class[_]

    Permalink
    Definition Classes
    Any
  6. abstract def negate(x: A): A

    Permalink
    Definition Classes
    AdditiveGroup
  7. abstract def numerator(a: A): R

    Permalink
  8. abstract def one: A

    Permalink
    Definition Classes
    MultiplicativeMonoid
  9. abstract def plus(x: A, y: A): A

    Permalink
    Definition Classes
    AdditiveSemigroup
  10. implicit abstract def ringR: GCDRing[R]

    Permalink
  11. abstract def times(x: A, y: A): A

    Permalink
    Definition Classes
    MultiplicativeSemigroup
  12. abstract def zero: A

    Permalink
    Definition Classes
    AdditiveMonoid

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  4. def additive: CommutativeGroup[A]

    Permalink
    Definition Classes
    AdditiveCommutativeGroup → AdditiveCommutativeMonoid → AdditiveCommutativeSemigroup → AdditiveGroup → AdditiveMonoid → AdditiveSemigroup
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  7. def euclideanFunction(a: A): BigInt

    Permalink
    Definition Classes
    FieldEuclideanRing
  8. def fromBigInt(n: BigInt): A

    Permalink
    Definition Classes
    Ring
  9. def fromDouble(a: Double): A

    Permalink
    Definition Classes
    Field
  10. def fromInt(n: Int): A

    Permalink
    Definition Classes
    Ring
  11. def gcd(x: A, y: A)(implicit ev: Eq[A]): A

    Permalink
    Definition Classes
    FieldOfFractionsGCDGCDRing
  12. def hashCode(): Int

    Permalink
    Definition Classes
    Any
  13. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  14. def isOne(a: A)(implicit ev: algebra.Eq[A]): Boolean

    Permalink
    Definition Classes
    MultiplicativeMonoid
  15. def isZero(a: A)(implicit ev: algebra.Eq[A]): Boolean

    Permalink
    Definition Classes
    AdditiveMonoid
  16. def lcm(x: A, y: A)(implicit ev: Eq[A]): A

    Permalink
    Definition Classes
    FieldOfFractionsGCDGCDRing
  17. def minus(x: A, y: A): A

    Permalink
    Definition Classes
    AdditiveGroup
  18. def mod(a: A, b: A): A

    Permalink
    Definition Classes
    FieldEuclideanRing
  19. def multiplicative: CommutativeGroup[A]

    Permalink
    Definition Classes
    MultiplicativeCommutativeGroup → MultiplicativeCommutativeMonoid → MultiplicativeCommutativeSemigroup → MultiplicativeGroup → MultiplicativeMonoid → MultiplicativeSemigroup
  20. def positivePow(a: A, n: Int): A

    Permalink
    Attributes
    protected[this]
    Definition Classes
    MultiplicativeSemigroup
  21. def positiveSumN(a: A, n: Int): A

    Permalink
    Attributes
    protected[this]
    Definition Classes
    AdditiveSemigroup
  22. def pow(a: A, n: Int): A

    Permalink
    Definition Classes
    MultiplicativeGroup → MultiplicativeMonoid → MultiplicativeSemigroup
  23. def product(as: TraversableOnce[A]): A

    Permalink
    Definition Classes
    MultiplicativeMonoid
  24. def quot(a: A, b: A): A

    Permalink
    Definition Classes
    FieldEuclideanRing
  25. def quotmod(a: A, b: A): (A, A)

    Permalink
    Definition Classes
    FieldEuclideanRing
  26. def reciprocal(x: A): A

    Permalink
    Definition Classes
    MultiplicativeGroup
  27. def sum(as: TraversableOnce[A]): A

    Permalink
    Definition Classes
    AdditiveMonoid
  28. def sumN(a: A, n: Int): A

    Permalink
    Definition Classes
    AdditiveGroup → AdditiveMonoid → AdditiveSemigroup
  29. def toString(): String

    Permalink
    Definition Classes
    Any
  30. def tryProduct(as: TraversableOnce[A]): Option[A]

    Permalink
    Definition Classes
    MultiplicativeMonoid → MultiplicativeSemigroup
  31. def trySum(as: TraversableOnce[A]): Option[A]

    Permalink
    Definition Classes
    AdditiveMonoid → AdditiveSemigroup

Inherited from Field[A]

Inherited from EuclideanRing[A]

Inherited from GCDRing[A]

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

Ungrouped