Interval Exchange Transformations
copied from cf-staging / pyintervalxtintervalxt is a C++/Python library which implements algorithms on Interval Exchange Transformations (IETs). In particular, we implement the Boshernitzan Algorithm and Rauzy Induction on IETs. Our principal application is the decomposition of a measured foliation into periodic and minimal components. We certify that a component is minimal with the Boshernitzan Algorithm or by certifying that the Rauzy Induction will be looping infinitely. Note that presently the algorithm is probably incomplete; in rare cases no further decomposition of a component seems to be possible, nevertheless, our criteria fail to certify minimality of the component.