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 Action[P, G] extends LeftAction[P, G] with RightAction[P, G]

    A semigroup/monoid/group action of G on P is the combination of compatible left and right actions, providing:

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

  4. trait AdditiveAction[P, G] extends Any

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

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

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

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

  9. trait AdditiveSemigroup[A] extends Any

  10. trait AdditiveTorsor[V, R] extends AdditiveAction[V, R]

  11. trait Bool[A] extends Heyting[A]

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

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

    CMonoid represents a commutative monoid.

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

    CRig is a Rig that is commutative under multiplication.

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

    CRing is a Ring that is commutative under multiplication.

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

    CSemigroup represents a commutative semigroup.

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

  17. class DualBool[A] extends Bool[A]

  18. trait Eq[A] extends Any

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

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

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

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

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

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

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

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

  24. trait IsAlgebraic[A] extends IsReal[A]

  25. trait IsIntegral[A] extends IsRational[A]

  26. trait IsRational[A] extends IsAlgebraic[A]

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

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

  28. trait LeftAction[P, G] extends Any

    A (left) semigroup/monoid/group action of G on P is simply the implementation of a method actl(g, p), or g |+|> p, such that:

  29. trait MetricSpace[V, R] extends Any

    This type class models a metric space V.

  30. 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.

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

    A monoid is a semigroup with an identity.

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

  33. trait MultiplicativeAction[P, G] extends Any

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

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

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

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

  38. trait MultiplicativeSemigroup[A] extends Any

  39. trait MultiplicativeTorsor[V, R] extends MultiplicativeAction[V, R]

  40. trait NRoot[A] extends Any

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

  41. 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.

  42. trait Order[A] extends PartialOrder[A]

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

  43. trait PartialOrder[A] extends Eq[A]

    The PartialOrder type class is used to define a partial ordering on some type A.

  44. 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.

  45. trait RightAction[P, G] extends Any

    A (right) semigroup/monoid/group action of G on P is simply the implementation of a method actr(p, g), or p <|+| g, such that:

  46. 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 (*).

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

    A RingAlgebra is a module that is also a Rng.

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

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

  49. trait Semigroup[A] extends Any

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

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

    Semiring is a ring without identities or an inverse.

  51. sealed abstract class Sign extends AnyRef

    A simple ADT representing the Sign of an object.

  52. trait Signed[A] extends Any

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

  53. trait Torsor[V, R] extends Action[V, R]

    A Torsor[V, R] requires an AbGroup[R] and provides Action[V, R], plus a diff operator, <-> in additive notation, such that:

  54. trait Trig[A] extends Any

  55. 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.

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

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

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

Value Members

  1. object AbGroup

  2. object Action

  3. object Additive

  4. object AdditiveTorsor

  5. object Bool

  6. object CMonoid

  7. object CRig

  8. object CRing

  9. object CSemigroup

  10. object CoordinateSpace

  11. object Eq

  12. object EuclideanRing

  13. object Field

  14. object Group

  15. object InnerProductSpace

  16. object IsAlgebraic

  17. object IsIntegral

  18. object IsRational

  19. object IsReal

  20. object LeftAction

  21. object MetricSpace extends MetricSpace0

  22. object Module

  23. object Monoid

  24. object Multiplicative

  25. object MultiplicativeTorsor

  26. object NRoot

  27. object NormedVectorSpace extends NormedVectorSpace0 with NormedVectorSpaceFunctions

  28. object Order

  29. object PartialOrder

  30. object Rig

  31. object RightAction

  32. object Ring

  33. object RingAlgebra

  34. object Rng

  35. object Semigroup

  36. object Semiring

  37. object Sign

  38. object Signed

  39. object Torsor

  40. object Trig

  41. object VectorSpace

  42. package free

  43. package lattice

  44. package partial

Ungrouped