spire

algebra

package algebra

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. algebra
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. type AbGroup[A] = CommutativeGroup[A]

  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. type AdditiveAbGroup[A] = AdditiveCommutativeGroup[A]

  4. trait AdditiveAction[P, G] extends Any

  5. type AdditiveCMonoid[A] = AdditiveCommutativeMonoid[A]

  6. type AdditiveCSemigroup[A] = AdditiveCommutativeSemigroup[A]

  7. type AdditiveGroup[A] = algebra.ring.AdditiveGroup[A]

  8. type AdditiveMonoid[A] = algebra.ring.AdditiveMonoid[A]

  9. type AdditiveSemigroup[A] = algebra.ring.AdditiveSemigroup[A]

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

  11. type AlgebraField[A] = algebra.ring.Field[A]

  12. type Bool[A] = algebra.lattice.Bool[A]

  13. type CMonoid[A] = CommutativeMonoid[A]

  14. type CRig[A] = CommutativeRig[A]

  15. type CRing[A] = CommutativeRing[A]

  16. type CRng[A] = CommutativeRng[A]

  17. type CSemigroup[A] = CommutativeSemigroup[A]

  18. type CSemiring[A] = CommutativeSemiring[A]

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

  20. trait DivisionRing[A] extends Ring[A] with MultiplicativeGroup[A]

  21. type Eq[A] = cats.kernel.Eq[A]

  22. trait EuclideanRing[A] extends GCDRing[A]

    EuclideanRing implements a Euclidean domain.

  23. trait EuclideanRingFunctions[R[T] <: EuclideanRing[T]] extends GCDRingFunctions[R]

  24. trait Field[A] extends AlgebraField[A] with EuclideanRing[A]

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

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

  26. trait GCDRing[A] extends CRing[A]

    GCDRing implements a GCD ring.

  27. trait GCDRingFunctions[R[T] <: GCDRing[T]] extends RingFunctions[R]

  28. type Group[A] = cats.kernel.Group[A]

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

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

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

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

  33. trait IsReal[A] extends Signed[A]

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

  34. 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:

  35. trait MetricSpace[V, R] extends Any

    This type class models a metric space V.

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

  37. type Monoid[A] = cats.kernel.Monoid[A]

  38. type MultiplicativeAbGroup[A] = MultiplicativeCommutativeGroup[A]

  39. trait MultiplicativeAction[P, G] extends Any

  40. type MultiplicativeCMonoid[A] = MultiplicativeCommutativeMonoid[A]

  41. type MultiplicativeCSemigroup[A] = MultiplicativeCommutativeSemigroup[A]

  42. type MultiplicativeGroup[A] = algebra.ring.MultiplicativeGroup[A]

  43. type MultiplicativeMonoid[A] = algebra.ring.MultiplicativeMonoid[A]

  44. type MultiplicativeSemigroup[A] = algebra.ring.MultiplicativeSemigroup[A]

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

  46. trait NRoot[A] extends Any

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

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

  48. type Order[A] = cats.kernel.Order[A]

  49. type PartialOrder[A] = cats.kernel.PartialOrder[A]

  50. type Rig[A] = algebra.ring.Rig[A]

  51. 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:

  52. type Ring[A] = algebra.ring.Ring[A]

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

    A RingAlgebra is a module that is also a Rng.

  54. type Rng[A] = algebra.ring.Rng[A]

  55. type Semigroup[A] = cats.kernel.Semigroup[A]

  56. type Semiring[A] = algebra.ring.Semiring[A]

  57. sealed abstract class Sign extends AnyRef

    A simple ADT representing the Sign of an object.

  58. trait Signed[A] extends Order[A]

    A trait for linearly ordered additive commutative monoid.

  59. trait SignedAdditiveAbGroup[A] extends SignedAdditiveCMonoid[A] with AdditiveAbGroup[A]

  60. trait SignedAdditiveCMonoid[A] extends Signed[A] with AdditiveCMonoid[A]

  61. 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:

  62. trait Trig[A] extends Any

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

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

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

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

Value Members

  1. val AbGroup: CommutativeGroup.type

  2. object Action

  3. object Additive

  4. val AdditiveAbGroup: AdditiveCommutativeGroup.type

  5. val AdditiveCMonoid: AdditiveCommutativeMonoid.type

  6. val AdditiveCSemigroup: AdditiveCommutativeSemigroup.type

  7. val AdditiveGroup: algebra.ring.AdditiveGroup.type

  8. val AdditiveMonoid: algebra.ring.AdditiveMonoid.type

  9. val AdditiveSemigroup: algebra.ring.AdditiveSemigroup.type

  10. object AdditiveTorsor

  11. val AlgebraField: algebra.ring.Field.type

  12. val Bool: algebra.lattice.Bool.type

  13. val CMonoid: CommutativeMonoid.type

  14. val CRig: CommutativeRig.type

  15. val CRing: CommutativeRing.type

  16. val CRng: CommutativeRng.type

  17. val CSemigroup: CommutativeSemigroup.type

  18. val CSemiring: CommutativeSemiring.type

  19. object CoordinateSpace extends Serializable

  20. object DivisionRing extends Serializable

  21. val Eq: cats.kernel.Eq.type

  22. object EuclideanRing extends EuclideanRingFunctions[EuclideanRing] with Serializable

  23. object Field extends FieldFunctions[Field] with EuclideanRingFunctions[Field] with Serializable

  24. object GCDRing extends GCDRingFunctions[GCDRing] with Serializable

  25. val Group: cats.kernel.Group.type

  26. object InnerProductSpace extends Serializable

  27. object IsAlgebraic extends Serializable

  28. object IsIntegral extends Serializable

  29. object IsRational extends Serializable

  30. object IsReal extends Serializable

  31. object LeftAction

  32. object MetricSpace extends MetricSpace0

  33. object Module extends Serializable

  34. val Monoid: cats.kernel.Monoid.type

  35. object Multiplicative

  36. val MultiplicativeAbGroup: MultiplicativeCommutativeGroup.type

  37. val MultiplicativeCMonoid: MultiplicativeCommutativeMonoid.type

  38. val MultiplicativeCSemigroup: MultiplicativeCommutativeSemigroup.type

  39. val MultiplicativeGroup: algebra.ring.MultiplicativeGroup.type

  40. val MultiplicativeMonoid: algebra.ring.MultiplicativeMonoid.type

  41. val MultiplicativeSemigroup: algebra.ring.MultiplicativeSemigroup.type

  42. object MultiplicativeTorsor

  43. object NRoot

  44. object NormedVectorSpace extends NormedVectorSpace0 with NormedVectorSpaceFunctions with Serializable

  45. val Order: cats.kernel.Order.type

  46. val PartialOrder: cats.kernel.PartialOrder.type

  47. val Rig: algebra.ring.Rig.type

  48. object RightAction

  49. val Ring: algebra.ring.Ring.type

  50. object RingAlgebra extends Serializable

  51. val Rng: algebra.ring.Rng.type

  52. val Semigroup: cats.kernel.Semigroup.type

  53. val Semiring: algebra.ring.Semiring.type

  54. object Sign

  55. object Signed extends Serializable

  56. object Torsor

  57. object Trig

  58. object VectorSpace extends Serializable

  59. package free

  60. package partial

Inherited from AnyRef

Inherited from Any

Ungrouped