 Toufik Mansour's programs

9. Kernel Method and systems of functional equations with several conditions(2007, University of Haifa and Nankai University) We generalize the kernel method to equation systems in which the numbers of unknowns are allowed to exceed the numbers of equations. With this generalization, we work out the generating functions for several types of sequences and generating trees whose recursions are dependent on the parity of the indices.

8. Restricted Partitions of [n]={1,2,...,n}(2007, University of Haifa). Here we give two programs: (1) For given n the first program gives the list of all partitions of [n]. (2) For given a list of patterns and level n the second program gives the number of partitions of [n] that avoid each pattern in the input list.

7. Signed Permutations(2007, University of Haifa). Here we give two programs: (1) for given a pattern of length 3,4 or 5 and a positive integer k the program find the number of signed permutations of length n that avoid the pattern, for n=1,2,...,k. (2) The second program classifies the classes of patterns of length 5 up to symmetry and Theorem 2.1 (as described in the corresponding paper). Note that the second program gives at the end 160 classes, to reduce this number to 137 you need to classify the equivalences classes using the classification of permutation of length 5 (the classical case of S_5), as described in the corresponding paper. Also, we note that the first program used to find the corresponding sequence for each class.

6. Kernel Method and Linear Recurrence System(2006, University of Haifa and Nankai University) Based on the kernel method, we present systematic methods, called kernel.mpl and kernel-wu.mpl to solve equation systems on generating functions of two variables. Using these methods, we get the generating functions for the number of permutations which avoid 1234 and 12k(k-1)...3 and permutations which avoid 1243 and 12...k.

5. Counting occurrences of the pattern 231 in an involution(2004, University of Haifa, Nankai University) Our Program finds an equation that present a formula of the generating function for the number of involutions on n letters which contain the pattern 231 exactly r times. The program running with input r and its output is an equation for I_r(x) (see the output file). This equation can be solved by using Maple where the expressions of I_j(x), j=0,1,...,r-1, are given.

4. Finite Automata and pattern avoidance(2003, University of Haifa) Our Program for finding a formula for |[k]^n(p)| (M_{n,m}^k(p) the number of matrices with n columns , m rows, on k letters which avoid the pattern p, [k]^n(p)=M_{n,1}^k(p)) is implemented in C++ and Maple. The first program with input p and k (and number rows of matrices m) and output the automaton Au(p,k) and the second program with input the automaton Au(p,k) and output the exact formula for |[k]^n(p)|. This algorithm allows us to get an explicit formula for |[k]^n(p)| where p and k are given (click here to see the tables and click here to see the programs and examples).

3. pawns.mws and pawns_kings.mws(2003, Chalmers Institute of Technology) This program supports the paper The Problem of the Pawns. The program finds the transfer matrix T_m for given m of the problem. The main procedure in the program is the pawns() procedure with input m and output T_m. An example, here you will find T_m for m=2,3,4 and the first elements of the sequence M_{m,n} (see the paper) where m=2,3,4,5,6. Also, the program contains another procedure called pawns_kings() with input m and output transfer matrix A_m, where the sum all elements of (A_m)^n gives L_{m,n} (see the paper). L_{m,n} is the number of mxn binary matrices with no adjacent 1's in any row, any column, and any diagonal.

2. genmu.mws and findav.mws(2003, Chalmers Institute of Technology) These two programs support the paper Average norms of polynomials which contain the following procedures: (1) genmu(): Finding the values of mu_T^\alpha(n) as mu_T^\alpha(0)+ mu_T^\alpha(1)X+ mu_T^\alpha(2)X^2+...+mu_T^\alpha(n)x^n. (2) findav(): Finding the generating function e_T^{\alpha,\alpha}(x,w).

1. avoid132.mws(2001, University of Haifa) This program supports the paper Restricted 132-avoiding permutations and finds the generating function for the number of 132-avoiding permutations which avoid another pattern in S_k(132). This program include the following procedures: (1) Avoiding(): The menu, (2) Avoiding132(k,tau): Finding the generating function for the number of permutations in S_n(132,t). For example, if k=4 and t=array([1,2,3,4]), then the procedure Avoiding132(k,t) gives the generating function for the number of permutations in S_n(132,1234). (3) Tableavoiding132(k): Table of the generating functions for the number of permutations in S_n(132,t) where t in S_k(132). (4) WC132(k): The number of the Wilf classes in Tableavoiding132(k). (5) LWC132(k): The list of the Wilf classes in Tableavoiding132(k). (6) AWC132(k): The number of the Wilf classes to avoid 132 and a pattern in S_k(132).