[][src]Module maths_traits::algebra::module_like

Traits for structures with an addition and scalar multiplication operation

Implementation

This module builds upon the and behaves in a way similar to the group-like structures, though, at this point in time, there are no additional properties or operations for structs to consider when targeting this module's systems.

Usage

Similarly to the group-like module, there are a number of trait aliases corresponding to a system of module-like algebraic structures that form a heirarchy as represented in the following diagram:

        Affine Space    Additive Abelian Group
             |                   |
             |              Ring Module
             |                   |
             ----Vector Space-----
                      |
                   Algebra

Where:

  • A ring-module is an additive abelian group with a scalar multiplication operation with elements from a particular [Ring]
  • A vector-space is a ring-module with scalars that form a field
  • An algebra is a vector-space with a distributive multiplication operation
  • An affine-space is a set with a subtraction operation producing a vector
    • for more information see the trait-level documentation

Traits

Add

The addition operator +.

AddAssign

The addition assignment operator +=.

BilinearForm

A SesquilinearForm where x•(c*y) = (x•y)*c and σ(x) = x

ComplexSesquilinearForm

A SesquilinearForm where x•(c*y) = (x•y)*̅c and σ(x) = ̅x

Div

The division operator /.

DivAssign

The division assignment operator /=.

Index

Used for indexing operations (container[index]) in immutable contexts.

IndexMut

Used for indexing operations (container[index]) in mutable contexts.

Mul

The multiplication operator *.

MulAssign

The multiplication assignment operator *=.

Neg

The unary negation operator -.

ReflexiveForm

A SesquilinearForm where x•y = 0 implies y•x = 0

SesquilinearForm

A product between two vectors or module elements resulting in a scalar that is semi-linear in both arguments

SkewSesquilinearForm

A SesquilinearForm where σ(x•y) = -y•x

Sub

The subtraction operator -.

SubAssign

The subtraction assignment operator -=.

SymSesquilinearForm

A SesquilinearForm where σ(x•y) = y•x

Trait aliases

AffineSpace

A set of points without an origin

Algebra

A vector space with a distributive multiplication operation

AssociativeAlgebra

An algebra with an associative multiplication operation

AssociativeRingAlgebra

A ring algebra with an associative multiplication operation

HermitianForm

A ComplexSesquilinearForm where x•y = ̅y̅•̅x

RingAlgebra

A ring module with a distributive multiplication operation

RingModule

An abelian additive group with a distributive scalar multiplication with a unital ring

SkewHermitianForm

A ComplexSesquilinearForm where x•y = -̅y̅•̅x

SkewSymmetricForm

A BilinearForm where x•y = -y•x

SymmetricForm

A BilinearForm where x•y = y•x

UnitalAlgebra

An algebra with a multiplicative identity

UnitalRingAlgebra

A ring algebra with a multiplicative identity

VectorSpace

An abelian additive group with a distributive scalar multiplication with a field