# Permutations

This chapter describes functions for creating and manipulating permutations. A permutation p is represented by an array of n integers in the range 0 .. n-1, where each value p_i occurs once and only once. The application of a permutation p to a vector v yields a new vector v' where v'_i = v_{p_i}. For example, the array (0,1,3,2) represents a permutation which exchanges the last two elements of a four element vector. The corresponding identity permutation is (0,1,2,3).

Note that the permutations produced by the linear algebra routines correspond to the exchange of matrix columns, and so should be considered as applying to row-vectors in the form v' = v P rather than column-vectors, when permuting the elements of a vector.

The functions described in this chapter are defined in the header file ``gsl_permutation.h'`.

- The Permutation struct
- Permutation allocation
- Accessing permutation elements
- Permutation properties
- Permutation functions
- Applying Permutations
- Reading and writing permutations
- Permutations in Cyclic Form
- Permutation Examples
- Permutation References and Further Reading