1. Home
  2. PERMUTE procedure

PERMUTE procedure

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
Updated on March 6, 2019

Was this article helpful?