/*
 * $Id$
 */

package edu.jas.fd;


import java.io.Serializable;
import java.util.List;

import edu.jas.poly.GenSolvablePolynomial;
import edu.jas.structure.GcdRingElem;


/**
 * (Non-unique) factorization domain greatest common divisor algorithm interface.
 * @param  coefficient type
 * @author Heinz Kredel
 */

public interface GreatestCommonDivisor> extends Serializable {


    /**
     * GenSolvablePolynomial content.
     * @param P GenSolvablePolynomial.
     * @return cont(P).
     */
    public GenSolvablePolynomial content(GenSolvablePolynomial P);


    /**
     * GenSolvablePolynomial primitive part.
     * @param P GenSolvablePolynomial.
     * @return pp(P).
     */
    public GenSolvablePolynomial primitivePart(GenSolvablePolynomial P);


    /**
     * GenSolvablePolynomial greatest comon divisor.
     * @param P GenSolvablePolynomial.
     * @param S GenSolvablePolynomial.
     * @return gcd(P,S).
     */
    public GenSolvablePolynomial gcd(GenSolvablePolynomial P, GenSolvablePolynomial S);


    /**
     * GenSolvablePolynomial least comon multiple.
     * @param P GenSolvablePolynomial.
     * @param S GenSolvablePolynomial.
     * @return lcm(P,S).
     */
    public GenSolvablePolynomial lcm(GenSolvablePolynomial P, GenSolvablePolynomial S);


    /**
     * GenSolvablePolynomial co-prime list.
     * @param A list of GenSolvablePolynomials.
     * @return B with gcd(b,c) = 1 for all b != c in B and for all non-constant
     *         a in A there exists b in B with b|a. B does not contain zero or
     *         constant polynomials.
     */
    public List> coPrime(List> A);


    /**
     * GenSolvablePolynomial test for co-prime list.
     * @param A list of GenSolvablePolynomials.
     * @return true if gcd(b,c) = 1 for all b != c in B, else false.
     */
    public boolean isCoPrime(List> A);

}

 

Ads help maintain this website.