Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
A newer version of this document is available. Customers should click here to go to the newest version.
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 = QTA or B = AQ
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 = QTA;
= 1: compute B = AQ.
 - 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