001/* 002 * $Id: ModSolvableGroebnerBaseSeq.java 5265 2015-07-27 17:17:49Z kredel $ 003 */ 004 005package edu.jas.gbmod; 006 007 008import java.util.List; 009 010// import org.apache.log4j.Logger; 011import edu.jas.gb.SolvableGroebnerBaseAbstract; 012import edu.jas.gbufd.SGBFactory; 013import edu.jas.poly.GenSolvablePolynomial; 014import edu.jas.structure.GcdRingElem; 015import edu.jas.structure.RingFactory; 016 017 018/** 019 * Module solvable Groebner Bases sequential class. Implements module solvable 020 * Groebner bases and GB test. 021 * @param <C> coefficient type 022 * @author Heinz Kredel 023 * @deprecated use respective methods from SolvableGroebnerBaseSeq 024 */ 025@Deprecated 026public class ModSolvableGroebnerBaseSeq<C extends GcdRingElem<C>> extends ModSolvableGroebnerBaseAbstract<C> { 027 028 029 //private static final Logger logger = Logger.getLogger(ModSolvableGroebnerBaseSeq.class); 030 031 032 //private final boolean debug = logger.isDebugEnabled(); 033 034 035 /** 036 * Used Solvable Groebner base algorithm. 037 */ 038 protected final SolvableGroebnerBaseAbstract<C> sbb; 039 040 041 /** 042 * Constructor. 043 * @param cf coefficient ring. 044 */ 045 public ModSolvableGroebnerBaseSeq(RingFactory<C> cf) { 046 this(SGBFactory.getImplementation(cf)); 047 } 048 049 050 /** 051 * Constructor. 052 * @param sbb solvable Groebner base implementation. 053 */ 054 public ModSolvableGroebnerBaseSeq(SolvableGroebnerBaseAbstract<C> sbb) { 055 this.sbb = sbb; 056 } 057 058 059 /** 060 * Module left Groebner base test. 061 * @param modv number of modul variables. 062 * @param F a module basis. 063 * @return true, if F is a left Groebner base, else false. 064 */ 065 public boolean isLeftGB(int modv, List<GenSolvablePolynomial<C>> F) { 066 return sbb.isLeftGB(modv, F); 067 } 068 069 070 /** 071 * Left Groebner base using pairlist class. 072 * @param modv number of modul variables. 073 * @param F a module basis. 074 * @return leftGB(F) a left Groebner base for F. 075 */ 076 public List<GenSolvablePolynomial<C>> leftGB(int modv, List<GenSolvablePolynomial<C>> F) { 077 return sbb.leftGB(modv, F); 078 } 079 080 081 /** 082 * Module twosided Groebner base test. 083 * @param modv number of modul variables. 084 * @param F a module basis. 085 * @return true, if F is a twosided Groebner base, else false. 086 */ 087 public boolean isTwosidedGB(int modv, List<GenSolvablePolynomial<C>> F) { 088 return sbb.isTwosidedGB(modv, F); 089 } 090 091 092 /** 093 * Twosided Groebner base using pairlist class. 094 * @param modv number of modul variables. 095 * @param F a module basis. 096 * @return tsGB(F) a twosided Groebner base for F. 097 */ 098 public List<GenSolvablePolynomial<C>> twosidedGB(int modv, List<GenSolvablePolynomial<C>> F) { 099 return sbb.twosidedGB(modv, F); 100 } 101 102 103 /** 104 * Module right Groebner base test. 105 * @param modv number of modul variables. 106 * @param F a module basis. 107 * @return true, if F is a right Groebner base, else false. 108 */ 109 public boolean isRightGB(int modv, List<GenSolvablePolynomial<C>> F) { 110 return sbb.isRightGB(modv, F); 111 } 112 113 114 /** 115 * Right Groebner base using pairlist class. 116 * @param modv number of modul variables. 117 * @param F a module basis. 118 * @return rightGB(F) a right Groebner base for F. 119 */ 120 public List<GenSolvablePolynomial<C>> rightGB(int modv, List<GenSolvablePolynomial<C>> F) { 121 if (modv == 0) { 122 return sbb.rightGB(modv, F); 123 } 124 throw new UnsupportedOperationException("modv != 0 not jet implemented"); 125 // return sbb.rightGB(modv,F); 126 } 127 128}