public interface Operation extends java.lang.Comparable<Operation>
{0, 1, ..., n-1}
we have intValueAt(int[] args)
form of the operation. We also have an Object
form for
general sets. Since only one or the other may be required, both are
optional.Modifier and Type | Method and Description |
---|---|
int |
arity()
This gives the arity of this operation.
|
int |
getSetSize()
This gives the size of the set upon which the operation is defined.
|
int[] |
getTable()
Get the table for this operation or null if it does not exist.
|
int[] |
getTable(boolean makeTable)
Get the table for this operation.
|
int |
intValueAt(int arg)
This (optional) operation is for fast access to the table,
if it exits.
|
int |
intValueAt(int[] args)
This (optional) operation is the int version.
|
boolean |
isAssociative()
Is this operation binary and associative.
|
boolean |
isCommutative()
Is this operation binary and commutative.
|
boolean |
isIdempotent()
Is this operation idempotent in the sense f(x,x,..,x) = x.
|
boolean |
isMaltsev()
Check if a ternary operation is a Maltsev operation.
|
boolean |
isTableBased() |
boolean |
isTotal()
Only OperationWithDefaultValue's can fail this.
|
boolean |
isTotallySymmetric()
Is this operation totally symmetric; that is, invariant
under all permutation of the variables.
|
void |
makeTable()
This will make a table and so make the operation faster but
requires more space.
|
OperationSymbol |
symbol()
The operation symbol for this operation.
|
int[] |
valueAt(int[][] args)
This operation is for fast product operation.
|
java.lang.Object |
valueAt(java.util.List args)
This operation is the element version.
|
int arity()
int getSetSize()
OperationSymbol symbol()
java.lang.Object valueAt(java.util.List args)
int[] valueAt(int[][] args)
args
- an array of arity int arrays from the product algebra.int intValueAt(int[] args)
int intValueAt(int arg)
arg
- the Horner encoding of the actual args.void makeTable()
int[] getTable()
int[] getTable(boolean makeTable)
makeTable
- forces the table to be made if necessaryboolean isTableBased()
boolean isIdempotent()
boolean isAssociative()
boolean isCommutative()
boolean isTotallySymmetric()
boolean isMaltsev()
boolean isTotal()
Copyright 2003 Ralph Freese. All Rights Reserved.