Skip to content

Code for senior thesis: Invertible Transducers and Automaton Groups

License

Notifications You must be signed in to change notification settings

tim-becker/thesis-code

Repository files navigation

Embeddings and Orbits of Abelian Automaton Groups

This repository implements code used in my senior thesis. Note that it will be updated fairly frequently.

See binary_invertible_transducer.sage for

  • An implementation of binary invertible transducers
  • Computation and estimation of their groups
  • Computation of group representations for abelian transducers

See abelian_conjectures.sage for current conjectures which are being tested.

Usage

From the repo base directory, open a sage session. Then load in the provided code:

$ sage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 8.1, Release Date: 2017-12-07                     │
│ Type "notebook()" for the browser-based notebook interface.        │
│ Type "help()" for help.                                            │
└────────────────────────────────────────────────────────────────────┘
sage: load('./binary_invertible_transducer.sage')

From here, all functions / classes should be loaded and ready to use. For example,

sage: T = CCC(3,2)
sage: T.plot() # opens a diagram of the machine
sage: T.field_representation()

(Number Field in Z with defining polynomial z^2 + z + 1/2,
 {x0: -6/5*Z - 2/5, x1: 4/5*Z + 8/5, x2: 4/5*Z - 2/5})

Alternatively, you could write a script which imports the code. For instance, if script.sage contains the following code,

load('./binary_invertible_transducer.sage')

T = CCC(3,2)
print T.field_representation()

then running sage script.sage will invoke your script.

About

Code for senior thesis: Invertible Transducers and Automaton Groups

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages