edu.jas.application
Class LocalRing<C extends GcdRingElem<C>>

java.lang.Object
  extended by edu.jas.application.LocalRing<C>
All Implemented Interfaces:
AbelianGroupFactory<Local<C>>, ElemFactory<Local<C>>, MonoidFactory<Local<C>>, RingFactory<Local<C>>, java.io.Serializable

public class LocalRing<C extends GcdRingElem<C>>
extends java.lang.Object
implements RingFactory<Local<C>>

Local ring class based on GenPolynomial with RingElem interface. Objects of this class are effective immutable.

Author:
Heinz Kredel
See Also:
Serialized Form

Field Summary
protected  GreatestCommonDivisor<C> engine
          Greatest common divisor engine for coefficient content and primitive parts.
 Ideal<C> ideal
          Polynomial ideal for localization.
protected  int isField
          Indicator if this ring is a field.
 GenPolynomialRing<C> ring
          Polynomial ring of the factory.
 
Constructor Summary
LocalRing(Ideal<C> i)
          The constructor creates a LocalRing object from a GenPolynomialRing and a GenPolynomial.
 
Method Summary
 java.math.BigInteger characteristic()
          Characteristic of this ring.
 Local<C> copy(Local<C> c)
          Copy Local element c.
 boolean equals(java.lang.Object b)
          Comparison with any other object.
 Local<C> fromInteger(java.math.BigInteger a)
          Get a Local element from a BigInteger value.
 Local<C> fromInteger(long a)
          Get a Local element from a long value.
 java.util.List<Local<C>> generators()
          Get a list of the generating elements.
 Local<C> getONE()
          Get the one element.
 Local<C> getZERO()
          Get the zero element.
 int hashCode()
          Hash code for this local ring.
 boolean isAssociative()
          Query if this ring is associative.
 boolean isCommutative()
          Query if this ring is commutative.
 boolean isField()
          Query if this ring is a field.
 boolean isFinite()
          Is this structure finite or infinite.
 Local<C> parse(java.io.Reader r)
          Parse Local from Reader.
 Local<C> parse(java.lang.String s)
          Parse Local from String.
 Local<C> random(int n)
          Local random.
 Local<C> random(int k, int l, int d, float q)
          Generate a random residum polynomial.
 Local<C> random(int n, java.util.Random rnd)
          Local random.
 java.lang.String toScript()
          Get a scripting compatible string representation.
 java.lang.String toString()
          Get the String representation as RingFactory.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

engine

protected final GreatestCommonDivisor<C extends GcdRingElem<C>> engine
Greatest common divisor engine for coefficient content and primitive parts.


ideal

public final Ideal<C extends GcdRingElem<C>> ideal
Polynomial ideal for localization.


ring

public final GenPolynomialRing<C extends GcdRingElem<C>> ring
Polynomial ring of the factory.


isField

protected int isField
Indicator if this ring is a field.

Constructor Detail

LocalRing

public LocalRing(Ideal<C> i)
The constructor creates a LocalRing object from a GenPolynomialRing and a GenPolynomial.

Parameters:
i - localization polynomial ideal.
Method Detail

isFinite

public boolean isFinite()
Is this structure finite or infinite.

Specified by:
isFinite in interface ElemFactory<Local<C extends GcdRingElem<C>>>
Returns:
true if this structure is finite, else false.
See Also:
ElemFactory.isFinite()

copy

public Local<C> copy(Local<C> c)
Copy Local element c.

Specified by:
copy in interface ElemFactory<Local<C extends GcdRingElem<C>>>
Parameters:
c -
Returns:
a copy of c.

getZERO

public Local<C> getZERO()
Get the zero element.

Specified by:
getZERO in interface AbelianGroupFactory<Local<C extends GcdRingElem<C>>>
Returns:
0 as Local.

getONE

public Local<C> getONE()
Get the one element.

Specified by:
getONE in interface MonoidFactory<Local<C extends GcdRingElem<C>>>
Returns:
1 as Local.

generators

public java.util.List<Local<C>> generators()
Get a list of the generating elements.

Specified by:
generators in interface ElemFactory<Local<C extends GcdRingElem<C>>>
Returns:
list of generators for the algebraic structure.
See Also:
ElemFactory.generators()

isCommutative

public boolean isCommutative()
Query if this ring is commutative.

Specified by:
isCommutative in interface MonoidFactory<Local<C extends GcdRingElem<C>>>
Returns:
true if this ring is commutative, else false.

isAssociative

public boolean isAssociative()
Query if this ring is associative.

Specified by:
isAssociative in interface MonoidFactory<Local<C extends GcdRingElem<C>>>
Returns:
true if this ring is associative, else false.

isField

public boolean isField()
Query if this ring is a field.

Specified by:
isField in interface RingFactory<Local<C extends GcdRingElem<C>>>
Returns:
false.

characteristic

public java.math.BigInteger characteristic()
Characteristic of this ring.

Specified by:
characteristic in interface RingFactory<Local<C extends GcdRingElem<C>>>
Returns:
characteristic of this ring.

fromInteger

public Local<C> fromInteger(java.math.BigInteger a)
Get a Local element from a BigInteger value.

Specified by:
fromInteger in interface ElemFactory<Local<C extends GcdRingElem<C>>>
Parameters:
a - BigInteger.
Returns:
a Local.

fromInteger

public Local<C> fromInteger(long a)
Get a Local element from a long value.

Specified by:
fromInteger in interface ElemFactory<Local<C extends GcdRingElem<C>>>
Parameters:
a - long.
Returns:
a Local.

toString

public java.lang.String toString()
Get the String representation as RingFactory.

Overrides:
toString in class java.lang.Object
See Also:
Object.toString()

toScript

public java.lang.String toScript()
Get a scripting compatible string representation.

Specified by:
toScript in interface ElemFactory<Local<C extends GcdRingElem<C>>>
Returns:
script compatible representation for this ElemFactory.
See Also:
ElemFactory.toScript()

equals

public boolean equals(java.lang.Object b)
Comparison with any other object.

Overrides:
equals in class java.lang.Object
See Also:
Object.equals(java.lang.Object)

hashCode

public int hashCode()
Hash code for this local ring.

Overrides:
hashCode in class java.lang.Object
See Also:
Object.hashCode()

random

public Local<C> random(int n)
Local random.

Specified by:
random in interface ElemFactory<Local<C extends GcdRingElem<C>>>
Parameters:
n - such that 0 ≤ v ≤ (2n-1).
Returns:
a random residue element.

random

public Local<C> random(int k,
                       int l,
                       int d,
                       float q)
Generate a random residum polynomial.

Parameters:
k - bitsize of random coefficients.
l - number of terms.
d - maximal degree in each variable.
q - density of nozero exponents.
Returns:
a random residue polynomial.

random

public Local<C> random(int n,
                       java.util.Random rnd)
Local random.

Specified by:
random in interface ElemFactory<Local<C extends GcdRingElem<C>>>
Parameters:
n - such that 0 ≤ v ≤ (2n-1).
rnd - is a source for random bits.
Returns:
a random residue element.

parse

public Local<C> parse(java.lang.String s)
Parse Local from String.

Specified by:
parse in interface ElemFactory<Local<C extends GcdRingElem<C>>>
Parameters:
s - String.
Returns:
Local from s.

parse

public Local<C> parse(java.io.Reader r)
Parse Local from Reader.

Specified by:
parse in interface ElemFactory<Local<C extends GcdRingElem<C>>>
Parameters:
r - Reader.
Returns:
next Local from r.