|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.rubato.math.module.RingElement
org.rubato.math.module.ZnElement
public final class ZnElement
Elements in the ring of integers mod n.
ZnRing
,
Serialized FormConstructor Summary | |
---|---|
ZnElement(int value,
int modulus)
Constructs a ZnElement value mod modulus . |
Method Summary | |
---|---|
void |
add(ModuleElement element)
Adds element to this module element. |
void |
add(ZnElement element)
|
ModuleElement |
cast(Module module)
Tries to cast this element to an element in the given module. |
ZnElement |
clone()
Returns a deep copy of this module element. |
int |
compareTo(ModuleElement object)
Compares this module element with object . |
ZnElement |
difference(ModuleElement element)
Returns the difference of this module element and element . |
ZnElement |
difference(ZnElement element)
|
void |
divide(RingElement element)
Replaces this by the solution x of
element *x = this , if it exists,
otherwise a DivisionException is thrown. |
void |
divide(ZnElement element)
|
boolean |
divides(RingElement element)
Return true iff the solution x of this *x = element
exists. |
boolean |
equals(java.lang.Object object)
Returns true iff this element is equal to object . |
double[] |
fold(ModuleElement[] elements)
Fold elements assuming they are of this same type. |
ModuleElement |
fromXML(XMLReader reader,
org.w3c.dom.Element element)
Reads XML representation from reader starting with element . |
ZnElement |
getComponent(int i)
Returns the i -th component of this free element. |
java.lang.String |
getElementTypeName()
Returns the value of the type attribute for this class. |
Module |
getModule()
Returns the module that this module element is an element of. |
int |
getModulus()
|
ZnElement |
getRingElement(int i)
Returns the i -th ring component of this free element. |
int |
getValue()
|
static XMLInputOutput<ModuleElement> |
getXMLInputOutput()
|
int |
hashCode()
Returns the hash code for this module element. |
RingElement |
inverse()
Returns the inverse of this ring element, if it has an inverse. |
void |
invert()
Inverts this ring element, if it has an inverse. |
boolean |
isInvertible()
Returns true if this ring element is invertible. |
boolean |
isOne()
Returns true if this ring element is one. |
boolean |
isZero()
Returns true iff this element is zero. |
void |
multiply(RingElement element)
Multiplies this ring element with element . |
void |
multiply(ZnElement element)
|
void |
negate()
Negate this module element. |
ZnElement |
negated()
Returns the negative of this module element. |
RingElement |
power(int n)
Raises this ring element to the power n . |
ZnElement |
product(RingElement element)
Returns the product of this ring element with element . |
ZnElement |
product(ZnElement element)
|
RingElement |
quotient(RingElement element)
Returns the solution x of element *x = this ,
if it exists, otherwise a DivisionException is thrown. |
ZnElement |
quotient(ZnElement element)
|
ZnFreeElement |
resize(int n)
Returns this free element resized to length n . |
void |
scale(RingElement element)
Multiplies this element with element . |
ZnElement |
scaled(RingElement element)
Returns the product of this element with element . |
java.lang.String |
stringRep(boolean... parens)
Returns a string representation of this module element. |
void |
subtract(ModuleElement element)
Subtracts element from this module element. |
void |
subtract(ZnElement element)
|
ZnElement |
sum(ModuleElement element)
Returns the sum of this module element and element . |
ZnElement |
sum(ZnElement element)
|
java.lang.String |
toString()
Returns a human readable string representation of this module element. |
void |
toXML(XMLWriter writer)
Outputs XML representation to writer . |
Methods inherited from class org.rubato.math.module.RingElement |
---|
difference, getLength, getRing, iterator, multiplyCW, productCW, sum |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.rubato.math.module.FreeElement |
---|
getLength, iterator, multiplyCW, productCW |
Constructor Detail |
---|
public ZnElement(int value, int modulus)
value
mod modulus
.
Method Detail |
---|
public boolean isOne()
RingElement
isOne
in class RingElement
public boolean isZero()
ModuleElement
isZero
in interface ModuleElement
public ZnElement sum(ModuleElement element) throws DomainException
ModuleElement
element
.
sum
in interface ModuleElement
sum
in interface ZnFreeElement
DomainException
- if element
is not in domainpublic ZnElement sum(ZnElement element) throws DomainException
DomainException
public void add(ModuleElement element) throws DomainException
ModuleElement
element
to this module element.
This is a destructive operation.
add
in interface ModuleElement
DomainException
- if element
is not in domainpublic void add(ZnElement element) throws DomainException
DomainException
public ZnElement difference(ModuleElement element) throws DomainException
ModuleElement
element
.
difference
in interface ModuleElement
difference
in interface ZnFreeElement
DomainException
- if element
is not in domainpublic ZnElement difference(ZnElement element) throws DomainException
DomainException
public void subtract(ModuleElement element) throws DomainException
ModuleElement
element
from this module element.
This is a destructive operation.
subtract
in interface ModuleElement
DomainException
- if element
is not in domainpublic void subtract(ZnElement element) throws DomainException
DomainException
public ZnElement negated()
ModuleElement
negated
in interface ModuleElement
negated
in interface ZnFreeElement
public void negate()
ModuleElement
negate
in interface ModuleElement
public ZnElement scaled(RingElement element) throws DomainException
ModuleElement
element
.
scaled
in interface ModuleElement
scaled
in interface ZnFreeElement
DomainException
- if element
is not in domainpublic void scale(RingElement element) throws DomainException
ModuleElement
element
.
This is a destructive operation.
scale
in interface ModuleElement
DomainException
- if element
is not in domainpublic ZnElement product(RingElement element) throws DomainException
RingElement
element
.
product
in class RingElement
DomainException
- if element
is not in domainpublic ZnElement product(ZnElement element) throws DomainException
DomainException
public void multiply(RingElement element) throws DomainException
RingElement
element
.
multiply
in class RingElement
DomainException
- if element
is not in domainpublic void multiply(ZnElement element) throws DomainException
DomainException
public boolean isInvertible()
RingElement
isInvertible
in class RingElement
public RingElement inverse()
RingElement
inverse
in class RingElement
public void invert()
RingElement
invert
in class RingElement
public RingElement quotient(RingElement element) throws DomainException, DivisionException
RingElement
element
*x = this
,
if it exists, otherwise a DivisionException is thrown.
quotient
in class RingElement
DomainException
DivisionException
public ZnElement quotient(ZnElement element) throws DivisionException
DivisionException
public void divide(RingElement element) throws DomainException, DivisionException
RingElement
this
by the solution x of
element
*x = this
, if it exists,
otherwise a DivisionException is thrown.
divide
in class RingElement
DomainException
DivisionException
public void divide(ZnElement element) throws DivisionException
DivisionException
public boolean divides(RingElement element)
RingElement
this
*x = element
exists.
divides
in class RingElement
public RingElement power(int n)
RingElement
n
.
power
in class RingElement
public Module getModule()
ModuleElement
getModule
in interface ModuleElement
public ZnElement getComponent(int i)
FreeElement
i
-th component of this free element.
getComponent
in interface FreeElement
getComponent
in interface ModuleElement
getComponent
in interface ZnFreeElement
getComponent
in class RingElement
public ZnElement getRingElement(int i)
FreeElement
i
-th ring component of this free element.
getRingElement
in interface FreeElement
getRingElement
in interface ZnFreeElement
getRingElement
in class RingElement
public int getValue()
public int getModulus()
public ZnFreeElement resize(int n)
FreeElement
n
.
If the new length n
is greater than the old length,
the new values are filled with the zero of the underlying ring.
If the new length n
is less than the old length,
the vector of values is simply truncated.
resize
in interface FreeElement
resize
in interface ZnFreeElement
public boolean equals(java.lang.Object object)
ModuleElement
object
.
equals
in interface ModuleElement
equals
in class java.lang.Object
public int compareTo(ModuleElement object)
ModuleElement
object
.
compareTo
in interface java.lang.Comparable<ModuleElement>
compareTo
in interface ModuleElement
compareTo
in class RingElement
public ZnElement clone()
ModuleElement
clone
in interface ModuleElement
clone
in interface ZnFreeElement
clone
in class RingElement
public java.lang.String stringRep(boolean... parens)
ModuleElement
stringRep
in interface ModuleElement
stringRep
in class RingElement
public java.lang.String toString()
ModuleElement
toString
in interface ModuleElement
toString
in class java.lang.Object
public double[] fold(ModuleElement[] elements)
ModuleElement
elements
assuming they are of this same type.
fold
in interface ModuleElement
public ModuleElement cast(Module module)
ModuleElement
cast
in interface ModuleElement
public void toXML(XMLWriter writer)
XMLInputOutput
writer
.
toXML
in interface XMLInputOutput<ModuleElement>
public ModuleElement fromXML(XMLReader reader, org.w3c.dom.Element element)
XMLInputOutput
reader
starting with element
.
fromXML
in interface XMLInputOutput<ModuleElement>
public static XMLInputOutput<ModuleElement> getXMLInputOutput()
public java.lang.String getElementTypeName()
XMLInputOutput
getElementTypeName
in interface XMLInputOutput<ModuleElement>
public int hashCode()
ModuleElement
hashCode
in interface ModuleElement
hashCode
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |