edu.jas.structure
Interface RingElem<C extends RingElem<C>>

All Superinterfaces:
AbelianGroupElem<C>, java.lang.Cloneable, java.lang.Comparable<C>, Element<C>, MonoidElem<C>, java.io.Serializable
All Known Subinterfaces:
AlgebraElem<A,C>, GcdRingElem<C>, StarRingElem<C>
All Known Implementing Classes:
AlgebraicNumber, BigComplex, BigDecimal, BigInteger, BigOctonion, BigQuaternion, BigRational, GenMatrix, GenPolynomial, GenSolvablePolynomial, Local, Local, ModInteger, Quotient, Quotient, Residue, Residue

public interface RingElem<C extends RingElem<C>>
extends AbelianGroupElem<C>, MonoidElem<C>

Ring element interface. Combines aditive and multiplicative methods. Adds also gcd because of polynomials.

Author:
Heinz Kredel
Type parameter:
C element type.

Method Summary
 C[] egcd(C b)
          Extended greatest common divisor.
 C gcd(C b)
          Greatest common divisor.
 
Methods inherited from interface edu.jas.structure.AbelianGroupElem
abs, isZERO, negate, signum, subtract, sum
 
Methods inherited from interface edu.jas.structure.MonoidElem
divide, inverse, isONE, isUnit, multiply, remainder
 
Methods inherited from interface edu.jas.structure.Element
clone, compareTo, equals, hashCode
 

Method Detail

gcd

C gcd(C b)
Greatest common divisor.

Parameters:
b - other element.
Returns:
gcd(this,b).

egcd

C[] egcd(C b)
Extended greatest common divisor.

Parameters:
b - other element.
Returns:
[ gcd(this,b), c1, c2 ] with c1*this + c2*b = gcd(this,b).