JSci.maths.polynomials.Polynomial Maven / Gradle / Ivy
package JSci.maths.polynomials;
import JSci.maths.fields.Field;
/** A Polynomial as a Ring.Member
over a Field
* @author b.dietrich
* @jsci.planetmath Polynomial
*/
public interface Polynomial extends JSci.maths.fields.Ring.Member {
/** Get the coefficient of degree k, i.e. a_k if
* P(x) := sum_{k=0}^n a_k x^k
* @param k degree
* @return coefficient as described above
*/
public Field.Member getCoefficient( int k );
/** Get the coefficients as an array
* @return the coefficients as an array
*/
public Field.Member[] getCoefficients();
/** The degree.
* @return the degree
*/
public int degree();
/** Return a new Polynomial with coefficients divided by a
* @param a divisor
* @return new Polynomial with coefficients /= a
*/
public Polynomial scalarDivide( Field.Member a );
/** Return a new Polynomial with coefficients multiplied by a
* @param a factor
* @return new Polynomial with coefficients *= a
*/
public Polynomial scalarMultiply( Field.Member a );
}