SUBROUTINE MVMBWM( TRANS, N, M, X, LDX, Y, LDY ) * .. * .. Scalar Arguments .. INTEGER LDY, LDX, M, N, TRANS * .. * .. Array Arguments .. DOUBLE PRECISION Y( LDY, * ), X( LDX, * ) * .. * * Purpose * ======= * * Compute * * Y(:,1:M) = op(A)*X(:,1:M) * * where op(A) is A or A' (the transpose of A). The matrix A is a 2 by 2 * block matrix resulted from the finite difference discretization * of the Brusselator wave model. * * Arguments * ========= * * TRANS (input) INTEGER * If TRANS = 0, compute Y(:,1:M) = A*Q(:,1:M) * If TRANS = 1, compute Y(:,1:M) = A'*Q(:,1:M) * * N (input) INTEGER * The order of the matrix A. N has to be an even number. * * M (input) INTEGERS * The number of Q to multiply. * * X (input) DOUBLE PRECISION array, dimension ( LDX, M ) * contains the vectors X. * * LDX (input) INTEGER * The leading dimension of the array X, LDX >= max( 1, N ) * * Y (output) DOUBLE PRECISION array, dimension (LDY, M ) * contains the product of the matrix op(A) with X. * * LDY (input) INTEGER * The leading dimension of the array Y, LDY >= max( 1, N ) * * ===================================================================