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.boolean
isONE()
Test if this is one.boolean
isUnit()
Test if this is a unit.default C
leftDivide
(C a) Left division.default C
leftRemainder
(C a) Left remainder.Multiply this with S.default C
power
(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 C
rightDivide
(C a) Right division.default C
rightRemainder
(C a) Right remainder.default C[]
twosidedDivide
(C a) Two-sided division.default C
Two-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
-