Package edu.jas.poly
Class Local<C extends RingElem<C>>
java.lang.Object
edu.jas.poly.Local<C>
- All Implemented Interfaces:
AbelianGroupElem<Local<C>>
,Element<Local<C>>
,MonoidElem<Local<C>>
,QuotPair<C>
,RingElem<Local<C>>
,Serializable
,Comparable<Local<C>>
Local element based on RingElem pairs. Objects of this class are (nearly)
immutable.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final boolean
protected final C
Denominator part of the element data structure.protected int
Flag to remember if this local element is a unit.private static final org.apache.logging.log4j.Logger
protected final C
Numerator part of the element data structure.Local class factory data structure. -
Constructor Summary
ConstructorsModifierConstructorDescriptionThe constructor creates a Local object from a ring factory.The constructor creates a Local object from a ring factory and a numerator element.The constructor creates a Local object from a ring factory and a numerator and denominator element.protected
The constructor creates a Local object from a ring factory and a numerator and denominator element. -
Method Summary
Modifier and TypeMethodDescriptionabs()
Local absolute value.int
Local comparison.copy()
Clone this.Denominator.Local division.Extended greatest common divisor.boolean
Comparison with any other object.factory()
Get the corresponding element factory.Greatest common divisor.int
hashCode()
Hash code for this local.inverse()
Local inverse.boolean
Is Local a constant.boolean
isONE()
Is Local one.boolean
isUnit()
Is Local unit.boolean
isZERO()
Is Local zero.Local multiplication.negate()
Local negate.Numerator.quotientRemainder
(Local<C> S) Quotient and remainder by division of this by S.Local remainder.int
signum()
Local signum.Local subtraction.Local summation.toScript()
Get a scripting compatible string representation.Get a scripting compatible string representation of the factory.toString()
Get the String representation as RingElem.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface edu.jas.structure.MonoidElem
leftDivide, leftRemainder, power, rightDivide, rightRemainder, twosidedDivide, twosidedRemainder
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug -
ring
Local class factory data structure. -
num
Numerator part of the element data structure. -
den
Denominator part of the element data structure. -
isunit
protected int isunitFlag to remember if this local element is a unit. -1 is unknown, 1 is unit, 0 not a unit.
-
-
Constructor Details
-
Local
The constructor creates a Local object from a ring factory.- Parameters:
r
- ring factory.
-
Local
The constructor creates a Local object from a ring factory and a numerator element. The denominator is assumed to be 1.- Parameters:
r
- ring factory.n
- numerator.
-
Local
The constructor creates a Local object from a ring factory and a numerator and denominator element.- Parameters:
r
- ring factory.n
- numerator.d
- denominator.
-
Local
The constructor creates a Local object from a ring factory and a numerator and denominator element.- Parameters:
r
- ring factory.n
- numerator.d
- denominator.isred
- true if gcd(n,d) == 1, else false.
-
-
Method Details
-
factory
Get the corresponding element factory. -
numerator
Numerator. -
denominator
Denominator.- Specified by:
denominator
in interfaceQuotPair<C extends RingElem<C>>
- See Also:
-
isConstant
public boolean isConstant()Is Local a constant. Not implemented.- Specified by:
isConstant
in interfaceQuotPair<C extends RingElem<C>>
-
copy
Clone this. -
isZERO
public boolean isZERO()Is Local zero.- Specified by:
isZERO
in interfaceAbelianGroupElem<C extends RingElem<C>>
- Returns:
- If this is 0 then true is returned, else false.
- See Also:
-
isONE
public boolean isONE()Is Local one.- Specified by:
isONE
in interfaceMonoidElem<C extends RingElem<C>>
- Returns:
- If this is 1 then true is returned, else false.
- See Also:
-
isUnit
public boolean isUnit()Is Local unit.- Specified by:
isUnit
in interfaceMonoidElem<C extends RingElem<C>>
- Returns:
- If this is a unit then true is returned, else false.
- See Also:
-
toString
Get the String representation as RingElem. -
toScript
Get a scripting compatible string representation. -
toScriptFactory
Get a scripting compatible string representation of the factory.- Specified by:
toScriptFactory
in interfaceElement<C extends RingElem<C>>
- Returns:
- script compatible representation for this ElemFactory.
- See Also:
-
compareTo
Local comparison. -
equals
Comparison with any other object. -
hashCode
public int hashCode()Hash code for this local. -
abs
Local absolute value.- Specified by:
abs
in interfaceAbelianGroupElem<C extends RingElem<C>>
- Returns:
- the absolute value of this.
- See Also:
-
sum
Local summation.- Specified by:
sum
in interfaceAbelianGroupElem<C extends RingElem<C>>
- Parameters:
S
- Local.- Returns:
- this+S.
-
negate
Local negate.- Specified by:
negate
in interfaceAbelianGroupElem<C extends RingElem<C>>
- Returns:
- -this.
- See Also:
-
signum
public int signum()Local signum.- Specified by:
signum
in interfaceAbelianGroupElem<C extends RingElem<C>>
- Returns:
- signum(this).
- See Also:
-
subtract
Local subtraction.- Specified by:
subtract
in interfaceAbelianGroupElem<C extends RingElem<C>>
- Parameters:
S
- Local.- Returns:
- this-S.
-
divide
Local division.- Specified by:
divide
in interfaceMonoidElem<C extends RingElem<C>>
- Parameters:
S
- Local.- Returns:
- this/S.
-
inverse
Local inverse.- Specified by:
inverse
in interfaceMonoidElem<C extends RingElem<C>>
- Returns:
- S with S = 1/this if defined.
- See Also:
-
remainder
Local remainder.- Specified by:
remainder
in interfaceMonoidElem<C extends RingElem<C>>
- Parameters:
S
- Local.- Returns:
- this - (this/S)*S.
-
quotientRemainder
Quotient and remainder by division of this by S.- Specified by:
quotientRemainder
in interfaceMonoidElem<C extends RingElem<C>>
- Parameters:
S
- a Local- Returns:
- [this/S, this - (this/S)*S].
-
multiply
Local multiplication.- Specified by:
multiply
in interfaceMonoidElem<C extends RingElem<C>>
- Parameters:
S
- Local.- Returns:
- this*S.
-
gcd
Greatest common divisor. Note: Not implemented, throws UnsupportedOperationException. -
egcd
Extended greatest common divisor. Note: Not implemented, throws UnsupportedOperationException.
-