001    /*
002     * $Id: TaylorFunctionAdapter.java 3342 2010-10-06 19:55:37Z kredel $
003     */
004    
005    package edu.jas.ps;
006    
007    
008    import java.util.List;
009    
010    import edu.jas.poly.ExpVector;
011    import 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    
020    public 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    }