The code in this project can be used to count idempotents in the Jones, Motzkin, and Kauffman monoids, and is based on Enumeration of idempotents in planar diagram monoids by Igor Dolinka, James East, Athanasios Evangelou, Desmond FitzGerald, Nicholas Ham, James Hyde, Nicholas Loughlin, and James Mitchell.
In your terminal of choice, perform the following steps to install this project.
-
Clone this repository by doing
git clone https://github.com/james-d-mitchell/Jones
This will create a directory called
Jones
in whatever directory you were in to begin with. -
Type
cd Jones
to change directory into theJones
folder created in Step 1. -
Type
git clone https://github.com/cassioneri/Dyck
This will create a directory called
Dyck
inside the directoryJones
. -
Type
make
which will create executables for the three programs in this projectjones
,motzkin
andkauffman
. This project is written in C++11, and so you will require a C++ compiler compatible witht this standard.
You might want to test that everything worked by doing make test
which should display
tst/jones.sh
tst/motzkin.sh
tst/kauffman.sh
but nothing further.
If n
is any positive integer, then
jones n
returns the number of idempotents in the Jones monoid of degree n
. If you
want more information about what is going on, then do
jones -v n
motzkin
and kaufmann
can be used in the same way.
jones
, motzkin
, and kauffman
are a multi-threaded C++ programs. By default the number of threads used is one less than the maximum supported by the hardware.
You can alter the number of threads by changing the variable nr_threads
in the files
src/jones.cc
, src/kauffman.cc
, and/or src/motkzin.cc
, and rerunning make
.
Each of the programs will then use nr_threads + 1
threads, regardless of the
maximum number of threads which your hardware supports.
Enjoy!
Copyright (C) 2016-18 James D. Mitchell
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.