Package edu.jas.application
Class Local<C extends GcdRingElem<C>>
java.lang.Object
edu.jas.application.Local<C>
- All Implemented Interfaces:
AbelianGroupElem<Local<C>>
,Element<Local<C>>
,MonoidElem<Local<C>>
,QuotPair<GenPolynomial<C>>
,RingElem<Local<C>>
,Serializable
,Comparable<Local<C>>
public class Local<C extends GcdRingElem<C>>
extends Object
implements RingElem<Local<C>>, QuotPair<GenPolynomial<C>>
Local ring element based on GenPolynomial with RingElem interface. Objects of
this class are (nearly) immutable.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final boolean
protected final GenPolynomial
<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 GenPolynomial
<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.Local
(LocalRing<C> r, GenPolynomial<C> n) The constructor creates a Local object from a ring factory and a numerator polynomial.Local
(LocalRing<C> r, GenPolynomial<C> n, GenPolynomial<C> d) The constructor creates a Local object from a ring factory and a numerator and denominator polynomial.protected
Local
(LocalRing<C> r, GenPolynomial<C> n, GenPolynomial<C> d, boolean isred) The constructor creates a Local object from a ring factory and a numerator and denominator polynomial. -
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 Qoutient a constant.boolean
isONE()
Is Local one.boolean
isUnit()
Is Local unit.boolean
isZERO()
Is Local zero.monic()
Local monic.Local multiplication by coefficient.Local multiplication.Local multiplication by exponent.multiply
(GenPolynomial<C> b) Local multiplication by GenPolynomial.negate()
Local negate.Numerator.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, quotientRemainder, 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 polynomial. The denominator is assumed to be 1.- Parameters:
r
- ring factory.n
- numerator polynomial.
-
Local
The constructor creates a Local object from a ring factory and a numerator and denominator polynomial.- Parameters:
r
- ring factory.n
- numerator polynomial.d
- denominator polynomial.
-
Local
The constructor creates a Local object from a ring factory and a numerator and denominator polynomial.- Parameters:
r
- ring factory.n
- numerator polynomial.d
- denominator polynomial.isred
- true if gcd(n,d) == 1, else false.
-
-
Method Details
-
factory
Get the corresponding element factory.- Specified by:
factory
in interfaceElement<C extends GcdRingElem<C>>
- Returns:
- factory for this Element.
- See Also:
-
numerator
Numerator.- Specified by:
numerator
in interfaceQuotPair<C extends GcdRingElem<C>>
- See Also:
-
denominator
Denominator.- Specified by:
denominator
in interfaceQuotPair<C extends GcdRingElem<C>>
- See Also:
-
copy
Clone this.- Specified by:
copy
in interfaceElement<C extends GcdRingElem<C>>
- Returns:
- Creates and returns a copy of this Element.
- See Also:
-
isZERO
public boolean isZERO()Is Local zero.- Specified by:
isZERO
in interfaceAbelianGroupElem<C extends GcdRingElem<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 GcdRingElem<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 GcdRingElem<C>>
- Returns:
- If this is a unit then true is returned, else false.
- See Also:
-
isConstant
public boolean isConstant()Is Qoutient a constant.- Specified by:
isConstant
in interfaceQuotPair<C extends GcdRingElem<C>>
- Returns:
- true, if this has constant numerator and denominator, else false.
-
toString
Get the String representation as RingElem. -
toScript
Get a scripting compatible string representation.- Specified by:
toScript
in interfaceElement<C extends GcdRingElem<C>>
- Returns:
- script compatible representation for this Element.
- See Also:
-
toScriptFactory
Get a scripting compatible string representation of the factory.- Specified by:
toScriptFactory
in interfaceElement<C extends GcdRingElem<C>>
- Returns:
- script compatible representation for this ElemFactory.
- See Also:
-
compareTo
Local comparison.- Specified by:
compareTo
in interfaceComparable<C extends GcdRingElem<C>>
- Specified by:
compareTo
in interfaceElement<C extends GcdRingElem<C>>
- Parameters:
b
- Local.- Returns:
- sign(this-b).
-
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 GcdRingElem<C>>
- Returns:
- the absolute value of this.
- See Also:
-
sum
Local summation.- Specified by:
sum
in interfaceAbelianGroupElem<C extends GcdRingElem<C>>
- Parameters:
S
- Local.- Returns:
- this+S.
-
negate
Local negate.- Specified by:
negate
in interfaceAbelianGroupElem<C extends GcdRingElem<C>>
- Returns:
- -this.
- See Also:
-
signum
public int signum()Local signum.- Specified by:
signum
in interfaceAbelianGroupElem<C extends GcdRingElem<C>>
- Returns:
- signum(this).
- See Also:
-
subtract
Local subtraction.- Specified by:
subtract
in interfaceAbelianGroupElem<C extends GcdRingElem<C>>
- Parameters:
S
- Local.- Returns:
- this-S.
-
divide
Local division.- Specified by:
divide
in interfaceMonoidElem<C extends GcdRingElem<C>>
- Parameters:
S
- Local.- Returns:
- this/S.
-
inverse
Local inverse.- Specified by:
inverse
in interfaceMonoidElem<C extends GcdRingElem<C>>
- Returns:
- S with S = 1/this if defined.
- See Also:
-
remainder
Local remainder.- Specified by:
remainder
in interfaceMonoidElem<C extends GcdRingElem<C>>
- Parameters:
S
- Local.- Returns:
- this - (this/S)*S.
-
multiply
Local multiplication.- Specified by:
multiply
in interfaceMonoidElem<C extends GcdRingElem<C>>
- Parameters:
S
- Local.- Returns:
- this*S.
-
multiply
Local multiplication by GenPolynomial.- Parameters:
b
- GenPolynomial.- Returns:
- this*b.
-
multiply
Local multiplication by coefficient.- Parameters:
b
- coefficient.- Returns:
- this*b.
-
multiply
Local multiplication by exponent.- Parameters:
e
- exponent vector.- Returns:
- this*b.
-
monic
Local monic.- Returns:
- this with monic value part.
-
gcd
Greatest common divisor.- Specified by:
gcd
in interfaceRingElem<C extends GcdRingElem<C>>
- Parameters:
b
- other element.- Returns:
- gcd(this,b).
-
egcd
Extended greatest common divisor. Note: Not implemented, throws UnsupportedOperationException.- Specified by:
egcd
in interfaceRingElem<C extends GcdRingElem<C>>
- Parameters:
b
- other element.- Returns:
- [ gcd(this,b), c1, c2 ] with c1*this + c2*b = gcd(this,b).
-