Package edu.jas.structure
Interface NoncomRingElem<C extends NoncomRingElem<C>>
-
- Type Parameters:
C
- ring element type
- All Superinterfaces:
AbelianGroupElem<C>
,java.lang.Comparable<C>
,Element<C>
,MonoidElem<C>
,RingElem<C>
,java.io.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.- Author:
- Heinz Kredel
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description C
rightDivide(C a)
Right division.C
rightRemainder(C a)
Right remainder.C[]
twosidedDivide(C a)
Two-sided division.C
twosidedRemainder(C a)
Two-sided remainder.-
Methods inherited from interface edu.jas.structure.AbelianGroupElem
abs, isZERO, negate, signum, subtract, sum
-
Methods inherited from interface edu.jas.structure.Element
compareTo, copy, equals, factory, hashCode, toScript, toScriptFactory
-
Methods inherited from interface edu.jas.structure.MonoidElem
divide, inverse, isONE, isUnit, leftDivide, leftRemainder, multiply, power, quotientRemainder, remainder
-
-
-
-
Method Detail
-
rightDivide
C rightDivide(C a)
Right division.- Specified by:
rightDivide
in interfaceMonoidElem<C extends NoncomRingElem<C>>
- Parameters:
a
- element.- Returns:
- right, with a * right = this
-
rightRemainder
C rightRemainder(C a)
Right remainder.- Specified by:
rightRemainder
in interfaceMonoidElem<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 interfaceMonoidElem<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 interfaceMonoidElem<C extends NoncomRingElem<C>>
- Parameters:
a
- element.- Returns:
- r = this - (a/left) * a * (a/right), where left * a * right = this.
-
-