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 }