Related papers: Python for education: permutations
We describe an algorithm, implemented in Python, which can enumerate any permutation class with polynomial enumeration from a structural description of the class. In particular, this allows us to find formulas for the number of permutations…
We describe a novel, interdisciplinary, computational methods course that uses Python and associated numerical and visualization libraries to enable students to implement simulations for a number of different course modules. Problems in…
A pattern class is a set of permutations closed under the formation of subpermutations. Such classes can be characterised as those permutations not involving a particular set of forbidden permutations. A simple collection of necessary and…
Machines whose main purpose is to permute and sort data are studied. The sets of permutations that can arise are analysed by means of finite automata and avoided pattern techniques. Conditions are given for these sets being enumerated by…
Any permutation has a disjoint cycle decomposition and concept generates an equivalence class on the symmetry group called the cycle-type. The main focus of this work is on permutations of restricted cycle-types, with particular emphasis on…
In these lecture notes, a selection of frequently required statistical tools will be introduced and illustrated. They allow to post-process data that stem from, e.g., large-scale numerical simulations (aka sequence of random experiments).…
Two completely new algorithms for generating permutations, shift-cursor algorithm and level algorithm, and their efficient implementations are presented in this paper. One implementation of the shift cursor algorithm gives an optimal…
We describe a method of automatic feedback provision for students learning programming and computational methods in Python. We have implemented, used and refined this system since 2009 for growing student numbers, and summarise the design…
We enumerate permutations in the two permutation classes $\text{Av}_n(312, 4321)$ and $\text{Av}_n(321, 4123)$ by the number of cycles each permutation admits. We also refine this enumeration with respect to several statistics.
In this paper, we present an algorithm that enumerates a certain class of signed permutations, referred to as grid signed permutation classes. In the case of permutations, the corresponding grid classes are of interest because they are…
We survey the known results about simple permutations. In particular, we present a number of recent enumerative and structural results pertaining to simple permutations, and show how simple permutations play an important role in the study…
We evaluated the capability of generative pre-trained transformers (GPT), to pass assessments in introductory and intermediate Python programming courses at the postsecondary level. Discussions of potential uses (e.g., exercise generation,…
Mutation testing is an effective technique for assessing the effectiveness of test suites by systematically injecting artificial faults into programs. However, existing mutation testing techniques fall short in capturing many types of…
A grid class consists of permutations whose pictorial depiction can be partitioned into increasing and decreasing parts as determined by a given matrix. In this paper, we introduce a method for enumerating cyclic permutations in vector grid…
Probabilistic numerical methods (PNMs) solve numerical problems via probabilistic inference. They have been developed for linear algebra, optimization, integration and differential equation simulation. PNMs naturally incorporate prior…
We announce some Python classes for numerical solution of partial differential equations, or boundary value problems of ordinary differential equations. These classes are built on routines in \texttt{numpy} and \texttt{scipy.sparse.linalg}…
This is a survey on permutation classes for the upcoming book Handbook of Enumerative Combinatorics.
Permutation is the different arrangements that can be made with a given number of things taking some or all of them at a time. The notation P(n,r) is used to denote the number of permutations of n things taken r at a time. Permutation is…
We develop a new, powerful method for counting elements in a multiset. As a first application, we use this algorithm to study the number of occurrences of patterns in a permutation. For patterns of length 3 there are two Wilf classes, and…
This note presents an elementary version of Sims's algorithm for computing strong generators of a given perm group, together with a proof of correctness and some notes about appropriate low-level data structures. Upper and lower bounds on…