Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of 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 = 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

See Also