001/*
002 * $Id: TaylorFunctionAdapter.java 3342 2010-10-06 19:55:37Z kredel $
003 */
004
005package edu.jas.ps;
006
007
008import java.util.List;
009
010import edu.jas.poly.ExpVector;
011import edu.jas.structure.RingElem;
012
013
014/**
015 * Adapter for functions capable for Taylor series expansion.
016 * @param <C> ring element type
017 * @author Heinz Kredel
018 */
019
020public abstract class TaylorFunctionAdapter<C extends RingElem<C>> implements TaylorFunction<C> {
021
022
023    /**
024     * Get the factorial coefficient.
025     * @return factorial coefficient.
026     */
027    public long getFacul() {
028        return 1L;
029    }
030
031
032    /**
033     * Test if this is zero.
034     * @return true if this is 0, else false.
035     */
036    public boolean isZERO() {
037        throw new UnsupportedOperationException("not implemented");
038    }
039
040
041
042    /**
043     * Deriviative.
044     * @return deriviative of this.
045     */
046    public TaylorFunction<C> deriviative() {
047        throw new UnsupportedOperationException("not implemented");
048    }
049
050
051    /**
052     * Multi-partial deriviative.
053     * @param i exponent vector.
054     * @return partial deriviative of this with respect to all variables.
055     */
056    public TaylorFunction<C> deriviative(ExpVector i) {
057        throw new UnsupportedOperationException("not implemented");
058    }
059
060
061    /**
062     * Evaluate.
063     * @param a element.
064     * @return this(a).
065     */
066    public C evaluate(C a) {
067        throw new UnsupportedOperationException("not implemented");
068    }
069
070
071    /**
072     * Evaluate at a tuple of elements.
073     * @param a tuple of elements.
074     * @return this(a).
075     */
076    public C evaluate(List<C> a) {
077        throw new UnsupportedOperationException("not implemented");
078    }
079
080}