Package org.uacalc.alg

What is an algebra? and how do we represent it in a computer? We bascially follow Algebras, Lattices, Varieties by McKenzie, McNulty, Taylor.

See:
          Description

Interface Summary
Algebra  
SmallAlgebra A small algebra is one whose universe can be effectively indexed by {0,..., n-1} for some positive int n.
 

Class Summary
Algebras A class with static methods for algebras.
AlgebraWithGeneratingVector  
BasicAlgebra This class represents SmallAlgebra's.
BigProductAlgebra This class represents the direct product of SmallAlgebras which is too big to be a SmallAlgebra.
Closer A class for finding the closure with configurations for several options and fields to hold side results.
CloserTiming A class to hold the data for the timing information in the UI.
FreeAlgebra This class represents a subalgebra of a direct product of SmallAlgebras.
GeneralAlgebra This class represents general algebras that may or may not be "computer finite".
Malcev A class with static methods for Mal'cev conditions such as finding Jonsson terms, etc.
ParameterizedAlgebra This class represents SmallAlgebra's.
PolinLikeAlgebra Given a homomorphism f: A to B, this constructs a Polin type algebra on the disjoint union of A and B.
PowerAlgebra This class represents the direct product of SmallAlgebras.
ProductAlgebra This class represents the direct product of SmallAlgebras.
QuotientAlgebra This class represents a quotient algebra of a SmallAlgebra.
QuotientElement This class represents an element in a quotient algebra.
ReductAlgebra This class represents a reduct of a SmallAlgebra to a list of Terms.
Subalgebra This class represents a subalgebra of a SmallAlgebra.
SubProductAlgebra This class represents a subalgebra of a direct product of SmallAlgebras.
UnaryTermsMonoid The monoid or semigroup of unary terms.
 

Enum Summary
SmallAlgebra.AlgebraType  
 

Package org.uacalc.alg Description

What is an algebra? and how do we represent it in a computer? We bascially follow Algebras, Lattices, Varieties by McKenzie, McNulty, Taylor. The java interface Algebra describes the methods an algebra should have.

How the algebra is represented internally depends on its size and its origin: did the user input it? was it constructed as a direct product of algebra? Also there needs to be different a representation for certain kinds of algebras such as lattices.

For an algebra of size n, where n is reasonably small, we will have a map between the universe of the algebra and the set {0, 1, ..., n-1} and the operations will be represented by tables on this set of integers. But for large algebras tables may be impractical or impossible. So if A has 7 elements and one binary operation, we might generate the multiplication tables for A2 but not for A3 and certainly not for A4. Of course for A3 the operations would be computed componentwise.



Copyright 2003 Ralph Freese. All Rights Reserved.