Class ComplexAlgebraicRing<C extends GcdRingElem<C> & Rational>
java.lang.Object
edu.jas.root.ComplexAlgebraicRing<C>
- All Implemented Interfaces:
AbelianGroupFactory<ComplexAlgebraicNumber<C>>, ElemFactory<ComplexAlgebraicNumber<C>>, MonoidFactory<ComplexAlgebraicNumber<C>>, RingFactory<ComplexAlgebraicNumber<C>>, Serializable
public class ComplexAlgebraicRing<C extends GcdRingElem<C> & Rational>
extends Object
implements RingFactory<ComplexAlgebraicNumber<C>>
Complex algebraic number factory class based on AlgebraicNumberRing with
RingFactory interface. Objects of this class are immutable with the exception
of the isolating intervals.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal AlgebraicNumberRing<Complex<C>> Representing AlgebraicNumberRing.protected ComplexRootsSturm<C> Complex root computation engine.protected BigRationalEpsilon of the isolating rectangle for a complex root.private static final org.apache.logging.log4j.Loggerstatic final intPrecision of the isolating rectangle for a complex root.Isolating rectangle for a complex root. -
Constructor Summary
ConstructorsConstructorDescriptionComplexAlgebraicRing(GenPolynomial<Complex<C>> m, Rectangle<C> root) The constructor creates a ComplexAlgebraicNumber factory object from a GenPolynomial objects module.ComplexAlgebraicRing(GenPolynomial<Complex<C>> m, Rectangle<C> root, boolean isField) The constructor creates a ComplexAlgebraicNumber factory object from a GenPolynomial objects module. -
Method Summary
Modifier and TypeMethodDescriptionCharacteristic of this ring.Copy ComplexAlgebraicNumber element c.voidEnsure engine is initialized.booleanComparison with any other object.fromInteger(long a) Get a ComplexAlgebraicNumber element from a long value.Get a ComplexAlgebraicNumber element from a BigInteger value.Get a list of the generating elements.getEps()Get epsilon.Get the generating element.getIMAG()Get the i element.getONE()Get the one element.getRoot()Get rectangle for the complex root.getZERO()Get the zero element.inthashCode()Hash code for this ComplexAlgebraicNumber.booleanQuery if this ring is associative.booleanQuery if this ring is commutative.booleanisField()Query if this ring is a field.booleanisFinite()Is this structure finite or infinite.Parse ComplexAlgebraicNumber from Reader.Parse ComplexAlgebraicNumber from String.random(int n) ComplexAlgebraicNumber random.ComplexAlgebraicNumber random.voidRefine root.voidRefine root.voidSet a new epsilon.voidSet a new epsilon.voidsetField(boolean isField) Assert that this ring is a field.voidSet a refined rectangle for the complex root.toScript()Get a scripting compatible string representation.toString()Get the String representation as RingFactory.Methods inherited from interface ElemFactory
valueOf
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
algebraic
Representing AlgebraicNumberRing. -
root
Rectangle<C extends GcdRingElem<C> & Rational> rootIsolating rectangle for a complex root. Note: interval may shrink eventually. -
eps
Epsilon of the isolating rectangle for a complex root. -
PRECISION
public static final int PRECISIONPrecision of the isolating rectangle for a complex root. -
engine
Complex root computation engine.
-
-
Constructor Details
-
ComplexAlgebraicRing
The constructor creates a ComplexAlgebraicNumber factory object from a GenPolynomial objects module.- Parameters:
m- module GenPolynomial<C>.root- isolating rectangle for a complex root.
-
ComplexAlgebraicRing
The constructor creates a ComplexAlgebraicNumber factory object from a GenPolynomial objects module.- Parameters:
m- module GenPolynomial<C>.root- isolating rectangle for a complex root.isField- indicator if m is prime.
-
-
Method Details
-
setRoot
-
getRoot
-
getEps
-
setEps
-
setEps
-
refineRoot
public void refineRoot()Refine root. -
ensureEngine
public void ensureEngine()Ensure engine is initialized. -
refineRoot
-
isFinite
public boolean isFinite()Is this structure finite or infinite.- Specified by:
isFinitein interfaceElemFactory<C extends GcdRingElem<C> & Rational>- Returns:
- true if this structure is finite, else false.
- See Also:
-
copy
Copy ComplexAlgebraicNumber element c.- Specified by:
copyin interfaceElemFactory<C extends GcdRingElem<C> & Rational>- Parameters:
c-- Returns:
- a copy of c.
-
getZERO
Get the zero element.- Specified by:
getZEROin interfaceAbelianGroupFactory<C extends GcdRingElem<C> & Rational>- Returns:
- 0 as ComplexAlgebraicNumber.
-
getONE
Get the one element.- Specified by:
getONEin interfaceMonoidFactory<C extends GcdRingElem<C> & Rational>- Returns:
- 1 as ComplexAlgebraicNumber.
-
getIMAG
-
getGenerator
Get the generating element.- Returns:
- alpha as ComplexAlgebraicNumber.
-
generators
Get a list of the generating elements.- Specified by:
generatorsin interfaceElemFactory<C extends GcdRingElem<C> & Rational>- Returns:
- list of generators for the algebraic structure.
- See Also:
-
isCommutative
public boolean isCommutative()Query if this ring is commutative.- Specified by:
isCommutativein interfaceMonoidFactory<C extends GcdRingElem<C> & Rational>- Returns:
- true if this ring is commutative, else false.
-
isAssociative
public boolean isAssociative()Query if this ring is associative.- Specified by:
isAssociativein interfaceMonoidFactory<C extends GcdRingElem<C> & Rational>- Returns:
- true if this ring is associative, else false.
-
isField
public boolean isField()Query if this ring is a field.- Specified by:
isFieldin interfaceRingFactory<C extends GcdRingElem<C> & Rational>- Returns:
- true if algebraic is prime, else false.
-
setField
public void setField(boolean isField) Assert that this ring is a field.- Parameters:
isField- true if this ring is a field, else false.
-
characteristic
Characteristic of this ring.- Specified by:
characteristicin interfaceRingFactory<C extends GcdRingElem<C> & Rational>- Returns:
- characteristic of this ring.
-
fromInteger
Get a ComplexAlgebraicNumber element from a BigInteger value.- Specified by:
fromIntegerin interfaceElemFactory<C extends GcdRingElem<C> & Rational>- Parameters:
a- BigInteger.- Returns:
- a ComplexAlgebraicNumber.
-
fromInteger
Get a ComplexAlgebraicNumber element from a long value.- Specified by:
fromIntegerin interfaceElemFactory<C extends GcdRingElem<C> & Rational>- Parameters:
a- long.- Returns:
- a ComplexAlgebraicNumber.
-
toString
-
toScript
Get a scripting compatible string representation.- Specified by:
toScriptin interfaceElemFactory<C extends GcdRingElem<C> & Rational>- Returns:
- script compatible representation for this ElemFactory.
- See Also:
-
equals
-
hashCode
-
random
ComplexAlgebraicNumber random.- Specified by:
randomin interfaceElemFactory<C extends GcdRingElem<C> & Rational>- Parameters:
n- such that 0 ≤ v ≤ (2n-1).- Returns:
- a random integer mod modul.
-
random
ComplexAlgebraicNumber random.- Specified by:
randomin interfaceElemFactory<C extends GcdRingElem<C> & Rational>- Parameters:
n- such that 0 ≤ v ≤ (2n-1).rnd- is a source for random bits.- Returns:
- a random integer mod modul.
-
parse
Parse ComplexAlgebraicNumber from String.- Specified by:
parsein interfaceElemFactory<C extends GcdRingElem<C> & Rational>- Parameters:
s- String.- Returns:
- ComplexAlgebraicNumber from s.
-
parse
Parse ComplexAlgebraicNumber from Reader.- Specified by:
parsein interfaceElemFactory<C extends GcdRingElem<C> & Rational>- Parameters:
r- Reader.- Returns:
- next ComplexAlgebraicNumber from r.
-