spire

algebra

package algebra

Visibility
  1. Public
  2. All

Type Members

  1. trait AbGroup[A] extends Group[A] with CMonoid[A]

    An abelian group is a group whose operation is commutative.

  2. trait AdditiveAbGroup[A] extends AdditiveGroup[A] with AdditiveCMonoid[A]

  3. trait AdditiveCMonoid[A] extends AdditiveMonoid[A] with AdditiveCSemigroup[A]

  4. trait AdditiveCSemigroup[A] extends AdditiveSemigroup[A]

  5. trait AdditiveGroup[A] extends AdditiveMonoid[A]

  6. trait AdditiveMonoid[A] extends AdditiveSemigroup[A]

  7. trait AdditiveSemigroup[A] extends AnyRef

  8. trait BooleanAlgebra[A] extends AnyRef

    A boolean algebra is a structure that defines a few basic operations, namely as conjunction (&), disjunction (|), and negation (~).

  9. trait CMonoid[A] extends Monoid[A] with CSemigroup[A]

    CMonoid represents a commutative monoid.

  10. trait CRig[A] extends Rig[A] with MultiplicativeCMonoid[A]

    CRig is a Rig that is commutative under multiplication.

  11. trait CRing[A] extends Ring[A] with MultiplicativeCMonoid[A]

    CRing is a Ring that is commutative under multiplication.

  12. trait CSemigroup[A] extends Semigroup[A]

    CSemigroup represents a commutative semigroup.

  13. trait CoordinateSpace[V, F] extends InnerProductSpace[V, F]

  14. trait Eq[A] extends AnyRef

    A type class used to determine equality between 2 instances of the same type.

  15. trait EuclideanRing[A] extends CRing[A]

  16. trait Field[A] extends EuclideanRing[A] with MultiplicativeAbGroup[A]

  17. trait FieldAlgebra[V, F] extends RingAlgebra[V, F] with VectorSpace[V, F]

    A FieldAlgebra is a vector space that is also a Ring.

  18. trait Group[A] extends Monoid[A]

    A group is a monoid where each element has an inverse.

  19. trait InnerProductSpace[V, F] extends VectorSpace[V, F]

  20. trait IsIntegral[A] extends IsReal[A]

  21. trait IsReal[A] extends Order[A] with Signed[A]

    A simple type class for numeric types that are a subset of the reals.

  22. trait MetricSpace[V, R] extends AnyRef

    This type class models a metric space V.

  23. trait Module[V, R] extends AdditiveAbGroup[V]

    A module generalizes a vector space by requiring its scalar need only form a ring, rather than a field.

  24. trait Monoid[A] extends Semigroup[A]

    A monoid is a semigroup with an identity.

  25. trait MultiplicativeAbGroup[A] extends MultiplicativeGroup[A] with MultiplicativeCMonoid[A]

  26. trait MultiplicativeCMonoid[A] extends MultiplicativeMonoid[A] with MultiplicativeCSemigroup[A]

  27. trait MultiplicativeCSemigroup[A] extends MultiplicativeSemigroup[A]

  28. trait MultiplicativeGroup[A] extends MultiplicativeMonoid[A]

  29. trait MultiplicativeMonoid[A] extends MultiplicativeSemigroup[A]

  30. trait MultiplicativeSemigroup[A] extends AnyRef

  31. trait NRoot[A] extends AnyRef

    This is a type class for types with n-roots.

  32. trait NormedVectorSpace[V, F] extends VectorSpace[V, F] with MetricSpace[V, F]

    A normed vector space is a vector space equipped with a function norm: V => F.

  33. trait NormedVectorSpace0 extends AnyRef

  34. trait NormedVectorSpaceFunctions extends AnyRef

  35. trait Order[A] extends Eq[A]

    The Order type class is used to define a total ordering on some type A.

  36. trait Rig[A] extends Semiring[A] with AdditiveMonoid[A] with MultiplicativeMonoid[A]

    Rig is a ring whose additive structure doesn't have an inverse (ie.

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

    Ring represents a set (A) that is a group over addition (+) and a monoid over multiplication (*).

  38. trait RingAlgebra[V, R] extends Module[V, R] with Rng[V]

    A RingAlgebra is a module that is also a Rng.

  39. trait Rng[A] extends Semiring[A] with AdditiveAbGroup[A]

    Rng is a ring whose multiplicative structure doesn't have an identity (i.

  40. trait Semigroup[A] extends AnyRef

    A semigroup is any set A with an associative operation (op).

  41. trait Semiring[A] extends AdditiveMonoid[A] with MultiplicativeSemigroup[A]

    Semiring is a ring without identities or an inverse.

  42. sealed abstract class Sign extends AnyRef

    A simple ADT representing the Sign of an object.

  43. trait Signed[A] extends AnyRef

    A trait for things that have some notion of sign and the ability to ensure something has a positive sign.

  44. trait Trig[A] extends AnyRef

  45. trait VectorSpace[V, F] extends Module[V, F]

    A vector space is a group V that can be multiplied by scalars in F that lie in a field.

  46. trait ZAlgebra[V] extends RingAlgebra[V, Int] with Ring[V]

    Given any Ring[A] we can construct a RingAlgebra[A, Int].

  47. final case class ZModule[V](vector: Group[V]) extends Module[V, Int] with Product with Serializable

Value Members

  1. object AbGroup

  2. object Additive

  3. object BooleanAlgebra

  4. object CMonoid

  5. object CRig

  6. object CRing

  7. object CSemigroup

  8. object CoordinateSpace

  9. object Eq

  10. object EuclideanRing

  11. object Field

  12. object Group

  13. object InnerProductSpace

  14. object IsReal

  15. object MetricSpace extends MetricSpace0

  16. object Module

  17. object Monoid

  18. object Multiplicative

  19. object NRoot

  20. object NormedVectorSpace extends NormedVectorSpace0 with NormedVectorSpaceFunctions

  21. object Order

  22. object Rig

  23. object Ring

  24. object RingAlgebra

  25. object Rng

  26. object Semigroup

  27. object Semiring

  28. object Sign

  29. object Signed

  30. object Trig

  31. object VectorSpace

Ungrouped