slasr(3)

NAME

SLASR - perform the transformation A := P*A, when SIDE =
'L' or 'l' ( Left-hand side ) A := A*P', when SIDE = 'R' or 'r'
( Right-hand side ) where A is an m by n real matrix and P is an
orthogonal matrix,

SYNOPSIS

SUBROUTINE  SLASR( SIDE, PIVOT, DIRECT, M, N, C, S, A, LDA
)
    CHARACTER     DIRECT, PIVOT, SIDE
    INTEGER       LDA, M, N
    REAL          A( LDA, * ), C( * ), S( * )

PURPOSE

SLASR performs the transformation A := P*A, when SIDE =
'L' or 'l' ( Left-hand side ) A := A*P', when SIDE = 'R' or 'r' (
Right-hand side ) where A is an m by n real matrix and P is an
orthogonal matrix, consisting of a sequence of plane rotations
determined by the parameters PIVOT and DIRECT as follows ( z = m
when SIDE = 'L' or 'l' and z = n when SIDE = 'R' or 'r' ):
When DIRECT = 'F' or 'f' ( Forward sequence ) then

P = P( z - 1 )*...*P( 2 )*P( 1 ),
and when DIRECT = 'B' or 'b' ( Backward sequence ) then

P = P( 1 )*P( 2 )*...*P( z - 1 ),
where P( k ) is a plane rotation matrix for the following
planes:

when PIVOT = 'V' or 'v' ( Variable pivot ),
the plane ( k, k + 1 )
when PIVOT = 'T' or 't' ( Top pivot ),
the plane ( 1, k + 1 )
when PIVOT = 'B' or 'b' ( Bottom pivot ),
the plane ( k, z )
c( k ) and s( k ) must contain the cosine and sine that
define the matrix P( k ). The two by two plane rotation part of
the matrix P( k ), R( k ), is assumed to be of the form

R( k ) = ( c( k ) s( k ) ).
( -s( k ) c( k ) )
This version vectorises across rows of the array A when
SIDE = 'L'.

ARGUMENTS

SIDE (input) 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'
DIRECT (input) CHARACTER*1
Specifies whether P is a forward or backward se
quence of plane rotations. = 'F': Forward, P = P( z - 1
)*...*P( 2 )*P( 1 )
= 'B': Backward, P = P( 1 )*P( 2 )*...*P( z - 1 )
PIVOT (input) CHARACTER*1
Specifies the plane for which P(k) is a plane ro
tation matrix. = 'V': Variable pivot, the plane (k,k+1)
= 'T': Top pivot, the plane (1,k+1)
= 'B': Bottom pivot, the plane (k,z)
M (input) INTEGER
The number of rows of the matrix A. If m <= 1, an
immediate return is effected.
N (input) INTEGER
The number of columns of the matrix A. If n <= 1,
an immediate return is effected.
C, S (input) REAL arrays, dimension (M-1) if
SIDE = 'L' (N-1) if SIDE = 'R' c(k) and s(k) contain the cosine
and sine that define the matrix P(k). The two by two plane rota
tion part of the matrix P(k), R(k), is assumed to be of the form
R( k ) = ( c( k ) s( k ) ). ( -s( k ) c( k ) )
A (input/output) REAL array, dimension (LDA,N)
The m by n matrix A. On exit, A is overwritten by
P*A if SIDE = 'R' or by A*P' if SIDE = 'L'.
LDA (input) INTEGER
The leading dimension of the array A. LDA >=
max(1,M).
LAPACK version 3.0 15 June 2000
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout