Package edu.jas.poly
Class ComplexRing<C extends RingElem<C>>
java.lang.Object
edu.jas.poly.ComplexRing<C>
- Type Parameters:
C
- base type.
- All Implemented Interfaces:
AbelianGroupFactory<Complex<C>>
,ElemFactory<Complex<C>>
,MonoidFactory<Complex<C>>
,RingFactory<Complex<C>>
,Serializable
Generic Complex ring factory implementing the RingFactory interface. Objects
of this class are immutable.
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionComplexRing
(RingFactory<C> ring) The constructor creates a ComplexRing object. -
Method Summary
Modifier and TypeMethodDescriptionCorresponding algebraic number ring.Characteristic of this ring.Copy Complex element c.boolean
Comparison with any other object.fromInteger
(long a) Get a Complex element from a long.Get a Complex element from a BigInteger.Get a list of the generating elements.getIMAG()
Get the i element.getONE()
Get the one element.getZERO()
Get the zero element.int
hashCode()
Hash code for this ComplexRing<C>.boolean
Query if this ring is associative.boolean
Query if this ring is commutative.boolean
isField()
Query if this ring is a field.boolean
isFinite()
Is this structure finite or infinite.Parse complex number from Reader.Parse complex number from string.random
(int n) Complex number random.Complex number random.toScript()
Get a scripting compatible string representation.toString()
Get the String representation.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface edu.jas.structure.ElemFactory
valueOf
-
Field Details
-
random
-
logger
private static final org.apache.logging.log4j.Logger logger -
ring
Complex class elements factory data structure.
-
-
Constructor Details
-
ComplexRing
The constructor creates a ComplexRing object.- Parameters:
ring
- factory for Complex real and imaginary parts.
-
-
Method Details
-
generators
Get a list of the generating elements.- Specified by:
generators
in interfaceElemFactory<C extends RingElem<C>>
- Returns:
- list of generators for the algebraic structure.
- See Also:
-
algebraicRing
Corresponding algebraic number ring.- Returns:
- algebraic number ring. not jet possible.
-
isFinite
public boolean isFinite()Is this structure finite or infinite.- Specified by:
isFinite
in interfaceElemFactory<C extends RingElem<C>>
- Returns:
- true if this structure is finite, else false.
- See Also:
-
copy
Copy Complex element c.- Specified by:
copy
in interfaceElemFactory<C extends RingElem<C>>
- Parameters:
c
- Complex<C>.- Returns:
- a copy of c.
-
getZERO
Get the zero element.- Specified by:
getZERO
in interfaceAbelianGroupFactory<C extends RingElem<C>>
- Returns:
- 0 as Complex<C>.
-
getONE
Get the one element.- Specified by:
getONE
in interfaceMonoidFactory<C extends RingElem<C>>
- Returns:
- 1 as Complex<C>.
-
getIMAG
Get the i element.- Returns:
- i as Complex<C>.
-
isCommutative
public boolean isCommutative()Query if this ring is commutative.- Specified by:
isCommutative
in interfaceMonoidFactory<C extends RingElem<C>>
- Returns:
- true.
-
isAssociative
public boolean isAssociative()Query if this ring is associative.- Specified by:
isAssociative
in interfaceMonoidFactory<C extends RingElem<C>>
- Returns:
- true.
-
isField
public boolean isField()Query if this ring is a field.- Specified by:
isField
in interfaceRingFactory<C extends RingElem<C>>
- Returns:
- true.
-
characteristic
Characteristic of this ring.- Specified by:
characteristic
in interfaceRingFactory<C extends RingElem<C>>
- Returns:
- characteristic of this ring.
-
fromInteger
Get a Complex element from a BigInteger.- Specified by:
fromInteger
in interfaceElemFactory<C extends RingElem<C>>
- Parameters:
a
- BigInteger.- Returns:
- a Complex<C>.
-
fromInteger
Get a Complex element from a long.- Specified by:
fromInteger
in interfaceElemFactory<C extends RingElem<C>>
- Parameters:
a
- long.- Returns:
- a Complex<C>.
-
toString
Get the String representation. -
toScript
Get a scripting compatible string representation.- Specified by:
toScript
in interfaceElemFactory<C extends RingElem<C>>
- Returns:
- script compatible representation for this Element.
- See Also:
-
equals
Comparison with any other object. -
hashCode
public int hashCode()Hash code for this ComplexRing<C>. -
random
Complex number random. Random base numbers A and B are generated using random(n). Then R is the complex number with real part A and imaginary part B.- Specified by:
random
in interfaceElemFactory<C extends RingElem<C>>
- Parameters:
n
- such that 0 ≤ A, B ≤ (2n-1).- Returns:
- R.
-
random
Complex number random. Random base numbers A and B are generated using random(n). Then R is the complex number with real part A and imaginary part B.- Specified by:
random
in interfaceElemFactory<C extends RingElem<C>>
- Parameters:
n
- such that 0 ≤ A, B ≤ (2n-1).rnd
- is a source for random bits.- Returns:
- R.
-
parse
Parse complex number from string.- Specified by:
parse
in interfaceElemFactory<C extends RingElem<C>>
- Parameters:
s
- String.- Returns:
- Complex
from s.
-
parse
Parse complex number from Reader.- Specified by:
parse
in interfaceElemFactory<C extends RingElem<C>>
- Parameters:
r
- Reader.- Returns:
- next Complex
from r.
-