Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

b?laapp

Multiplies a matrix with an orthogonal matrix.

Syntax

call bslaapp
(
iside
,
m
,
n
,
nb
,
a
,
lda
,
nitraf
,
itraf
,
dtraf
,
work
)
call bdlaapp
(
iside
,
m
,
n
,
nb
,
a
,
lda
,
nitraf
,
itraf
,
dtraf
,
work
)
Description
b?laapp
computes
B
=
Q
T
A
or
B
=
A
Q
where
A
is an
m
-by-
n
matrix and
Q
is an orthogonal matrix represented by the parameters in the arrays
itraf
and
dtraf
as described in
b?trexc
.
This is an auxiliary
routine
called by
p?trord
.
Input Parameters
iside
INTEGER
Specifies whether
Q
multiplies
A
from the left or right as follows:
= 0: compute
B
=
Q
T
A
;
= 1: compute
B
=
A
Q
.
m
INTEGER
The number of rows of
A
.
n
INTEGER
The number of columns of
A
.
nb
INTEGER
If
iside
= 0, the
Q
is applied block column-wise to the rows of
A
and
nb
specifies the maximal width of the block columns.
If
iside
= 1, this variable is not referenced.
a
REAL
for
bslaapp
DOUBLE PRECISION
for
bdlaapp
Array of size
(
lda
,
n
)
.
On entry, the matrix
A
.
lda
INTEGER
The leading dimension of the array
a
.
lda
max(1,
n
).
nitraf
INTEGER
Length of the array
itraf
.
nitraf
0.
itraf
INTEGER
array, length
nitraf
List of parameters for representing the transformation matrix
Q
, see
b?trexc
.
work
(workspace)
REAL
array of size
n
.
OUTPUT Parameters
a
a
is overwritten by
B
.
dtraf
REAL
for
bslaapp
DOUBLE PRECISION
for
bdlaapp
Array, length
k
.
If
iside
=0,
k
= 3*(
n
/
nb
).
If
iside
=1,
k
= 3*
nitraf
.
List of parameters for representing the transformation matrix
Q
, see
b?trexc