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

Type Parameters:
C - ring element type
All Superinterfaces:
AbelianGroupElem<C>, java.lang.Cloneable, java.lang.Comparable<C>, Element<C>, MonoidElem<C>, java.io.Serializable
All Known Subinterfaces:
AlgebraElem<A,C>, FieldElem<C>, GcdRingElem<C>, Polynomial<C>, RegularRingElem<C>, StarRingElem<C>
All Known Implementing Classes:
AlgebraicNumber, BigComplex, BigDecimal, BigInteger, BigOctonion, BigQuaternion, BigRational, Complex, ComplexAlgebraicNumber, GenMatrix, GenPolynomial, GenSolvablePolynomial, Local, Local, ModInteger, ModLong, MultiVarPowerSeries, Product, Quotient, Quotient, RealAlgebraicNumber, RealAlgebraicNumber, Residue, Residue, UnivPowerSeries

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

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

Author:
Heinz Kredel

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
compareTo, equals, factory, hashCode, toScript, toScriptFactory
 

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).