HP MLIB User's Guide Vol. 1 7th Ed.
Chapter 2 Basic Vector Operations 193
Sort vector and return index vector F_SSORTV/F_DSORTV
Name F_SSORTV/F_DSORTV
Sort vector and return index vector
Purpose F_xSORTV sorts the entries of a real vector x in increasing or decreasing order,
returns p, the permuted vector, and overwrites the vector x with the sorted
vector (x = P * x). If n is less than or equal to zero, the routine returns
immediately.
The permutation vector p represents a general permutation matrix P. This
matrix P is represented as a product of at most n interchange permutations. An
interchange permutation E is a permutation obtained by swapping two rows of
the identity matrix. In other words, P = E
n
...E
1
and each E
i
is the identity with
rows i and p
i
interchanged.
F_xSORTV, like F_xSORT, strictly operates on real vectors and is not defined
for complex vectors.
Usage VECLIB:
INTEGER*4 INCP, INCX, N, SORT
INTEGER P( * )
REAL*4 X( * )
SUBROUTINE F_SSORTV (SORT, N, X, INCX, P, INCP)
INTEGER*4 INCP, INCX, N, SORT
INTEGER P( * )
REAL*8 X( * )
SUBROUTINE F_DSORTV (SORT, N, X, INCX, P, INCP)
VECLIB8:
INTEGER*8 INCP, INCX, N, SORT
INTEGER P( * )
REAL*4 X( * )
SUBROUTINE F_SSORTV (SORT, N, X, INCX, P, INCP)
INTEGER*8 INCP, INCX, N, SORT
INTEGER P( * )
REAL*8 X( * )
SUBROUTINE F_DSORTV (SORT, N, X, INCX, P, INCP)
Input SORT Specifies whether the data should be sorted in
increasing or decreasing order. Use either
BLAS_INCREASING_ORDER or
BLAS_DECREASING_ORDER.
N Number of elements of vector x.