Forms all possible permutations of the integers 1…n (J.W. McNicol & R.W. Payne).
Option
SORT = string token |
Whether or not to sort the permutations (no , yes ); default no |
---|
Parameters
NVALUES = scalars |
Specifies the final number, n, in the sequence of integers 1…n to be permuted |
---|---|
PERMUTATIONS = pointers |
Pointer to a set of variates of length NVALUES storing the permutations |
Description
PERMUTE
forms all the permutations of the integers 1 up to the value n specified by the NVALUES
parameter. The permutations are saved, as a set of variates each of length NVALUES
, in a pointer supplied by the PERMUTATIONS
parameter. By default, the permutations will occur in an arbitrary order, but option SORT
can be set to yes
to sort them into the standard (lexicographic) order.
Option: SORT
.
Parameters: NVALUES
, PERMUTATIONS
.
Method
The procedure uses the standard Genstat manipulation directives, CALCULATE
, EQUATE
etc.
See also
Directive: SETALLOCATIONS
.
Procedures: APERMTEST
, CHIPERMTEST
, RPERMTEST
.
Commands for: Calculations and manipulation.
Example
CAPTION 'PERMUTE example',\ 'Form all permutations of the numbers 1-4.'; STYLE=meta,plain PERMUTE [SORT=yes] 4; P PRINT [IPRINT=*] P[]; FIELD=2; DECIMALS=0