org.uacalc.alg
Class Closer

java.lang.Object
  extended by org.uacalc.alg.Closer

public class Closer
extends java.lang.Object

A class for finding the closure with configurations for several options and fields to hold side results. It only deals with BigProduct's now. We might call it BigProductCloser and have Closer as an interface.

Author:
ralph

Constructor Summary
Closer(BigProductAlgebra alg, java.util.List<IntArray> gens)
           
Closer(BigProductAlgebra alg, java.util.List<IntArray> gens, boolean makeTermMap)
           
Closer(BigProductAlgebra alg, java.util.List<IntArray> gens, java.util.Map<IntArray,Term> termMap)
           
 
Method Summary
 boolean allElementsFound()
           
 java.util.List<IntArray> close()
           
 long countFuncApplications(int size0, int size1)
           
 void doOneStagePartialClosure(java.util.concurrent.ConcurrentHashMap<IntArray,Term> map, int indexInCPUs, int numOfOps, int closedMark, int currentMark, boolean reportNotNull, java.util.List<int[]> rawList, CloserTiming timing)
          Note this assumes termMap is not null !!!!!!!!
 java.util.List<IntArray> getAnswer()
           
 int[][] getBlocks()
           
 java.util.List<IntArray> getElementsToFind()
           
 IntArray getElementToFind()
           
 Equation getFailingEquation()
           
 java.util.List<IntArray> getGenerators()
           
 java.util.Map<IntArray,java.lang.Integer> getHomomorphism()
           
 SmallAlgebra getImageAlgebra()
           
 Term getTermForOperation()
           
 java.util.Map<IntArray,Term> getTermMap()
           
 int[][] getValues()
           
 void setBlocks(int[][] blocks)
           
 void setElementsToFind(java.util.List<IntArray> e, java.util.List<IntArray> gens)
           
 void setElementToFind(IntArray e)
           
 void setGenerators(java.util.List<IntArray> generators)
           
 void setHomomorphism(int[] algGens)
           
 void setHomomorphism(java.util.Map<IntArray,java.lang.Integer> homomorphism)
           
 void setImageAlgebra(SmallAlgebra alg)
           
 void setOperation(Operation op)
           
 void setProgressReport(ProgressReport report)
           
 void setRootAlgebra(SmallAlgebra alg)
           
 void setTermMap(java.util.Map<IntArray,Term> termMap)
           
 void setValues(int[][] values)
           
 java.util.List<IntArray> sgClose()
           
 java.util.List<IntArray> sgClose(java.util.List<IntArray> elems, int closedMark, java.util.Map<IntArray,Term> termMap)
          Closure of elems under the operations.
 java.util.List<IntArray> sgCloseParallel(java.util.List<IntArray> elems, int closedMark, java.util.Map<IntArray,Term> termMap)
          Closure of elems under the operations.
 java.util.List<IntArray> sgClosePower()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Closer

public Closer(BigProductAlgebra alg,
              java.util.List<IntArray> gens)

Closer

public Closer(BigProductAlgebra alg,
              java.util.List<IntArray> gens,
              java.util.Map<IntArray,Term> termMap)

Closer

public Closer(BigProductAlgebra alg,
              java.util.List<IntArray> gens,
              boolean makeTermMap)
Method Detail

getAnswer

public java.util.List<IntArray> getAnswer()

getFailingEquation

public Equation getFailingEquation()

getTermForOperation

public Term getTermForOperation()

setRootAlgebra

public void setRootAlgebra(SmallAlgebra alg)

setOperation

public void setOperation(Operation op)

getGenerators

public java.util.List<IntArray> getGenerators()

setGenerators

public void setGenerators(java.util.List<IntArray> generators)

getTermMap

public java.util.Map<IntArray,Term> getTermMap()

setTermMap

public void setTermMap(java.util.Map<IntArray,Term> termMap)

getImageAlgebra

public SmallAlgebra getImageAlgebra()

setImageAlgebra

public void setImageAlgebra(SmallAlgebra alg)

getHomomorphism

public java.util.Map<IntArray,java.lang.Integer> getHomomorphism()

setHomomorphism

public void setHomomorphism(java.util.Map<IntArray,java.lang.Integer> homomorphism)

setHomomorphism

public void setHomomorphism(int[] algGens)

getElementToFind

public IntArray getElementToFind()

setElementToFind

public void setElementToFind(IntArray e)

getElementsToFind

public java.util.List<IntArray> getElementsToFind()

setElementsToFind

public void setElementsToFind(java.util.List<IntArray> e,
                              java.util.List<IntArray> gens)

allElementsFound

public boolean allElementsFound()

getBlocks

public int[][] getBlocks()

setBlocks

public void setBlocks(int[][] blocks)

getValues

public int[][] getValues()

setValues

public void setValues(int[][] values)

setProgressReport

public void setProgressReport(ProgressReport report)

close

public java.util.List<IntArray> close()

sgClose

public java.util.List<IntArray> sgClose()

sgClose

public java.util.List<IntArray> sgClose(java.util.List<IntArray> elems,
                                        int closedMark,
                                        java.util.Map<IntArray,Term> termMap)
Closure of elems under the operations. (Worry about nullary ops later.)

Parameters:
elems - a List of IntArray's
termMap - a Map from the element to the corresponding term used to generated it. The generators should be already in the Map. In other words the termMap should have the same number of entries as elems.
Returns:
a List of IntArray's.

sgCloseParallel

public java.util.List<IntArray> sgCloseParallel(java.util.List<IntArray> elems,
                                                int closedMark,
                                                java.util.Map<IntArray,Term> termMap)
Closure of elems under the operations. (Worry about nullary ops later.)

Parameters:
elems - a List of IntArray's
termMap - a Map from the element to the corresponding term used to generated it. The generators should be already in the Map. In other words the termMap should have the same number of entries as elems.
Returns:
a List of IntArray's.

sgClosePower

public java.util.List<IntArray> sgClosePower()

countFuncApplications

public long countFuncApplications(int size0,
                                  int size1)

doOneStagePartialClosure

public void doOneStagePartialClosure(java.util.concurrent.ConcurrentHashMap<IntArray,Term> map,
                                     int indexInCPUs,
                                     int numOfOps,
                                     int closedMark,
                                     int currentMark,
                                     boolean reportNotNull,
                                     java.util.List<int[]> rawList,
                                     CloserTiming timing)
Note this assumes termMap is not null !!!!!!!!

Parameters:
map -
indexInCPUs -
numOfOps -
closedMark -
currentMark -
reportNotNull -
rawList -
timing -


Copyright 2003 Ralph Freese. All Rights Reserved.