Package edu.jas.gb
Class GroebnerBaseDistributedMPJ<C extends edu.jas.structure.RingElem<C>>
- java.lang.Object
-
- edu.jas.gb.GroebnerBaseAbstract<C>
-
- edu.jas.gb.GroebnerBaseDistributedMPJ<C>
-
- Type Parameters:
C
- coefficient type
- All Implemented Interfaces:
edu.jas.gb.GroebnerBase<C>
,java.io.Serializable
public class GroebnerBaseDistributedMPJ<C extends edu.jas.structure.RingElem<C>> extends edu.jas.gb.GroebnerBaseAbstract<C>
Groebner Base distributed algorithm with MPJ. Implements a distributed memory parallel version of Groebner bases. Using MPJ and pairlist class, distributed tasks do reduction.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_THREADS
Default number of threads.protected mpi.Comm
engine
protected edu.jas.util.ThreadPool
pool
protected int
threads
Number of threads to use.
-
Constructor Summary
Constructors Constructor Description GroebnerBaseDistributedMPJ()
Constructor.GroebnerBaseDistributedMPJ(int threads)
Constructor.GroebnerBaseDistributedMPJ(int threads, edu.jas.gb.PairList<C> pl)
Constructor.GroebnerBaseDistributedMPJ(int threads, edu.jas.util.ThreadPool pool)
Constructor.GroebnerBaseDistributedMPJ(int threads, edu.jas.util.ThreadPool pool, edu.jas.gb.PairList<C> pl)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clientPart(int rank)
GB distributed client.java.util.List<edu.jas.poly.GenPolynomial<C>>
GB(int modv, java.util.List<edu.jas.poly.GenPolynomial<C>> F)
Distributed Groebner base.(package private) java.util.List<edu.jas.poly.GenPolynomial<C>>
GBmaster(int modv, java.util.List<edu.jas.poly.GenPolynomial<C>> F)
Distributed Groebner base, part for MPJ master.java.util.List<edu.jas.poly.GenPolynomial<C>>
minimalGB(java.util.List<edu.jas.poly.GenPolynomial<C>> Fp)
Minimal ordered groebner basis.void
terminate()
Cleanup and terminate ThreadPool.-
Methods inherited from class edu.jas.gb.GroebnerBaseAbstract
cancel, commonZeroTest, constructUnivariate, criterion3, extGB, extGB, GB, GB, GB, isGB, isGB, isGB, isGB, isGB, isGB, isGBidem, isGBsimple, isMinimalGB, isMinReductionMatrix, isMinReductionMatrix, isReductionMatrix, isReductionMatrix, minimalExtendedGB, normalizeMatrix, normalizeZerosOnes, toString, univariateDegrees
-
-
-
-
Field Detail
-
threads
protected final int threads
Number of threads to use.
-
DEFAULT_THREADS
public static final int DEFAULT_THREADS
Default number of threads.- See Also:
- Constant Field Values
-
pool
protected final transient edu.jas.util.ThreadPool pool
-
engine
protected final transient mpi.Comm engine
-
-
Constructor Detail
-
GroebnerBaseDistributedMPJ
public GroebnerBaseDistributedMPJ() throws java.io.IOException
Constructor.- Throws:
java.io.IOException
-
GroebnerBaseDistributedMPJ
public GroebnerBaseDistributedMPJ(int threads) throws java.io.IOException
Constructor.- Parameters:
threads
- number of threads to use.- Throws:
java.io.IOException
-
GroebnerBaseDistributedMPJ
public GroebnerBaseDistributedMPJ(int threads, edu.jas.util.ThreadPool pool) throws java.io.IOException
Constructor.- Parameters:
threads
- number of threads to use.pool
- ThreadPool to use.- Throws:
java.io.IOException
-
GroebnerBaseDistributedMPJ
public GroebnerBaseDistributedMPJ(int threads, edu.jas.gb.PairList<C> pl) throws java.io.IOException
Constructor.- Parameters:
threads
- number of threads to use.pl
- pair selection strategy- Throws:
java.io.IOException
-
GroebnerBaseDistributedMPJ
public GroebnerBaseDistributedMPJ(int threads, edu.jas.util.ThreadPool pool, edu.jas.gb.PairList<C> pl) throws java.io.IOException
Constructor.- Parameters:
threads
- number of threads to use.pool
- ThreadPool to use.pl
- pair selection strategy- Throws:
java.io.IOException
-
-
Method Detail
-
terminate
public void terminate()
Cleanup and terminate ThreadPool.
-
GB
public java.util.List<edu.jas.poly.GenPolynomial<C>> GB(int modv, java.util.List<edu.jas.poly.GenPolynomial<C>> F)
Distributed Groebner base.- Parameters:
modv
- number of module variables.F
- polynomial list.- Returns:
- GB(F) a Groebner base of F or null, if a IOException occurs or on MPJ client part.
-
GBmaster
java.util.List<edu.jas.poly.GenPolynomial<C>> GBmaster(int modv, java.util.List<edu.jas.poly.GenPolynomial<C>> F) throws java.io.IOException
Distributed Groebner base, part for MPJ master.- Parameters:
modv
- number of module variables.F
- polynomial list.- Returns:
- GB(F) a Groebner base of F or null, if a IOException occurs.
- Throws:
java.io.IOException
-
clientPart
public void clientPart(int rank) throws java.io.IOException
GB distributed client.- Parameters:
rank
- of the MPJ where the server runs on.- Throws:
java.io.IOException
-
-