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 Algebra
public ProgressReport getMonitor()
getMonitor
in interface Algebra
public final boolean monitoring()
monitoring
in interface Algebra
public boolean isTotal()
Algebra
public SmallAlgebra getAlgebra()
public java.lang.String getDescription()
getDescription
in interface Algebra
public void setDescription(java.lang.String desc)
setDescription
in interface Algebra
public 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 Algebra
public int inputSize()
Algebra
public java.util.Set<Partition> universe()
Algebra
public java.util.Set<Partition> universe(ProgressReport report)
public java.util.List<Partition> getUniverseList()
public boolean isSimilarTo(Algebra alg)
isSimilarTo
in interface Algebra
public SimilarityType similarityType()
similarityType
in interface Algebra
public void updateSimilarityType()
updateSimilarityType
in interface Algebra
public java.util.Iterator<Partition> iterator()
Algebra
public boolean joinIrreduciblesFound()
public java.util.List<Partition> joinIrreducibles()
joinIrreducibles
in interface Lattice
public java.util.List<Partition> joinIrreducibles(ProgressReport report)
public boolean joinIrreducible(Partition part)
public java.util.List<Partition> meetIrreducibles()
Lattice
meetIrreducibles
in interface Lattice
public 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)
Order
public 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()
Algebra
constantOperations
in interface Algebra
public java.util.List operations()
operations
in interface Algebra
public Operation getOperation(OperationSymbol sym)
Algebra
getOperation
in interface Algebra
public java.util.Map<OperationSymbol,Operation> getOperationsMap()
getOperationsMap
in interface Algebra
public 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()
Algebra
makeOperationTables
in interface Algebra
Operation.makeTable
public boolean isIdempotent()
Algebra
isIdempotent
in interface Algebra
public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
Copyright 2003 Ralph Freese. All Rights Reserved.