Interface Module<M,R>

All Superinterfaces:
AbelianGroup<M>, AbelianMonoid<M>, Group<M>, Magma<M>, Monoid<M>, Set<M>
All Known Subinterfaces:
Algebra<E,F>, BanachAlgebra<E,F>, BanachSpace<E,S>, CStarAlgebra<E,F>, GradedAlgebra<E,F>, HilbertSpace<E,S>, LieAlgebra<E,S>, Matrix<E>, NonAssociativeAlgebra<E,S>, Vector<E>, VectorSpace<V,F>
All Known Implementing Classes:
DenseMatrix, DenseVector, GenericMatrix, GenericVector, MatrixLieAlgebra, MMapMatrix, NativeRealDoubleMatrix, NativeRealDoubleVector, NativeRealFloatMatrix, RealDoubleMatrix, RealDoubleVector, RealFloatVector, SIMDRealDoubleMatrix, SIMDRealFloatMatrix, SparseMatrix, SparseVector, TiledMatrix, Vector2D, Vector3D, Vector4D, VectorND, VectorSpace2D, VectorSpace3D

public interface Module<M,R> extends AbelianGroup<M>
A module is a generalization of a vector space over a ring instead of a field.

Mathematical Definition

A left R-module M consists of:

  • An abelian group (M, +)
  • A ring R
  • A scalar multiplication R × M → M satisfying:
    • r(x + y) = rx + ry
    • (r + s)x = rx + sx
    • (rs)x = r(sx)
    • 1x = x (if R has unity)

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • getScalarRing

      Ring<R> getScalarRing()
      Returns the ring of scalars for this module.
      Returns:
      the scalar ring
    • scale

      M scale(R scalar, M moduleElement)
      Scalar multiplication (r × m).
      Parameters:
      scalar - the scalar r ∈ R
      moduleElement - the module element m ∈ M
      Returns:
      r × m
    • scale

      default M scale(R scalar)
      Convenience scalar multiplication (r × this).
      Parameters:
      scalar - the scalar r ∈ R
      Returns:
      r × this