public class CongruenceLattice extends java.lang.Object implements Lattice
| Modifier and Type | Field and Description | 
|---|---|
static int | 
MAX_DRAWABLE_INPUT_SIZE  | 
static int | 
MAX_DRAWABLE_SIZE  | 
static ProgressReport | 
monitor  | 
CARDINALITY_COUNTABLE, CARDINALITY_COUNTABLY_INFINITE, CARDINALITY_FINITE, CARDINALITY_INFINITE, CARDINALITY_UNKNOWN| Constructor and Description | 
|---|
CongruenceLattice(SmallAlgebra alg)  | 
| Modifier and Type | Method and Description | 
|---|---|
java.util.List<Partition> | 
atoms()  | 
java.util.List<CentralityData> | 
calcCentrality(BinaryRelation S,
              BinaryRelation T)
Given tolerances (or congruences) S and T, this tests, for every
 congruence delta of A, if S centralizes T mod delta. 
 | 
java.util.List<CentralityData> | 
calcCentrality(BinaryRelation S,
              BinaryRelation T,
              ProgressReport report)  | 
int | 
cardinality()  | 
SubProductElement | 
centralityFailure(BinaryRelation S,
                 BinaryRelation T,
                 Partition delta)
Find a witness to the failure of centrality, or null
 if there is none. 
 | 
SubProductElement | 
centralityFailure(BinaryRelation S,
                 BinaryRelation T,
                 Partition delta,
                 SubProductAlgebra mats)  | 
boolean | 
centralizes(BinaryRelation S,
           BinaryRelation T,
           Partition delta)  | 
boolean | 
centralizes(BinaryRelation S,
           BinaryRelation T,
           Partition delta,
           SubProductAlgebra mats)  | 
Partition | 
Cg_Old(Partition part,
      ProgressReport report)  | 
Partition | 
Cg(int a,
  int b)  | 
Partition | 
Cg(int a,
  int b,
  ProgressReport report)
The congruence generated by ints a and b. 
 | 
Partition | 
Cg(java.lang.Object a,
  java.lang.Object b)
The congruence generated by Object a and b. 
 | 
Partition | 
Cg(Partition part)
The smallest congruence containing  
part. | 
Partition | 
Cg(Partition part,
  ProgressReport report)
The smallest congruence containing  
part. | 
java.util.List<Partition> | 
coatoms()
This is not implemented yet. 
 | 
Partition | 
commutator(BinaryRelation S,
          BinaryRelation T)
Calculate the commutator of S and T, which are
 tolerances or congruences. 
 | 
Partition | 
commutator(BinaryRelation S,
          BinaryRelation T,
          java.util.List<CentralityData> centralityList,
          ProgressReport report)  | 
java.util.List<Partition> | 
complements(Partition par)
Returns a list of the complements of  
par. | 
CongruenceLattice | 
con()
Get Con(Con(A)). 
 | 
java.util.List<Operation> | 
constantOperations()
This gives a list of the operations of arity 0, which is
 a little different from the constants. 
 | 
Partition | 
findCoatomAbove(Partition theta)
find a coaton of the congruence lattice greater than
 or equal to theta. 
 | 
Partition | 
findJoinIrred(Partition a,
             Partition b)
This finds a join irreducible congruence which is minimal with
 respect to being below  
b and not below a. | 
java.util.List<Partition> | 
findL3Generators()
Find congruences alpha, beta, gamma which generate L3
 of Jonsson-Rival notation; see Fig 2.2 of Jipsen-Rose. 
 | 
java.util.List<Partition> | 
findLPJ10Generators()  | 
java.util.List<Partition> | 
findLXXGenerators()  | 
Partition | 
findMeetIrred(Partition a,
             Partition b)
This finds a meet irreducible congruence which is maximal with
 respect to being above  
a and not above b. | 
java.util.List<Partition> | 
findPrincipalChain()
Find a chain where each element is the join of the previous
 one and a principal congruence. 
 | 
Partition | 
findUpperCover(Partition congr)
Find some upper cover of congr. 
 | 
IntArray | 
generatingPair(Partition part)
Find a pair [a, b] (as an IntArray) which generates part. 
 | 
SmallAlgebra | 
getAlgebra()
Get the algebra this is the congruence lattice of. 
 | 
BasicLattice | 
getBasicLattice()  | 
BasicLattice | 
getBasicLattice(boolean makeIfNull)
Get the BasicLattice used primarily for drawing. 
 | 
javax.swing.JTable | 
getConTable()  | 
java.lang.String | 
getDescription()  | 
org.latdraw.diagram.Diagram | 
getDiagram()  | 
java.util.Map<Partition,Subtrace> | 
getJoinIrredToSubtraceMap()  | 
int | 
getMakeUniverseK()  | 
ProgressReport | 
getMonitor()  | 
java.lang.String | 
getName()  | 
Operation | 
getOperation(OperationSymbol sym)
Get the operation correspond to a symbol or null if 
 the symbol is not part of the similarityType. 
 | 
java.util.Map<OperationSymbol,Operation> | 
getOperationsMap()  | 
Partition[] | 
getPermutabilityLevelWitnesses()  | 
int | 
getSizeComputed()  | 
TypeFinder | 
getTypeFinder()  | 
java.util.List<Partition> | 
getUniverseList()  | 
java.util.List<IntArray> | 
idempotentPolynomials()
Find the nonconstant, idempotent member of Pol1(A). 
 | 
int | 
inputSize()
The sum of the cardinality of the algebra raised
 to the arity of the operations. 
 | 
java.util.List<Partition> | 
irredundantMeetDecomposition()
Find a set of meet irreducible irredundantly meeting
 to zero. 
 | 
java.util.List<Partition> | 
irredundantMeetDecompositionOld()  | 
boolean | 
isDistributive()  | 
boolean | 
isDrawable()  | 
boolean | 
isIdempotent()
Test if all of the operations are idempotent. 
 | 
boolean | 
isSimilarTo(Algebra alg)  | 
boolean | 
isSmallerThan(int size)  | 
boolean | 
isTotal()
This will fail only if there are some OperationWithDefaultValue's
 which are not total. 
 | 
boolean | 
isUnary()  | 
java.util.Iterator<Partition> | 
iterator()
returns the iterator of the universe. 
 | 
java.lang.Object | 
join(java.util.List args)  | 
java.lang.Object | 
join(java.lang.Object a,
    java.lang.Object b)  | 
boolean | 
joinIrreducible(Partition part)  | 
java.util.List<Partition> | 
joinIrreducibles()
A list of the join irreducible congruences sorted
 by rank (in the partition lattice). 
 | 
java.util.List<Partition> | 
joinIrreducibles(ProgressReport report)
A list of the join irreducibles sorted by 
 rank (in the partition lattice); constructed if necessary. 
 | 
boolean | 
joinIrreduciblesFound()  | 
boolean | 
joinPrime(Partition beta)
Test if beta is join prime. 
 | 
boolean | 
leq(java.lang.Object a,
   java.lang.Object b)
The order relation. 
 | 
Partition | 
lowerStar(Partition beta)
If  
beta is join irreducible, this gives its lower
 cover; otherwise null. | 
static void | 
main(java.lang.String[] args)  | 
void | 
makeAtoms()  | 
java.util.List<Partition> | 
makeIrredundantMeet(java.util.List<Partition> list)  | 
void | 
makeJoinIrreducibles(ProgressReport report)  | 
void | 
makeOperationTables()
Make operation tables to speed up the evaluation of operations at
 the cost using more space. 
 | 
void | 
makePrincipals(ProgressReport report)  | 
void | 
makeUniverse()  | 
void | 
makeUniverse(int size)  | 
void | 
makeUniverse(int maxSize,
            ProgressReport report)
Construct the universe. 
 | 
void | 
makeUniverse(ProgressReport report)  | 
SubProductAlgebra | 
matrices(BinaryRelation S,
        BinaryRelation T,
        ProgressReport report)
The set M(S,T) as in Kearnes-Kiss and other places. 
 | 
java.lang.Object | 
meet(java.util.List args)  | 
java.lang.Object | 
meet(java.lang.Object a,
    java.lang.Object b)  | 
boolean | 
meetIrreducible(Partition part)  | 
java.util.List<Partition> | 
meetIrreducibles()
An optional operation returning the list of meet irreducible elements. 
 | 
static java.util.List<Partition> | 
minimalElements(java.util.List<Partition> parList)
Find the min elements of a topologically sorted list. 
 | 
boolean | 
monitoring()  | 
Partition | 
one()  | 
java.util.List | 
operations()  | 
int | 
permutabilityLevel()
Get the permutabiltiy level of this lattice (not the
 whole variety). 
 | 
java.util.List<Partition> | 
principals()
A list of the principal congruences sorted by 
 rank (in the partition lattice). 
 | 
java.util.List<Partition> | 
principals(ProgressReport report)
A list of the principal congruences sorted by
 rank (in the partition lattice). 
 | 
void | 
setConTable(javax.swing.JTable table)  | 
void | 
setDescription(java.lang.String desc)  | 
void | 
setMonitor(ProgressReport m)  | 
void | 
setName(java.lang.String v)  | 
SimilarityType | 
similarityType()  | 
void | 
sortByRank(java.util.List<Partition> lst)
Sort by rank (in the partition lattice). 
 | 
void | 
stopMakeUniverse()  | 
Partition | 
strongRectangularityCommutator(BinaryRelation S,
                              BinaryRelation T)
Calculate the strong rectangular commutator of S and T, which are
 tolerances or congruences. 
 | 
Partition | 
strongRectangularityCommutator(BinaryRelation S,
                              BinaryRelation T,
                              java.util.List<CentralityData> centralityList,
                              ProgressReport report)  | 
SubProductElement | 
strongRectangularityFailure(BinaryRelation S,
                           BinaryRelation T,
                           Partition delta)
Find a witness to the failure of strong rectangularity, or null
 if there is none. 
 | 
SubProductElement | 
strongRectangularityFailure(BinaryRelation S,
                           BinaryRelation T,
                           Partition delta,
                           SubProductAlgebra mats)  | 
SubalgebraLattice | 
sub()  | 
Subtrace | 
subtrace(Partition beta)
Find a subtrace for beta over its lower cover. 
 | 
Subtrace | 
subtrace(Partition beta,
        Partition alpha)
Find a subtrace for beta over alpha. 
 | 
BinaryRelation | 
Tg(int a,
  int b)
The tolerance generated by int a and b. 
 | 
int | 
type(Partition beta)  | 
int | 
type(Partition beta,
    Partition alpha)  | 
int | 
type(Partition beta,
    Partition alpha,
    ProgressReport report)
Find the type for beta over alpha. 
 | 
int | 
typeJI(Partition beta,
      ProgressReport report)
Find the type of beta over its lower cover. 
 | 
java.util.Set<java.lang.Integer> | 
typeSet()  | 
java.util.Set<java.lang.Integer> | 
typeSet(ProgressReport report)  | 
java.util.Set<Partition> | 
universe()
We use java.util.Set to hold the universe of the algebra. 
 | 
java.util.Set<Partition> | 
universe(ProgressReport report)  | 
boolean | 
universeFound()  | 
void | 
updateSimilarityType()
Not allowed, of course. 
 | 
java.util.Map<Partition,java.util.List<Partition>> | 
upperCoversMap()  | 
SubProductElement | 
weakCentralityFailure(BinaryRelation S,
                     BinaryRelation T,
                     Partition delta)
Find a witness to the failure of weak centrality, or null
 if there is none. 
 | 
SubProductElement | 
weakCentralityFailure(BinaryRelation S,
                     BinaryRelation T,
                     Partition delta,
                     SubProductAlgebra mats)  | 
Partition | 
weakCommutator(BinaryRelation S,
              BinaryRelation T)
Calculate the weak commutator of S and T, which are
 tolerances or congruences. 
 | 
Partition | 
weakCommutator(BinaryRelation S,
              BinaryRelation T,
              java.util.List<CentralityData> centralityList,
              ProgressReport report)  | 
Partition | 
zero()  | 
public static ProgressReport monitor
public static final int MAX_DRAWABLE_SIZE
public static final int MAX_DRAWABLE_INPUT_SIZE
public CongruenceLattice(SmallAlgebra alg)
public void setMonitor(ProgressReport m)
setMonitor in interface Algebrapublic ProgressReport getMonitor()
getMonitor in interface Algebrapublic final boolean monitoring()
monitoring in interface Algebrapublic boolean isTotal()
Algebrapublic SmallAlgebra getAlgebra()
public java.lang.String getDescription()
getDescription in interface Algebrapublic void setDescription(java.lang.String desc)
setDescription in interface Algebrapublic boolean isSmallerThan(int size)
public boolean isDrawable()
public BasicLattice getBasicLattice()
public BasicLattice getBasicLattice(boolean makeIfNull)
public org.latdraw.diagram.Diagram getDiagram()
public javax.swing.JTable getConTable()
public void setConTable(javax.swing.JTable table)
public CongruenceLattice con()
public SubalgebraLattice sub()
public java.util.List<Partition> principals()
public java.util.List<Partition> principals(ProgressReport report)
report - the ProgressReportpublic int cardinality()
cardinality in interface Algebrapublic int inputSize()
Algebrapublic java.util.Set<Partition> universe()
Algebrapublic java.util.Set<Partition> universe(ProgressReport report)
public java.util.List<Partition> getUniverseList()
public boolean isSimilarTo(Algebra alg)
isSimilarTo in interface Algebrapublic SimilarityType similarityType()
similarityType in interface Algebrapublic void updateSimilarityType()
updateSimilarityType in interface Algebrapublic java.util.Iterator<Partition> iterator()
Algebrapublic boolean joinIrreduciblesFound()
public java.util.List<Partition> joinIrreducibles()
joinIrreducibles in interface Latticepublic java.util.List<Partition> joinIrreducibles(ProgressReport report)
public boolean joinIrreducible(Partition part)
public java.util.List<Partition> meetIrreducibles()
LatticemeetIrreducibles in interface Latticepublic boolean meetIrreducible(Partition part)
public void makeAtoms()
public java.util.List<Partition> coatoms()
public java.lang.Object join(java.lang.Object a,
                             java.lang.Object b)
public java.lang.Object meet(java.lang.Object a,
                             java.lang.Object b)
public boolean leq(java.lang.Object a,
                   java.lang.Object b)
Orderpublic java.util.List<Partition> complements(Partition par)
par.par - public java.util.List<Partition> findL3Generators()
public java.util.List<Partition> findLXXGenerators()
public java.util.List<Partition> findLPJ10Generators()
public java.util.List<Operation> constantOperations()
AlgebraconstantOperations in interface Algebrapublic java.util.List operations()
operations in interface Algebrapublic Operation getOperation(OperationSymbol sym)
AlgebragetOperation in interface Algebrapublic java.util.Map<OperationSymbol,Operation> getOperationsMap()
getOperationsMap in interface Algebrapublic void makePrincipals(ProgressReport report)
public boolean universeFound()
public void stopMakeUniverse()
public int getMakeUniverseK()
public int getSizeComputed()
public void makeUniverse(ProgressReport report)
public void makeUniverse(int size)
public void makeUniverse()
public void makeUniverse(int maxSize,
                         ProgressReport report)
public boolean joinPrime(Partition beta)
public boolean isDistributive()
public void makeJoinIrreducibles(ProgressReport report)
public void sortByRank(java.util.List<Partition> lst)
lst - public Partition lowerStar(Partition beta)
beta is join irreducible, this gives its lower
 cover; otherwise null.public Partition Cg(java.lang.Object a, java.lang.Object b)
a - an Objectb - an Objectpublic Partition Cg(int a, int b)
public Partition Cg(int a, int b, ProgressReport report)
a - an intb - an intpublic Partition Cg(Partition part)
part.part - the generating partition in canonical formpublic Partition Cg(Partition part, ProgressReport report)
part.part - the generating partition in canonical formpublic Partition Cg_Old(Partition part, ProgressReport report)
public BinaryRelation Tg(int a, int b)
a - b - public Partition strongRectangularityCommutator(BinaryRelation S, BinaryRelation T)
S - a tolerance or congruenceT - a tolerance or congruencepublic Partition strongRectangularityCommutator(BinaryRelation S, BinaryRelation T, java.util.List<CentralityData> centralityList, ProgressReport report)
public Partition weakCommutator(BinaryRelation S, BinaryRelation T)
S - a tolerance or congruenceT - a tolerance or congruencepublic Partition weakCommutator(BinaryRelation S, BinaryRelation T, java.util.List<CentralityData> centralityList, ProgressReport report)
public Partition commutator(BinaryRelation S, BinaryRelation T)
S - a tolerance or congruenceT - a tolerance or congruencepublic Partition commutator(BinaryRelation S, BinaryRelation T, java.util.List<CentralityData> centralityList, ProgressReport report)
public java.util.List<CentralityData> calcCentrality(BinaryRelation S, BinaryRelation T)
S - T - public java.util.List<CentralityData> calcCentrality(BinaryRelation S, BinaryRelation T, ProgressReport report)
public SubProductElement strongRectangularityFailure(BinaryRelation S, BinaryRelation T, Partition delta)
S - T - delta - public SubProductElement strongRectangularityFailure(BinaryRelation S, BinaryRelation T, Partition delta, SubProductAlgebra mats)
public SubProductElement weakCentralityFailure(BinaryRelation S, BinaryRelation T, Partition delta)
S - T - delta - public SubProductElement weakCentralityFailure(BinaryRelation S, BinaryRelation T, Partition delta, SubProductAlgebra mats)
public SubProductElement centralityFailure(BinaryRelation S, BinaryRelation T, Partition delta)
S - T - delta - public SubProductElement centralityFailure(BinaryRelation S, BinaryRelation T, Partition delta, SubProductAlgebra mats)
public boolean centralizes(BinaryRelation S, BinaryRelation T, Partition delta)
public boolean centralizes(BinaryRelation S, BinaryRelation T, Partition delta, SubProductAlgebra mats)
public SubProductAlgebra matrices(BinaryRelation S, BinaryRelation T, ProgressReport report)
S - a binary relation but usually a tolerance or congruenceT - public java.util.Set<java.lang.Integer> typeSet()
public java.util.Set<java.lang.Integer> typeSet(ProgressReport report)
public int type(Partition beta)
public int typeJI(Partition beta, ProgressReport report)
public int type(Partition beta, Partition alpha, ProgressReport report)
public Subtrace subtrace(Partition beta)
public Subtrace subtrace(Partition beta, Partition alpha)
public TypeFinder getTypeFinder()
public IntArray generatingPair(Partition part)
public Partition findCoatomAbove(Partition theta)
theta - public java.util.List<Partition> findPrincipalChain()
public Partition findUpperCover(Partition congr)
congr - public static java.util.List<Partition> minimalElements(java.util.List<Partition> parList)
parList - a topologically sorted list of partitionspublic Partition findMeetIrred(Partition a, Partition b)
a and not above b.
 Note if a is covered by b then
 [a,b] transposes up to [m,m*].public Partition findJoinIrred(Partition a, Partition b)
b and not below a.
 Note if a is covered by b then
 [a,b] transposes down to [j,j_*].public final Partition zero()
public final Partition one()
public java.util.List<Partition> irredundantMeetDecomposition()
public java.util.List<Partition> irredundantMeetDecompositionOld()
public java.util.List<Partition> makeIrredundantMeet(java.util.List<Partition> list)
public int permutabilityLevel()
permutabilityLevelWitnesses.public Partition[] getPermutabilityLevelWitnesses()
public java.util.List<IntArray> idempotentPolynomials()
public void makeOperationTables()
AlgebramakeOperationTables in interface AlgebraOperation.makeTablepublic boolean isIdempotent()
AlgebraisIdempotent in interface Algebrapublic static void main(java.lang.String[] args)
                 throws java.lang.Exception
java.lang.ExceptionCopyright 2003 Ralph Freese. All Rights Reserved.