Learn R Programming

Matrix (version 1.7-6)

facmul-methods: Multiplication by Factors from Matrix Factorizations

Description

Multiplies a matrix or vector on the left or right by a factor from a matrix factorization or its transpose.

Usage

facmul(x, factor, y, trans = FALSE, left = TRUE, ...)

Arguments

Value

The value of op(M) %*% y or y %*% op(M), depending on left, where M is the factor (always without

dimnames) and op(M)

is M or t(M), depending on trans.

Details

facmul is experimental and currently no methods are exported from Matrix.

Examples

Run this code
 
library(stats, pos = "package:base", verbose = FALSE)

## Conceptually, methods for 'facmul' _would_ behave as follows ...
if (FALSE) {
n <- 3L
x <- lu(Matrix(rnorm(n * n), n, n))
y <- rnorm(n)
L <- unname(expand2(x)[[nm <- "L"]])
stopifnot(exprs = {
    all.equal(facmul(x, nm, y, trans = FALSE, left =  TRUE), L %*% y)
    all.equal(facmul(x, nm, y, trans = FALSE, left = FALSE), y %*% L)
    all.equal(facmul(x, nm, y, trans =  TRUE, left =  TRUE),  crossprod(L, y))
    all.equal(facmul(x, nm, y, trans =  TRUE, left = FALSE), tcrossprod(y, L))
})
}

Run the code above in your browser using DataLab