Applies a sequence of plane rotations to a general rectangular matrix.
call slasr( side, pivot, direct, m, n, c, s, a, lda )
call dlasr( side, pivot, direct, m, n, c, s, a, lda )
call clasr( side, pivot, direct, m, n, c, s, a, lda )
call zlasr( side, pivot, direct, m, n, c, s, a, lda )
The FORTRAN 77 interfaces are specified in the mkl_lapack.fi include file (to be used in Fortran programs) and in the mkl_lapack.h include file (to be used in C programs).
The routine applies a sequence of plane rotations to a real/complex matrix A, from the left or the right.
A := P*A, when side = 'L' ( Left-hand side )
A := A*P', when side = 'R' ( Right-hand side )
where P is an orthogonal matrix consisting of a sequence of plane rotations with z = m when side = 'L' and z = n when side = 'R'.
When direct = 'F' (Forward sequence), then
P = P(z-1)*...P(2)*P(1),
and when direct = 'B' (Backward sequence), then
P = P(1)*P(2)*...*P(z-1),
where P( k ) is a plane rotation matrix defined by the 2-by-2 plane rotation:
When pivot = 'V' ( Variable pivot ), the rotation is performed for the plane (k, k + 1), that is, P(k) has the form
where R(k) appears as a rank-2 modification to the identity matrix in rows and columns k and k+1.
When pivot = 'T' ( Top pivot ), the rotation is performed for the plane (1,k+1), so P(k) has the form
where R(k) appears in rows and columns k and k+1.
Similarly, when pivot = 'B' ( Bottom pivot ), the rotation is performed for the plane (k,z), giving P(k) the form
where R(k) appears in rows and columns k and z. The rotations are performed without ever forming P(k) explicitly.
CHARACTER*1. Specifies whether the plane rotation matrix P is applied to A on the left or the right.
= 'L': left, compute A := P*A
= 'R': right, compute A:= A*P'
CHARACTER*1. Specifies whether P is a forward or backward sequence of plane rotations.
= 'F': forward, P = P(z-1)*...*P(2)*P(1)
= 'B': backward, P = P(1)*P(2)*...*P(z-1)
CHARACTER*1. Specifies the plane for which P(k) is a plane rotation matrix.
= 'V': Variable pivot, the plane (k, k+1)
= 'T': Top pivot, the plane (1, k+1)
= 'B': Bottom pivot, the plane (k, z)
INTEGER. The number of rows of the matrix A.
If m ≤ 1, an immediate return is effected.
INTEGER. The number of columns of the matrix A.
If n ≤ 1, an immediate return is effected.
REAL for slasr/clasr
DOUBLE PRECISION for dlasr/zlasr.
Arrays, DIMENSION
(m-1) if side = 'L',
(n-1) if side = 'R' .
c(k) and s(k) contain the cosine and sine of the plane rotations respectively that define the 2-by-2 plane rotation part (R(k)) of the P(k) matrix as described above in Description.
REAL for slasr
DOUBLE PRECISION for dlasr
COMPLEX for clasr
COMPLEX*16 for zlasr.
Array, DIMENSION (lda, n).
The m-by-n matrix A.
INTEGER. The leading dimension of the array a.
lda ≥ max(1,m).
Copyright © 1994 - 2010, Intel Corporation. All rights reserved.