Interface ModulElem<M extends ModulElem<M,C>,C extends RingElem<C>>

Type Parameters:
M - module type
C - scalar type
All Superinterfaces:
AbelianGroupElem<M>, Comparable<M>, Element<M>, Serializable
All Known Implementing Classes:
GenVector

public interface ModulElem<M extends ModulElem<M,C>,C extends RingElem<C>> extends AbelianGroupElem<M>
Module element interface. Defines scalar operations.
  • Method Details

    • scalarMultiply

      M scalarMultiply(C s)
      Scalar multiplication. Multiply this by a scalar.
      Parameters:
      s - scalar
      Returns:
      this * s.
    • linearCombination

      M linearCombination(C a, M b, C s)
      Linear combination.
      Parameters:
      a - scalar
      b - module element
      s - scalar
      Returns:
      a * b + this * s.
    • linearCombination

      M linearCombination(M b, C s)
      Linear combination.
      Parameters:
      b - module element
      s - scalar
      Returns:
      b + this * s.
    • scalarProduct

      C scalarProduct(M b)
      Scalar product. Multiply two vectors to become a scalar.
      Parameters:
      b - module element
      Returns:
      this * b, a scalar.
    • scalarProduct

      M scalarProduct(List<M> b)
      Scalar product. Multiply this vectors by list of vectors to become a vector.
      Parameters:
      b - list of module elements
      Returns:
      this * b, a list of scalars, a module element.