BDLAAPP(3) ScaLAPACK routine of NEC Numeric Library Collection BDLAAPP(3) NAME BDLAAPP - 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 parame- ters in the arrays ITRAF and DTRAF as described in BDTREXC SYNOPSIS SUBROUTINE BDLAAPP( ISIDE, M, N, NB, A, LDA, NITRAF, ITRAF, DTRAF, WORK ) INTEGER ISIDE, LDA, M, N, NB, NITRAF INTEGER ITRAF( * ) DOUBLE PRECISION A( LDA, * ), DTRAF( * ), WORK( * ) PURPOSE BDLAAPP 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 BDTREXC. This is an auxiliary routine called by BDTRSEN. ARGUMENTS ISIDE (input) INTEGER Specifies whether Q multiplies A from the left or right as fol- lows: = 0: compute B = Q**T * A; = 1: compute B = A * Q. M (input) INTEGER The number of rows of A. N (input) INTEGER The number of columns of A. NB (input) 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 (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the matrix A. On exit, A is overwritten by B. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). NITRAF (input) INTEGER Length of the array ITRAF. NITRAF >= 0. ITRAF (input) INTEGER array, length NITRAF List of parameters for representing the transformation matrix Q, see BDTREXC. DTRAF (output) DOUBLE PRECISION array, length k, where List of parameters for representing the transformation matrix Q, see BDTREXC. WORK (workspace) DOUBLE PRECISION array, dimension (N) ScaLAPACK routine 31 October 2017 BDLAAPP(3)