|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.uacalc.alg.Malcev
public class Malcev
A class with static methods for Mal'cev conditions such as finding Jonsson terms, etc. It also has methods for related things such as finding a near unamimity term of a given arity, finding a near majority term, etc.
| Method Summary | |
|---|---|
static boolean |
congruenceModularForIdempotent(SmallAlgebra alg)
|
static boolean |
congruenceModularVariety(SmallAlgebra alg)
|
static boolean |
dayQuadruple(int a,
int b,
int c,
int d,
SmallAlgebra alg)
|
static IntArray |
findDayQuadrupleInSquare(SmallAlgebra alg,
ProgressReport report)
Find a Day quadruple of the form a = (x0, x1), b = (x0, y1), c = y0, x1), d = (y0, y1). |
static Term |
findNUF(SmallAlgebra alg,
int arity)
This will find a near unamimity term of the given arity if one exits; otherwise it return null. |
static Term |
findNUF(SmallAlgebra alg,
int arity,
ProgressReport report)
This will find a near unanimity term of the given arity if one exits; otherwise it return null. |
java.util.List<Term> |
findWNUTerms(SmallAlgebra alg,
int arity,
ProgressReport report)
|
static java.util.List |
gummLevelPath(java.util.List middleZero,
java.util.List firstOne,
IntArray g0,
IntArray g2)
Change this a little: This finds a path from g0 to u, then v. |
static java.util.List |
gummTerms(SmallAlgebra alg)
This returns a list of Gumm terms witnessing modularity, or null if the algebra does generate a congruence modular variety. |
static java.util.List<Term> |
gummTerms(SmallAlgebra alg,
FreeAlgebra free2,
ProgressReport report)
This returns a list of Gumm terms witnessing modularity, or null if the algebra does generate a congruence modular variety. |
static java.util.List<Term> |
gummTerms(SmallAlgebra alg,
ProgressReport report)
This returns a list of Gumm terms witnessing modularity, or null if the algebra does generate a congruence modular variety. |
static java.util.List |
hagemannMitschkeLevelPath(java.util.List sub,
IntArray g0,
IntArray g2)
This finds a path from g0 to g2 in middleZero, a list of triples, where two triples are connected by an edge if either their first or third coordinates agree. |
static java.util.List |
hagemannMitschkeTerms(SmallAlgebra alg)
|
static java.util.List |
hagemannMitschkeTerms(SmallAlgebra alg,
ProgressReport report)
This returns a list of Hagemann Mitschke Terms terms witnessing k-permutability, or
null if the algebra does generate a congruence
k-permutable variety. |
static Term |
joinTerm(SmallAlgebra alg)
Gives a Kearnes-Kiss join term. |
static Term |
joinTerm(SmallAlgebra alg,
ProgressReport report)
Gives a Kearnes-Kiss join term. |
static int |
jonssonLevel(SmallAlgebra alg)
If this algebra generates a distributive variety, this returns the minimal number of Jonsson terms minus 1; otherwise it returns -1, but it is probably better to use jonssonTerms and get get the actual terms. |
static int |
jonssonLevelAux(java.util.List middleZero,
IntArray g0,
IntArray g2)
|
static java.util.List<IntArray> |
jonssonLevelPath(java.util.List<IntArray> middleZero,
IntArray g0,
IntArray g2,
boolean alvinVariant)
This finds a path from g0 to g2 in middleZero, a list of triples, where two triples are connected by an edge if either their first or third coordinates agree. |
static java.util.List<Term> |
jonssonTerms(SmallAlgebra alg)
This returns a list of Jonsson terms witnessing distributivity, or null if the algebra does generate a congruence distributive variety. |
static java.util.List<Term> |
jonssonTerms(SmallAlgebra alg,
boolean alvinVariant)
|
static java.util.List<Term> |
jonssonTerms(SmallAlgebra alg,
boolean alvinVariant,
ProgressReport report)
This returns a list of Jonsson terms witnessing distributivity, or null if the algebra does generate a congruence distributive variety. |
static int |
localDistributivityLevel(int a,
int b,
int c,
SmallAlgebra alg)
If \alpha = Cg(a,c) \meet Cg(a,b) and \beta = Cg(a,c) \meet Cg(b,c) this gives number of alteration of \alpha and \beta to get from a to c in the join of \alpha and \beta. |
static int |
localDistributivityLevel(SmallAlgebra alg)
Find the max level over all triples a, b, c, where, if \alpha = Cg(a,c) \meet Cg(a,b) and \beta = Cg(a,c) \meet Cg(b,c) the level is the number of alteration of \alpha and \beta to get from a to c in the join of \alpha and \beta. |
static void |
main(java.lang.String[] args)
|
static Term |
majorityTerm(SmallAlgebra alg)
|
static Term |
majorityTerm(SmallAlgebra alg,
ProgressReport report)
|
static Term |
malcevTerm(SmallAlgebra alg)
|
static Term |
malcevTerm(SmallAlgebra alg,
ProgressReport report)
Find a Mal'cev term for (the variety generated by) this algebra or null if there is it is not permutable. |
static Term |
markovicMcKenzieSiggersTaylorTerm(SmallAlgebra alg)
Gives a term t(x,y,z,u) satisfying t(y,x,x,x) = t(x,x,y,y) and t(x,x,y,x) = t(x,y,x,x). |
static Term |
markovicMcKenzieSiggersTaylorTerm(SmallAlgebra alg,
ProgressReport report)
Gives a term t(x,y,z,u) satisfying t(y,x,x,x) = t(x,x,y,y) and t(x,x,y,x) = t(x,y,x,x). |
static Term |
pixleyTerm(SmallAlgebra alg)
Find a Pixley term for (the variety generated by) this algebra or null if there is it is not arithmetical. |
static Term |
pixleyTerm(SmallAlgebra alg,
ProgressReport report)
Find a Pixley term for (the variety generated by) this algebra or null if there is it is not arithmetical. |
static java.util.List<Term> |
primalityTerms(SmallAlgebra alg,
ProgressReport report)
This gives unary terms evaluating to the characteristic functions of the one element subsets of alg; a term which applied to these unit vectors gives the identity function; and a binary term giving a semilattice operation on {0, 1}. |
static java.util.List<Term> |
sdmeetTerms(SmallAlgebra alg)
If the variety generated by alg is congruence SD-meet, this returns a list of either one or three 3-place terms. |
static java.util.List<Term> |
sdmeetTerms(SmallAlgebra alg,
ProgressReport report)
If the variety generated by alg is congruence SD-meet, this returns a list of either one or three 3-place terms. |
static java.util.List<IntArray> |
sdPath(java.util.List<IntArray> subalg,
IntArray g0,
IntArray g2)
This finds a path from g0 to g2 in middleZero, a list of triples, where two triples are connected by an edge if either their first or third coordinates agree. |
static java.util.List<Term> |
sdTerms(SmallAlgebra alg,
ProgressReport report)
|
static void |
setMonitor(ProgressReport m)
|
static Term |
weakMajorityTerm(SmallAlgebra alg)
Find a weak majority term for (the variety generated by) this algebra or null if there is none. |
static Term |
weakMajorityTerm(SmallAlgebra alg,
boolean isIdempotent)
Find a weak majority term for (the variety generated by) this algebra or null if there is none using a faster algorithm if the algebra is idempotent. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static void setMonitor(ProgressReport m)
public static Term joinTerm(SmallAlgebra alg)
public static Term joinTerm(SmallAlgebra alg,
ProgressReport report)
public java.util.List<Term> findWNUTerms(SmallAlgebra alg,
int arity,
ProgressReport report)
public static java.util.List<Term> sdmeetTerms(SmallAlgebra alg)
alg -
public static java.util.List<Term> sdmeetTerms(SmallAlgebra alg,
ProgressReport report)
alg - report -
public static Term markovicMcKenzieSiggersTaylorTerm(SmallAlgebra alg)
public static Term markovicMcKenzieSiggersTaylorTerm(SmallAlgebra alg,
ProgressReport report)
public static Term findNUF(SmallAlgebra alg,
int arity)
public static Term findNUF(SmallAlgebra alg,
int arity,
ProgressReport report)
public static int localDistributivityLevel(int a,
int b,
int c,
SmallAlgebra alg)
public static int localDistributivityLevel(SmallAlgebra alg)
public static Term weakMajorityTerm(SmallAlgebra alg)
public static Term weakMajorityTerm(SmallAlgebra alg,
boolean isIdempotent)
public static java.util.List<Term> jonssonTerms(SmallAlgebra alg)
public static java.util.List<Term> jonssonTerms(SmallAlgebra alg,
boolean alvinVariant)
public static java.util.List<Term> jonssonTerms(SmallAlgebra alg,
boolean alvinVariant,
ProgressReport report)
alvinVariant - interchange even and odd in Jonsson's equations
public static java.util.List<Term> sdTerms(SmallAlgebra alg,
ProgressReport report)
public static java.util.List<IntArray> sdPath(java.util.List<IntArray> subalg,
IntArray g0,
IntArray g2)
public static java.util.List<IntArray> jonssonLevelPath(java.util.List<IntArray> middleZero,
IntArray g0,
IntArray g2,
boolean alvinVariant)
public static int jonssonLevel(SmallAlgebra alg)
public static int jonssonLevelAux(java.util.List middleZero,
IntArray g0,
IntArray g2)
public static IntArray findDayQuadrupleInSquare(SmallAlgebra alg,
ProgressReport report)
public static boolean dayQuadruple(int a,
int b,
int c,
int d,
SmallAlgebra alg)
public static boolean congruenceModularVariety(SmallAlgebra alg)
public static boolean congruenceModularForIdempotent(SmallAlgebra alg)
public static java.util.List gummTerms(SmallAlgebra alg)
public static java.util.List<Term> gummTerms(SmallAlgebra alg,
ProgressReport report)
public static java.util.List<Term> gummTerms(SmallAlgebra alg,
FreeAlgebra free2,
ProgressReport report)
public static java.util.List gummLevelPath(java.util.List middleZero,
java.util.List firstOne,
IntArray g0,
IntArray g2)
public static Term malcevTerm(SmallAlgebra alg)
public static Term malcevTerm(SmallAlgebra alg,
ProgressReport report)
public static Term majorityTerm(SmallAlgebra alg)
public static Term majorityTerm(SmallAlgebra alg,
ProgressReport report)
public static Term pixleyTerm(SmallAlgebra alg)
public static Term pixleyTerm(SmallAlgebra alg,
ProgressReport report)
public static java.util.List hagemannMitschkeTerms(SmallAlgebra alg)
public static java.util.List hagemannMitschkeTerms(SmallAlgebra alg,
ProgressReport report)
k-permutability, or
null if the algebra does generate a congruence
k-permutable variety.
It is guarenteed to be the least number of terms possible.
public static java.util.List hagemannMitschkeLevelPath(java.util.List sub,
IntArray g0,
IntArray g2)
public static java.util.List<Term> primalityTerms(SmallAlgebra alg,
ProgressReport report)
alg - report -
public static void main(java.lang.String[] args)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||