Quasirandom-forcing expressions

A sequence \((\pi_n)_{n=1}^{\infty}\) of permutations with increasing order is said to be quasirandom if \[\lim_{n\to\infty}d(\sigma,\pi_n)=1/|\sigma|!\] for every permutation \(\sigma\).

A formal linear combination of permutations \(c_1 \sigma_1 + \dots + c_r \sigma_r\) is quasirandom forcing if \[\lim_{n\to\infty}\sum_{i=1}^r c_id\left(\sigma_i,\pi_n\right)=\sum_{i=1}^r c_i/|\sigma_i|!\] implies \((\pi_n)_{n=1}^{\infty}\) is quasirandom.

This page gives an interface to code used in an article on quasirandom-forcing expressions. In more detail, the sage code below scans linear combinations of \(r=4\) or \(5\) permutations of specified lengths to show that none are quasi-random forcing. It first identifies any combinations that give a non-vanishing constant cover (vanishing gradient). Then, a saddle-point test is applied using pre-computed Hessian matrices. See the appendix of the above paper for a classification of non-vanishing constant covers for \(r=4,5\), along with some ad hoc constructions for a few cases which fail the saddle point test. To run the search for permutation lengths \(k_1 \ge k_2 \ge \cdots \ge k_r\), type "search([\(k_1,k_2,\dots,k_r\)])".

Hessian matrices used for the saddle point test are stored in Python dictionary format, keyed using a tuple such as \( (0,1,2,3) \), as shown. Note the supplementary load file.