    @permute(t:tab, n:numeric)

returns a new tab which contains the n th permutations of the elements of `t`. They are factorial s permutations, where s is the size of `t`.

The first permutation is numbered 0 and corresponds to the permutation which rearranges the elements of `t` in an array `t_0` such that they are sorted increasingly. The tab `t_0` is the smallest element amongst all tab that can be done by rearranging the element of `t`. The first permutation rearranges the elements of in a tab `t_1` such that `t_0 < t_1` for the lexicographic order and such that any other permutation gives an array `t_k` lexicographicaly greater than `t_0` and `t_1`. Etc. The last permutation (factorial s - 1) returns a tab where all elements of are in decreasing order.

For example:

           $t := [1, 2, 3]
           @permute($t, 0) == [1, 2, 3]
           @permute($t, 1) == [1, 3, 2]
           @permute($t, 2) == [2, 1, 3]
           @permute($t, 3) == [2, 3, 1]
           @permute($t, 4) == [3, 1, 2]
           @permute($t, 5) == [3, 2, 1]

See also @sort.

See also tab related functions: @car, @cdr, @clear, @concat, @cons, @copy, @count, @dim, @domain, @drop, @empty, @explode, @find, @flatten, @gnuplot, @insert, @iota, @is_list, @is_prefix, @is_subsequence, @is_suffix, @lace, @last, @listify, @map, @max_val, @median, @member, @normalize, @occurs, @permute, @push_back, @push_front, @range, @reduce, @remove, @remove_duplicate, @replace, @resize, @reverse, @rotate, @scan, @scramble, @size, @slice, @sort, @sputter, @stutter, @tab_history, @tab_history_date, @tab_history_rdate, @take

#### Search

From here you can search these documents. Enter your search terms below.