`GSL::Permutation.new(`

`n`)`GSL::Permutation.alloc(`

`n`)- These functions create a new permutation of size
`n`. The permutation is not initialized and its elements are undefined. Use`GSL::Permutation.calloc`

if you want to create a permutation which is initialized to the identity. `GSL::Permutation.calloc(`

`n`)- This creates a new permutation of size
`n`and initializes it to the identity.

`GSL::Permutation#init()`

- This initializes the permutation to the identity, i.e. (0,1,2,...,n-1).
`GSL::Permutation.memcpy(`

`dest`,`src`)- This method copies the elements of the permutation
`src`into the permutation`dest`. The two permutations must have the same size. `GSL::Permutation#clone`

- This creates a new permutation with the same elements of
`self`.

`GSL::Permutation#get(`

`i`)- Returns the value of the
`i`-th element of the permutation. `GSL::Permutation#swap(`

`i`,`j`)- This exchanges the
`i`-th and`j`-th elements of the permutation.

`GSL::Permutation#size`

- Returns the size of the permutation.
`GSL::Permutation#valid`

- This checks that the permutation
`self`is valid. The n elements should contain each of the numbers 0 .. n-1 once and only once. `GSL::Permutation#valid?`

- This returns true if the permutation
`self`is valid, and false otherwise.

`GSL::Permutation#reverse`

- This reverses the elements of the permutation
`self`. `GSL::Permutation#inverse`

- This computes the inverse of the permutation
`self`, and returns as a new permutation. `GSL::Permutation#next`

- This method advances the permutation
`self`to the next permutation in lexicographic order and returns`GSL::SUCCESS`

. If no further permutations are available it returns`GSL::FAILURE`

and leaves`self`unmodified. Starting with the identity permutation and repeatedly applying this function will iterate through all possible permutations of a given order. `GSL::Permutation#prev`

- This method steps backwards from the permutation
`self`to the previous permutation in lexicographic order, returning`GSL_SUCCESS`

. If no previous permutation is available it returns`GSL_FAILURE`

and leaves`self`unmodified.

`GSL::Permutation#fwrite(`

`io`)`GSL::Permutation#fwrite(`

`filename`)`GSL::Permutation#fread(`

`io`)`GSL::Permutation#fread(`

`filename`)`GSL::Permutation#fprintf(`

`io`,`format`= "%`u`\`n`")`GSL::Permutation#fprintf(`

`filename`,`format`= "%`u`\`n`")`GSL::Permutation#fscanf(`

`io`)`GSL::Permutation#fscanf(`

`filename`)

`GSL::Permutation#linear_to_canonical`

`GSL::Permutation#to_canonical`

`GSL::Permutation#canonical_to_linear`

`GSL::Permutation#to_linear`

`GSL::Permutation#inversions`

`GSL::Permutation#linear_cycles`

`GSL::Permutation#canonical_cycles`