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
prev next
Reference index top