edu.jas.gb
Class GroebnerBaseParallel<C extends RingElem<C>>

java.lang.Object
  extended by edu.jas.gb.GroebnerBaseAbstract<C>
      extended by edu.jas.gb.GroebnerBaseParallel<C>
Type Parameters:
C - coefficient type
All Implemented Interfaces:
GroebnerBase<C>, java.io.Serializable

public class GroebnerBaseParallel<C extends RingElem<C>>
extends GroebnerBaseAbstract<C>

Groebner Base parallel algortihm. Implements a shared memory parallel version of Groebner bases.

Author:
Heinz Kredel
See Also:
Serialized Form

Field Summary
protected  ThreadPool pool
          Pool of threads to use.
protected  int threads
          Number of threads to use.
 
Fields inherited from class edu.jas.gb.GroebnerBaseAbstract
blas, red, strategy
 
Constructor Summary
GroebnerBaseParallel()
          Constructor.
GroebnerBaseParallel(int threads)
          Constructor.
GroebnerBaseParallel(int threads, Reduction<C> red)
          Constructor.
GroebnerBaseParallel(int threads, Reduction<C> red, PairList<C> pl)
          Constructor.
GroebnerBaseParallel(int threads, ThreadPool pool)
          Constructor.
GroebnerBaseParallel(int threads, ThreadPool pool, Reduction<C> red)
          Constructor.
GroebnerBaseParallel(int threads, ThreadPool pool, Reduction<C> red, PairList<C> pl)
          Constructor.
 
Method Summary
 int cancel()
          Cancel ThreadPool.
 java.util.List<GenPolynomial<C>> GB(int modv, java.util.List<GenPolynomial<C>> F)
          Parallel Groebner base using pairlist class.
 java.util.List<GenPolynomial<C>> minimalGB(java.util.List<GenPolynomial<C>> Fp)
          Minimal ordered groebner basis, parallel.
 void terminate()
          Cleanup and terminate ThreadPool.
 
Methods inherited from class edu.jas.gb.GroebnerBaseAbstract
commonZeroTest, extGB, extGB, GB, isGB, isGB, isReductionMatrix, isReductionMatrix, minimalExtendedGB, normalizeMatrix
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

threads

protected final int threads
Number of threads to use.


pool

protected final ThreadPool pool
Pool of threads to use.

Constructor Detail

GroebnerBaseParallel

public GroebnerBaseParallel()
Constructor.


GroebnerBaseParallel

public GroebnerBaseParallel(int threads)
Constructor.

Parameters:
threads - number of threads to use.

GroebnerBaseParallel

public GroebnerBaseParallel(int threads,
                            Reduction<C> red)
Constructor.

Parameters:
threads - number of threads to use.
red - parallelism aware reduction engine

GroebnerBaseParallel

public GroebnerBaseParallel(int threads,
                            ThreadPool pool)
Constructor.

Parameters:
threads - number of threads to use.
pool - ThreadPool to use.

GroebnerBaseParallel

public GroebnerBaseParallel(int threads,
                            ThreadPool pool,
                            Reduction<C> red)
Constructor.

Parameters:
pool - ThreadPool to use.
red - Reduction engine

GroebnerBaseParallel

public GroebnerBaseParallel(int threads,
                            Reduction<C> red,
                            PairList<C> pl)
Constructor.

Parameters:
red - Reduction engine
pl - pair selection strategy

GroebnerBaseParallel

public GroebnerBaseParallel(int threads,
                            ThreadPool pool,
                            Reduction<C> red,
                            PairList<C> pl)
Constructor.

Parameters:
threads - number of threads to use.
pool - ThreadPool to use.
red - parallelism aware reduction engine
pl - pair selection strategy
Method Detail

terminate

public void terminate()
Cleanup and terminate ThreadPool.

Overrides:
terminate in class GroebnerBaseAbstract<C extends RingElem<C>>

cancel

public int cancel()
Cancel ThreadPool.

Overrides:
cancel in class GroebnerBaseAbstract<C extends RingElem<C>>

GB

public java.util.List<GenPolynomial<C>> GB(int modv,
                                           java.util.List<GenPolynomial<C>> F)
Parallel Groebner base using pairlist class.

Parameters:
modv - number of module variables.
F - polynomial list.
Returns:
GB(F) a Groebner base of F.

minimalGB

public java.util.List<GenPolynomial<C>> minimalGB(java.util.List<GenPolynomial<C>> Fp)
Minimal ordered groebner basis, parallel.

Specified by:
minimalGB in interface GroebnerBase<C extends RingElem<C>>
Overrides:
minimalGB in class GroebnerBaseAbstract<C extends RingElem<C>>
Parameters:
Fp - a Groebner base.
Returns:
minimalGB(F) a minimal Groebner base of Fp.