Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
HPL_perm(3)		      HPL Library Functions		     HPL_perm(3)

NAME
     HPL_perm - Combine 2 index arrays - Generate the permutation.

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 per-
     mutation. First, this function computes the inverse  of  LINDXA,  and  then
     combine it with LINDXAU.  Second, in order to be able to perform the permu-
     tation  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 func-
     tion,   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  ar-
	     ray.

     LINDXAU (global input/output)   int *
	     On  entry,  LINDXAU is an array of dimension N  containing the tar-
	     get indexes.  On exit,  LINDXAU  contains	the sequence of permuta-
	     tion,  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.3 			December 2, 2018		     HPL_perm(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=HPL_perm&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help