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

  • Type Parameters:
    M - module type
    C - scalar type
    All Superinterfaces:
    AbelianGroupElem<M>, java.lang.Comparable<M>, Element<M>, java.io.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.
    Author:
    Heinz Kredel
    • Method Detail

      • 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​(java.util.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.