

 
Manual Reference Pages  HPL_PERM (3)
NAME
HPL_perm  Combine 2 index arrays  Generate the permutation.
CONTENTS
Synopsis
Description
Arguments
See Also
SYNOPSIS
#include "hpl.h"
void
HPL_perm(
const int
N,
int *
LINDXA,
int *
LINDXAU,
int *
IWORK
);
DESCRIPTION
HPL_perm
combines two index arrays and generate the corresponding
permutation. First, this function computes the inverse of LINDXA, and
then combine it with LINDXAU. Second, in order to be able to perform
the permutation in place, LINDXAU is overwritten by the sequence of
permutation producing the same result. What we ultimately want to
achieve is: U[LINDXAU[i]] := U[LINDXA[i]] for i in [0..N). After the
call to this function, this in place permutation can be performed by
for i in [0..N) swap U[i] with U[LINDXAU[i]].
ARGUMENTS
N (global input) const int
 
On entry, N specifies the length of the arrays LINDXA and
LINDXAU. N should be at least zero.

LINDXA (global input/output) int *
 
On entry, LINDXA is an array of dimension N containing the
source indexes. On exit, LINDXA contains the combined index
array.

LINDXAU (global input/output) int *
 
On entry, LINDXAU is an array of dimension N containing the
target indexes. On exit, LINDXAU contains the sequence of
permutation, that should be applied in increasing order to
permute the underlying array U in place.

IWORK (workspace) int *
 
On entry, IWORK is a workarray of dimension N.


SEE ALSO
HPL_plindx1 (3),
HPL_pdlaswp01N (3),
HPL_pdlaswp01T (3).
HPL 2.1  HPL_PERM (3)  October 26, 2012 
Visit the GSP FreeBSD Man Page Interface. Output converted with manServer 1.07. 