These are the files to accompany the paper "Words avoiding reversed 
subwords, revisited" by Fleischer and Shallit (2019).

The Linux shell script files script{24,25,32,33,42}.txt were created 
by our Dyalog APL program MAKESCRIPT.  It is called, for example, with 
2 MAKESCRIPT 4.

Running them produces the Grail automata aut{24,25,32,33,42}.txt 
representing the minimized automata.

Running our Dyalog APL program GETDATA converts these Grail automata 
to gv files.

We can use a command like dot -Tpdf aut24.gv > aut24.pdf to create the
pdf files from the gv files that display the automata.

Running our Dyalog APL program GETDATA also creates the Maple source 
files.  They can be run by doing the Maple command (e.g.) 

read(aut24maple);

These give the minimal polynomial of the associated matrix.  The 
largest real root can be found with the Maple command 'fsolve'.

The case k = 2, l = 6 has to be treated differently.  It is produced 
by the Dyalog APL program MAKEAUTQ.  Running 2 MAKEAUTQ 6 produces 
the file autq26.txt.   We then run the Grail command

./fmdeterm autq26.txt | ./fmmin > autq26min.txt 

to minimize it.   

Next, download the LinBox files at 

https://linalg.org

The Python program generate-matrix.py can be used to convert from 
Grail format to SMS format that LinBox can read.   The C++ program 
minpoly.cpp uses the LinBox code to compute minimal polynomials.

All the Dyalog APL code is contained in three different formats:
	- the file WARMIN.dws, which can be run with the latest 
          version of Dyalog
	- the file warmin.atf, which is in workspace transfer 
          format that (in theory) should run on any compatible 
          APL system
	- the file warapl.pdf, which is listings of the programs
