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 }