public class Algebras
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static java.util.Map<OperationSymbol,Term> |
findInClone(java.util.List<Operation> ops,
SmallAlgebra A,
ProgressReport report)
Test if ops are in the clone of A and return a
mapping from OperationSymbols to terms, which
will have entries for those opertions which are
in the clone.
|
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 SmallAlgebra |
fullTransformationSemigroup(int n,
boolean includeConstants,
boolean includeId) |
static boolean |
isEndomorphism(Operation endo,
SmallAlgebra alg) |
static boolean |
isHomomorphism(int[] map,
SmallAlgebra alg0,
SmallAlgebra alg1) |
static int |
jonssonLevel(SmallAlgebra alg)
If this algebra generates a distributive variety, this returns
the minimal number of Jonsson terms; otherwise it returns -1,
but it is probably better to jonssonTerms and get
get the actual terms.
|
static java.util.List |
jonssonTerms(SmallAlgebra alg)
This returns a list of Jonsson terms witnessing or null if
the algebra does generate a congruence distributive variety.
|
static void |
main(java.lang.String[] args) |
static SmallAlgebra |
makeRandomAlgebra(int n,
int[] arities)
Make a random algebra of a given the arities of the operations.
|
static SmallAlgebra |
makeRandomAlgebra(int n,
int[] arities,
long seed)
Make a random algebra of a given the arities of the operations,
optionally supplying a seed to the random number generator (in case
regenerating the same algebra is important.
|
static SmallAlgebra |
makeRandomAlgebra(int n,
SimilarityType simType)
Make a random algebra of a given similarity type.
|
static SmallAlgebra |
makeRandomAlgebra(int n,
SimilarityType simType,
long seed)
Make a random algebra of a given similarity type, optionally
supplying a seed to the random number generator (in case
regenerating the same algebra is important.
|
static SmallAlgebra |
matrixPower(SmallAlgebra alg,
int k)
The matrix power algebra as defined in Hobby-McKenzie.
|
static java.util.List<Homomorphism> |
memberOfQuasivariety(SmallAlgebra A,
java.util.List<SmallAlgebra> genAlgs,
ProgressReport report)
Is A in the quasivariety generated by a
list of algebras.
|
static java.util.List<Homomorphism> |
memberOfQuasivariety(SmallAlgebra A,
SmallAlgebra B,
ProgressReport report)
Is A in Q(B), the quasivariety generated by B.
|
static java.util.List<Homomorphism> |
memberOfQuasivarietyGenByProperSubs(SmallAlgebra A,
ProgressReport report)
See if A can be embedded into a product
of proper subalgebras of A.
|
static java.util.Map<Partition,IntArray> |
quasiCritical(SmallAlgebra A)
Determine if an algebra is quasicritical: is not
a subdirect product of proper subalgebras.
|
static java.util.Map<Partition,IntArray> |
quasiCritical(SmallAlgebra A,
ProgressReport report)
This has been replaced by memberOf QuasivarietyGenBySubs.
|
static java.util.List<Partition> |
quasiCriticalCongruences(SmallAlgebra A,
ProgressReport report) |
static SmallAlgebra |
ternaryDiscriminatorAlgebra(int card) |
static java.util.NavigableSet<IntArray> |
unaryClone(java.util.List<Partition> pars,
Partition eta0,
Partition eta1) |
static SmallAlgebra |
unaryCloneAlgFromPartitions(java.util.List<Partition> pars,
java.util.List<Partition> decomp)
WARNING: this is not complete.
|
static SmallAlgebra |
unaryCloneAlgFromPartitions(java.util.List<Partition> pars,
Partition eta0,
Partition eta1)
Make the unary algebra whose operations are the clone of unary
operation respecting every partition in pars and also eta0 and
eta1, which meet and join to 0 and 1 and permute.
|
public static SmallAlgebra unaryCloneAlgFromPartitions(java.util.List<Partition> pars, java.util.List<Partition> decomp)
pars
- a list of partitionsdecomp
- a sublist whose meet is 0public static SmallAlgebra unaryCloneAlgFromPartitions(java.util.List<Partition> pars, Partition eta0, Partition eta1)
pars
- eta0
- eta1
- public static java.util.NavigableSet<IntArray> unaryClone(java.util.List<Partition> pars, Partition eta0, Partition eta1)
public static Term findNUF(SmallAlgebra alg, int arity)
public static java.util.List jonssonTerms(SmallAlgebra alg)
public static int jonssonLevel(SmallAlgebra alg)
public static boolean isEndomorphism(Operation endo, SmallAlgebra alg)
public static boolean isHomomorphism(int[] map, SmallAlgebra alg0, SmallAlgebra alg1)
public static SmallAlgebra matrixPower(SmallAlgebra alg, int k)
alg
- k
- public static SmallAlgebra fullTransformationSemigroup(int n, boolean includeConstants, boolean includeId)
public static java.util.Map<OperationSymbol,Term> findInClone(java.util.List<Operation> ops, SmallAlgebra A, ProgressReport report)
ops
- a list of operations on the set of AA
- an algebrapublic static SmallAlgebra makeRandomAlgebra(int n, SimilarityType simType)
public static SmallAlgebra makeRandomAlgebra(int n, SimilarityType simType, long seed)
public static SmallAlgebra makeRandomAlgebra(int n, int[] arities)
public static SmallAlgebra makeRandomAlgebra(int n, int[] arities, long seed)
public static SmallAlgebra ternaryDiscriminatorAlgebra(int card)
public static java.util.List<Homomorphism> memberOfQuasivariety(SmallAlgebra A, SmallAlgebra B, ProgressReport report)
A
- B
- report
- public static java.util.List<Homomorphism> memberOfQuasivariety(SmallAlgebra A, java.util.List<SmallAlgebra> genAlgs, ProgressReport report)
A
- genAlgs
- the list of algebraspublic static java.util.List<Homomorphism> memberOfQuasivarietyGenByProperSubs(SmallAlgebra A, ProgressReport report)
A
- report
- public static java.util.List<Partition> quasiCriticalCongruences(SmallAlgebra A, ProgressReport report)
public static java.util.Map<Partition,IntArray> quasiCritical(SmallAlgebra A)
A
- public static java.util.Map<Partition,IntArray> quasiCritical(SmallAlgebra A, ProgressReport report)
A
- report
- public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
Copyright 2003 Ralph Freese. All Rights Reserved.