Package edu.jas.structure
Interface MonoidElem<C extends MonoidElem<C>>
- Type Parameters:
C- element type
- All Superinterfaces:
Comparable<C>,Element<C>,Serializable
- All Known Subinterfaces:
AlgebraElem<A,,C> FieldElem<C>,GcdRingElem<C>,NoncomRingElem<C>,Polynomial<C>,RegularRingElem<C>,RingElem<C>,StarRingElem<C>
- All Known Implementing Classes:
AlgebraicNumber,BigComplex,BigDecimal,BigDecimalComplex,BigInteger,BigOctonion,BigQuaternion,BigQuaternionInteger,BigRational,Complex,ComplexAlgebraicNumber,GenExteriorPolynomial,GenMatrix,GenPolynomial,GenSolvablePolynomial,GenWordPolynomial,IndexList,Local,Local,LocalSolvablePolynomial,ModInt,ModInteger,ModLong,MultiVarPowerSeries,Product,QLRSolvablePolynomial,Quotient,Quotient,QuotSolvablePolynomial,RealAlgebraicNumber,RealAlgebraicNumber,RecSolvablePolynomial,RecSolvableWordPolynomial,Residue,Residue,ResidueSolvablePolynomial,ResidueSolvableWordPolynomial,SolvableLocal,SolvableLocalResidue,SolvableQuotient,SolvableResidue,UnivPowerSeries,Word,WordResidue
Monoid element interface. Defines the multiplicative methods.
-
Method Summary
Modifier and TypeMethodDescriptionDivide this by S.inverse()Inverse of this.booleanisONE()Test if this is one.booleanisUnit()Test if this is a unit.default CleftDivide(C a) Left division.default CleftRemainder(C a) Left remainder.Multiply this with S.default Cpower(long n) Power of this to the n-th.default C[]Quotient and remainder by division of this by S.Remainder after division of this by S.default CrightDivide(C a) Right division.default CrightRemainder(C a) Right remainder.default C[]twosidedDivide(C a) Two-sided division.default CTwo-sided remainder.
-
Method Details
-
isONE
boolean isONE()Test if this is one.- Returns:
- true if this is 1, else false.
-
isUnit
boolean isUnit()Test if this is a unit. I.e. there exists x with this.multiply(x).isONE() == true.- Returns:
- true if this is a unit, else false.
-
multiply
Multiply this with S.- Parameters:
S-- Returns:
- this * S.
-
divide
Divide this by S.- Parameters:
S-- Returns:
- this / S.
-
remainder
Remainder after division of this by S.- Parameters:
S-- Returns:
- this - (this / S) * S.
-
quotientRemainder
Quotient and remainder by division of this by S.- Parameters:
S-- Returns:
- [this/S, this - (this/S)*S].
-
rightDivide
Right division. Returns commutative divide if not overwritten.- Parameters:
a- element.- Returns:
- right, with a * right = this
-
leftDivide
Left division. Returns commutative divide if not overwritten.- Parameters:
a- element.- Returns:
- left, with left * a = this
-
rightRemainder
Right remainder. Returns commutative remainder if not overwritten.- Parameters:
a- element.- Returns:
- r = this - a * (1/right), where a * right = this.
-
leftRemainder
Left remainder. Returns commutative remainder if not overwritten.- Parameters:
a- element.- Returns:
- r = this - (1/left) * a, where left * a = this.
-
twosidedDivide
Two-sided division. Returns commutative divide if not overwritten.- Parameters:
a- element.- Returns:
- [left,right], with left * a * right = this
-
twosidedRemainder
Two-sided remainder. Returns commutative remainder if not overwritten.- Parameters:
a- element.- Returns:
- r = this - (a/left) * a * (a/right), where left * a * right = this.
-
inverse
C inverse()Inverse of this. Some implementing classes will throw NotInvertibleException if the element is not invertible.- Returns:
- x with this * x = 1, if it exists.
-
power
Power of this to the n-th.- Parameters:
n- integer exponent.- Returns:
- a**n, with a**0 = 1 and a**{-n} = {1/a}**n. Java 8 only
-