Multiplication by Decomposition Factors --- Generic Function

DESCRIPTION:
Performs multiplication by factors for certain decompositions (and allows explicit formation of those factors).

This function is generic (see Methods); method functions can be written to handle specific classes of data. Classes which already have methods for this function include: "lu.Matrix", "lu.Hermitian", "qr.Matrix".


USAGE:
facmul(x, factor, y, transpose = F, left = T, ...)

REQUIRED ARGUMENTS:
x:
a matrix decomposition. No missing values or IEEE special values are allowed.
factor:
an indicator for selecting a particular factor for multiplication.
y:
a matrix or vector to be multiplied by the factor or its transpose. No missing values or IEEE special values are allowed.

OPTIONAL ARGUMENTS:
transpose:
a logical value indicating whether or not the transpose of the factor should be applied. The default is to use the untransposed factor.
left:
a logical value indicating whether the multiplication should occur on the left or on the right of y. The default is multiplication on the left.
...:
the method for "qr.Matrix" has additional arguments.

VALUE:
the product of the selected factor (or its transpose) and y

NOTE:
Factors for decompositions such as lu and qr can be stored in a compact form. The function facmul allows multiplication without explicit formation of the factors, saving both storage and operations.

REFERENCES:
Golub, G., and Van Loan, C. F. (1989). Matrix Computations, 2nd edition, Johns Hopkins, Baltimore.

SEE ALSO:
facmul.lu.Matrix , facmul.lu.Hermitian , facmul.qr.Matrix , expand .

EXAMPLES:
library(Matrix)
x <- Matrix(rnorm(9), 3, 3)
qrx <- qr(x)                      # QR factorization of x
y <- rnorm(3)
facmul( qr(x), factor = "Q", y)   # form Q y