is a hybrid Mathematica/C++ package that manipulates finites
state machines and their syntactic semigroups. A number of operations
on one-dimensional cellular automata are also available.
All the algorithms are implemented in Mathematica, and the system
can be used as a standard Mathematica package.
Many of the computationally critical algorithms
are also implemented externally in a C++ library:
examples include the power automaton construction,
minimization using Hopcroft's algorithm,
generation of syntactic semigroups with D-class decomposition.
The C++ code can be used directly or, via MathLink, from within Mathematica.
On a standard PC, the external code allows one to generate
machines and/or semigroups with several 10000 elements.
Examples is the postscript version of a sample notebook which shows some typical computations in the package, albeit in static form.
Here is a README file with detailed installation and loading instructions.
|automata-6-0.tgz||Partial port to version 6, use with caution. Requires Mathematica 6.0.|
|automata.5.2.tgz||Add-on package, contains dot-m files, sample notebooks, help browser, external code. Requires Mathematica 5.2.|
|automata.5.1.tgz||Add-on package, contains dot-m files, sample notebooks, help browser, external code. Requires Mathematica 5.1.|
|automata.4.6.tgz||Add-on package, contains dot-m files, sample notebooks, help browser.|
If you require access to a version earlier than 4.6 feel free to contact me. Be aware, though, that the only supported version is 5.0. An exceedingly old version of the package is also available at MathSource.
Copyright © 2010 K. Sutner
Permission to use, copy, modify, and distribute this software and its documentation for any non-commercial purpose is hereby granted without fee, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation. The author makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. Some parts of the C/C++ libraries used have their own copyright (or left) policies attached (GNU gmp, STL, MathLink), see the corresponding documentation.