Related papers: Python for education: permutations
Sharing of notations and theories across an inheritance hierarchy of mathematical structures, e.g., groups and rings, is important for productivity when formalizing mathematics in proof assistants. The packed classes methodology is a…
We present a new algorithm for iterating over all permutations of a sequence. The algorithm leverages elementary~$O(1)$ operations on recursive lists. As a result, no new nodes are allocated during the computation. Instead, all elements are…
A number system coding for the permutations generated by cyclic shift is described. The system allows to find the rank of a permutation given how it has been generated, and to determine a permutation given its rank. It defines a code…
A geometric grid class consists of those permutations that can be drawn on a specified set of line segments of slope \pm1 arranged in a rectangular pattern governed by a matrix. Using a mixture of geometric and language theoretic methods,…
A consecutive pattern in a permutation $\pi$ is another permutation $\sigma$ determined by the relative order of a subsequence of contiguous entries of $\pi$. Traditional notions such as descents, runs and peaks can be viewed as particular…
Computation is a central aspect of modern science and engineering work, and yet, computational instruction has yet to fully pervade university STEM curricula. In physics, we have begun to integrate computation into our courses in a variety…
This paper presents the PyEB tool, a Python implementation of the Event-B refinement calculus. The PyEB tool takes a Python program and generates several proof obligations that are then passed into the Z3 solver for verification purposes.…
We introduce pygrank, an open source Python package to define, run and evaluate node ranking algorithms. We provide object-oriented and extensively unit-tested algorithm components, such as graph filters, post-processors, measures,…
We study aspects of the enumeration of permutation classes, sets of permutations closed downwards under the subpermutation order. First, we consider monotone grid classes of permutations. We present procedures for calculating the generating…
In this dissertation, we explore the structure of inversion graphs of permutations--a class of graphs that naturally arises by representing each permutation as a graph, where vertices correspond to entries and edges encode inversions.…
Constraint programming (CP) is a powerful tool for modeling mathematical concepts and objects and finding both solutions or counter examples. One of the major strengths of CP is that problems can easily be combined or expanded. In this…
We consider the number of passes a permutation needs to take through a stack if we only pop the appropriate output values and start over with the remaining entries in their original order. We define a permutation $\pi$ to be $k$-pass…
Previous compact representations of permutations have focused on adding a small index on top of the plain data $<\pi(1), \pi(2),...\pi(n)>$, in order to efficiently support the application of the inverse or the iterated permutation. In this…
The aim of the present work is a comparative study of different persistence kernels applied to various classification problems. After some necessary preliminaries on homology and persistence diagrams, we introduce five different kernels…
Permutation polynomials over finite fields play important roles in finite fields theory. They also have wide applications in many areas of science and engineering such as coding theory, cryptography, combinatorial design, communication…
We study permutations on n elements preserving orientation (parity) of every subset of size k. We describe all groups of these permutations. Unexpectedly, these groups (except for some special cases) are either trivial, cyclic or dihedral.…
We apply a common measure of randomness, the entropy, in the context of iterated functions on a finite set with n elements. For a permutation, it turns out that this entropy is asymptotically (for a growing number of iterations) close to…
popclass is a python package that provides a flexible, probabilistic framework for classifying the lens of a gravitational microlensing event. popclass allows a user to match characteristics of a microlensing signal to a simulation of the…
This paper presents an experimental study on the application of quaternions in several machine learning algorithms. Quaternion is a mathematical representation of rotation in three-dimensional space, which can be used to represent complex…
In this paper, we focus on the enumeration of permutations by number of cyclic occurrence of peaks and valleys. We find several recurrence relations involving the number of permutations with a prescribed number of cyclic peaks, cyclic…