1 *> \brief \b SLASWP performs a series of row interchanges on a general rectangular matrix.
3 * =========== DOCUMENTATION ===========
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
9 *> Download SLASWP + dependencies
10 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/slaswp.f">
12 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/slaswp.f">
14 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slaswp.f">
21 * SUBROUTINE SLASWP( N, A, LDA, K1, K2, IPIV, INCX )
23 * .. Scalar Arguments ..
24 * INTEGER INCX, K1, K2, LDA, N
26 * .. Array Arguments ..
37 *> SLASWP performs a series of row interchanges on the matrix A.
38 *> One row interchange is initiated for each of rows K1 through K2 of A.
47 *> The number of columns of the matrix A.
52 *> A is REAL array, dimension (LDA,N)
53 *> On entry, the matrix of column dimension N to which the row
54 *> interchanges will be applied.
55 *> On exit, the permuted matrix.
61 *> The leading dimension of the array A.
67 *> The first element of IPIV for which a row interchange will
74 *> The last element of IPIV for which a row interchange will
80 *> IPIV is INTEGER array, dimension (K2*abs(INCX))
81 *> The vector of pivot indices. Only the elements in positions
82 *> K1 through K2 of IPIV are accessed.
83 *> IPIV(K) = L implies rows K and L are to be interchanged.
89 *> The increment between successive values of IPIV. If IPIV
90 *> is negative, the pivots are applied in reverse order.
96 *> \author Univ. of Tennessee
97 *> \author Univ. of California Berkeley
98 *> \author Univ. of Colorado Denver
101 *> \date September 2012
103 *> \ingroup realOTHERauxiliary
105 *> \par Further Details:
106 * =====================
111 *> R. C. Whaley, Computer Science Dept., Univ. of Tenn., Knoxville, USA
114 * =====================================================================
115 SUBROUTINE SLASWP( N, A, LDA, K1, K2, IPIV, INCX )
117 * -- LAPACK auxiliary routine (version 3.4.2) --
118 * -- LAPACK is a software package provided by Univ. of Tennessee, --
119 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
122 * .. Scalar Arguments ..
123 INTEGER INCX, K1, K2, LDA, N
125 * .. Array Arguments ..
130 * =====================================================================
132 * .. Local Scalars ..
133 INTEGER I, I1, I2, INC, IP, IX, IX0, J, K, N32
136 * .. Executable Statements ..
138 * Interchange row I with row IPIV(I) for each of rows K1 through K2.
145 ELSE IF( INCX.LT.0 ) THEN
146 IX0 = 1 + ( 1-K2 )*INCX
158 DO 20 I = I1, I2, INC
163 A( I, K ) = A( IP, K )
174 DO 50 I = I1, I2, INC
179 A( I, K ) = A( IP, K )