Interface NoncomRingElem<C extends NoncomRingElem<C>>

Type Parameters:
C - ring element type
All Superinterfaces:
AbelianGroupElem<C>, Comparable<C>, Element<C>, MonoidElem<C>, RingElem<C>, Serializable
All Known Implementing Classes:
WordResidue

public interface NoncomRingElem<C extends NoncomRingElem<C>> extends RingElem<C>
Non-commutative ring element interface. Defines right divide and right remainder.
  • Method Details

    • rightDivide

      C rightDivide(C a)
      Right division.
      Specified by:
      rightDivide in interface MonoidElem<C extends NoncomRingElem<C>>
      Parameters:
      a - element.
      Returns:
      right, with a * right = this
    • rightRemainder

      C rightRemainder(C a)
      Right remainder.
      Specified by:
      rightRemainder in interface MonoidElem<C extends NoncomRingElem<C>>
      Parameters:
      a - element.
      Returns:
      r = this - a * (a/right), where a * right = this.
    • twosidedDivide

      C[] twosidedDivide(C a)
      Two-sided division.
      Specified by:
      twosidedDivide in interface MonoidElem<C extends NoncomRingElem<C>>
      Parameters:
      a - element.
      Returns:
      [left,right], with left * a * right = this
    • twosidedRemainder

      C twosidedRemainder(C a)
      Two-sided remainder.
      Specified by:
      twosidedRemainder in interface MonoidElem<C extends NoncomRingElem<C>>
      Parameters:
      a - element.
      Returns:
      r = this - (a/left) * a * (a/right), where left * a * right = this.