Learn R Programming

fastmatrix (version 0.3-8)

symm.prod: Matrix multiplication envolving the symmetrizer matrix

Description

Given the order of a symmetrizer and matrix x, performs one of the matrix-matrix operations:

  • \(\bold{Y} = \bold{NX}\), if side = "left", or

  • \(\bold{Y} = \bold{XN}\), if side = "right",

where \(\bold{N}\) is the symmetrizer matrix of order \(n\). The main aim of symm.prod is to do this matrix multiplication without forming the symmetrizer matrix.

Usage

symm.prod(n = 1, x = NULL, side = "left")

Arguments

n

order of the symmetrizer matrix.

x

numeric matrix (or vector).

side

a string selecting if symmetrizer matrix is pre-multiplying x, that is side = "left" or post-multiplying x, by using side = "right".

Details

Underlying C code only uses information provided by symm.info to performs the matrix multiplication. The symmetrizer matrix is never created.

See Also

symmetrizer

Examples

Run this code
# NOT RUN {
N4 <- symmetrizer(n = 4, matrix = TRUE)
x <- matrix(1:32, ncol = 2)
y <- N4 %*% x

z <- symm.prod(n = 4, x) # N4 is not stored
all(z == y) # matrices y and z are equal!
# }

Run the code above in your browser using DataLab