trait Module[X, S] extends MultiplicativeAction[X, S] with AdditiveCGroup[X]
Represents a module over a ring.
A module over a ring is an additive Abelian group (poly.algebra.AdditiveCGroup) on vectors that supports a linear distributive scaling function. It is a generalization of a vector space because the scalars need only be a ring (poly.algebra.Ring).
An instance of this typeclass should satisfy the following axioms:
- S is a ring.
- Additive associativity: \(\forall a, b, c \in X, (a+b)+c = a+(b+c)\).
- Additive identity: ∀a∈X, a + 0 == 0 + a == a.
- Additive invertibility: \(\forall a\in X, \exists -a \in X, a + (-a) == (-a) + a == 0\).
- Additive commutativity: ∀a, b∈X, a + b == b + a.
- Compatibility: \(\forall k, l \in S, \forall a \in X, k(la) = (kl)a \).
- Scaling identity: \(\forall a\in X, 1a = a\).
- Distributivity of scaling w.r.t. vector addition: \(\forall k\in S, \forall a, b\in X, k(a+b) == ka + kb \).
- Distributivity of scaling w.r.t. scalar addition: \(\forall k, l \in S, \forall a\in X, (k+l)a = ka + la. \).
- Self Type
- Module[X, S]
- Alphabetic
- By Inheritance
- Module
- AdditiveCGroup
- AdditiveCMonoid
- AdditiveCSemigroup
- AdditiveGroup
- AdditiveMonoid
- HasZero
- AdditiveSemigroup
- MultiplicativeAction
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
add(x: X, y: X): X
The
+
operation of this semigroup.The
+
operation of this semigroup.- Definition Classes
- AdditiveSemigroup
-
implicit abstract
def
scalarRing: Ring[S]
Returns the ring structure endowed on the type of scalars.
-
abstract
def
scale(x: X, k: S): X
Scales a vector by a scalar.
Scales a vector by a scalar.
- Definition Classes
- Module → MultiplicativeAction
-
abstract
def
zero: X
The
0
element (additive identity) of this type.The
0
element (additive identity) of this type.- Definition Classes
- HasZero
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
asActionWithScale: Action[X, S]
- Definition Classes
- MultiplicativeAction
-
def
asGroupWithAdd: CGroup[X]
Casts this object to a symbol-agnostic group with the group operation
+
.Casts this object to a symbol-agnostic group with the group operation
+
.- Definition Classes
- AdditiveCGroup → AdditiveGroup
-
def
asIdentityWithZero: HasIdentity[X]
Casts this object to a
HasIdentity
with identity0
.Casts this object to a
HasIdentity
with identity0
.- Definition Classes
- HasZero
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
asMonoidWithAdd: CMonoid[X]
Casts this object as a symbol-agnostic monoid with the operation
+
.Casts this object as a symbol-agnostic monoid with the operation
+
.- Definition Classes
- AdditiveCMonoid → AdditiveMonoid
-
def
asSemigroupWithAdd: CSemigroup[X]
Casts this structure as a symbol-agnostic semigroup.
Casts this structure as a symbol-agnostic semigroup.
- Definition Classes
- AdditiveCSemigroup → AdditiveSemigroup
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
dual: Module[(X) ⇒ S, S]
Returns the dual space of this module.
Returns the dual space of this module.
- Since
0.2.7
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
neg(x: X): X
Returns the negation (additive inverse) of an element.
Returns the negation (additive inverse) of an element.
- Definition Classes
- Module → AdditiveGroup
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
sub(x: X, y: X): X
Returns the difference of two elements.
Returns the difference of two elements.
- Definition Classes
- AdditiveGroup
-
def
sumN(x: X, n: Int): X
Computes the sum x + x + ··· + x with x repeated for n times.
Computes the sum x + x + ··· + x with x repeated for n times.
- Definition Classes
- AdditiveMonoid → AdditiveSemigroup
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )