All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.jas.structure.RingElem Maven / Gradle / Ivy

The newest version!
/*
 * $Id: RingElem.java 4056 2012-07-26 17:44:13Z kredel $
 */

package edu.jas.structure;


/**
 * Ring element interface. Combines additive and multiplicative methods. Adds
 * also gcd because of polynomials.
 * @param  ring element type
 * @author Heinz Kredel
 */

public interface RingElem> extends AbelianGroupElem, MonoidElem {


    //     /** Quotient and remainder.
    //      * @param b other element.
    //      * @return C[] { q, r } with this = q b + r and 0 ≤ r < |b|.
    //      */
    //     public C[] quotientRemainder(C b);


    /**
     * Greatest common divisor.
     * @param b other element.
     * @return gcd(this,b).
     */
    public C gcd(C b);


    /**
     * Extended greatest common divisor.
     * @param b other element.
     * @return [ gcd(this,b), c1, c2 ] with c1*this + c2*b = gcd(this,b).
     */
    public C[] egcd(C b);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy