Trait/Object

spire.algebra

RingAssociativeAlgebra

Related Docs: object RingAssociativeAlgebra | package algebra

Permalink

trait RingAssociativeAlgebra[V, R] extends CModule[V, R] with Ring[V]

A RingAssociativeAlgebra is a R-module that is also a Ring. An example is the Gaussian numbers, the quaternions, etc...

The scalar multiplication satisfies, for r in R, and x, y in V:

1. r *: (x * y) = (r *: x) * y = x * (r *: y)

TODO: verify the definition, in particular the requirements for Ring[V] (and not Rng[V])

Linear Supertypes
algebra.ring.Ring[V], algebra.ring.Rng[V], algebra.ring.Rig[V], algebra.ring.MultiplicativeMonoid[V], algebra.ring.Semiring[V], algebra.ring.MultiplicativeSemigroup[V], CModule[V, R], RightModule[V, R], LeftModule[V, R], AdditiveCommutativeGroup[V], AdditiveCommutativeMonoid[V], AdditiveCommutativeSemigroup[V], algebra.ring.AdditiveGroup[V], algebra.ring.AdditiveMonoid[V], algebra.ring.AdditiveSemigroup[V], Serializable, Serializable, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RingAssociativeAlgebra
  2. Ring
  3. Rng
  4. Rig
  5. MultiplicativeMonoid
  6. Semiring
  7. MultiplicativeSemigroup
  8. CModule
  9. RightModule
  10. LeftModule
  11. AdditiveCommutativeGroup
  12. AdditiveCommutativeMonoid
  13. AdditiveCommutativeSemigroup
  14. AdditiveGroup
  15. AdditiveMonoid
  16. AdditiveSemigroup
  17. Serializable
  18. Serializable
  19. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def getClass(): Class[_]

    Permalink
    Definition Classes
    Any
  2. abstract def negate(x: V): V

    Permalink
    Definition Classes
    AdditiveGroup
  3. abstract def one: V

    Permalink
    Definition Classes
    MultiplicativeMonoid
  4. abstract def plus(x: V, y: V): V

    Permalink
    Definition Classes
    AdditiveSemigroup
  5. implicit abstract def scalar: CRing[R]

    Permalink
    Definition Classes
    CModuleRightModuleLeftModule
  6. abstract def times(x: V, y: V): V

    Permalink
    Definition Classes
    MultiplicativeSemigroup
  7. abstract def timesl(r: R, v: V): V

    Permalink
    Definition Classes
    LeftModule
  8. abstract def zero: V

    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[V]

    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 fromBigInt(n: BigInt): V

    Permalink
    Definition Classes
    Ring
  8. def fromInt(n: Int): V

    Permalink
    Definition Classes
    Ring
  9. def hashCode(): Int

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

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

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

    Permalink
    Definition Classes
    AdditiveMonoid
  13. def minus(x: V, y: V): V

    Permalink
    Definition Classes
    AdditiveGroup
  14. def multiplicative: algebra.Monoid[V]

    Permalink
    Definition Classes
    MultiplicativeMonoid → MultiplicativeSemigroup
  15. def positivePow(a: V, n: Int): V

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

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

    Permalink
    Definition Classes
    MultiplicativeMonoid → MultiplicativeSemigroup
  18. def product(as: TraversableOnce[V]): V

    Permalink
    Definition Classes
    MultiplicativeMonoid
  19. def sum(as: TraversableOnce[V]): V

    Permalink
    Definition Classes
    AdditiveMonoid
  20. def sumN(a: V, n: Int): V

    Permalink
    Definition Classes
    AdditiveGroup → AdditiveMonoid → AdditiveSemigroup
  21. def timesr(v: V, r: R): V

    Permalink
    Definition Classes
    CModuleRightModule
  22. def toString(): String

    Permalink
    Definition Classes
    Any
  23. def tryProduct(as: TraversableOnce[V]): Option[V]

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

    Permalink
    Definition Classes
    AdditiveMonoid → AdditiveSemigroup

Inherited from algebra.ring.Ring[V]

Inherited from algebra.ring.Rng[V]

Inherited from algebra.ring.Rig[V]

Inherited from algebra.ring.MultiplicativeMonoid[V]

Inherited from algebra.ring.Semiring[V]

Inherited from algebra.ring.MultiplicativeSemigroup[V]

Inherited from CModule[V, R]

Inherited from RightModule[V, R]

Inherited from LeftModule[V, R]

Inherited from AdditiveCommutativeGroup[V]

Inherited from AdditiveCommutativeMonoid[V]

Inherited from AdditiveCommutativeSemigroup[V]

Inherited from algebra.ring.AdditiveGroup[V]

Inherited from algebra.ring.AdditiveMonoid[V]

Inherited from algebra.ring.AdditiveSemigroup[V]

Inherited from Serializable

Inherited from Serializable

Inherited from Any

Ungrouped