NAG Library Routine Document
f06qjf permutes the rows or columns of a real rectangular matrix using an integer array of permutations.
|Integer, Intent (In)||:: ||
|Real (Kind=nag_wp), Intent (Inout)||:: ||
|Character (1), Intent (In)||:: ||
performs one of the permutation operations
is a real matrix, and
is a permutation matrix.
is represented in the form
is the permutation matrix that interchanges items
; that is,
is the unit matrix with rows and columns
Let denote the number of rows of if , or the number of columns of if : the routine does not require to be passed as an argument, but assumes that , for .
This routine requires the indices
to be supplied in an integer array; f06qkf
performs the same operation with the indices supplied in a real array.
- 1: – Character(1)Input
- 2: – Character(1)Input
: specifies the operation to be performed.
- or ;
- or .
- 3: – IntegerInput
On entry: , the number of interchanges in the representation of .
- 4: – Integer arrayInput
the dimension of the array perm
must be at least
On entry: the indices which define the interchanges in the representation of . It is usual to have , but this is not necessary.
, where .
- 5: – IntegerInput
On entry: , the number of columns of if , or the number of rows of if .
- 6: – Real (Kind=nag_wp) arrayInput/Output
the second dimension of the array b
must be at least
and at least
On entry: the original matrix ; is , where by if , or by , where if .
On exit: the permuted matrix .
- 7: – IntegerInput
: the first dimension of the array b
as declared in the (sub)program from which f06qjf
- if , ;
- if , .
Error Indicators and Warnings
Parallelism and Performance
f06qjf is not threaded in any implementation.