blockrep: Replicate blocks of multidimensional value.

View source: R/blockrep.r

blockrepR Documentation

Replicate blocks of multidimensional value.

Description

Replicates a multidimensional object a number of times along given dimensions.

Usage

blockrep(x, nreps)

repto(x, newdim)

repto(x, newdim)

Arguments

x

a madness object, representing a k-dimensional object.

nreps

an l-vector of positive integers, representing how many times to copy the object.

newdim

an l-vector of positive integers of the new dimension of the output object. These must be integer multiples of the input dimensions.

Details

Given a k-dimensional object, and an l-vector of positive integers, for l >= k, copy the input object l_i times in the ith dimension. Useful for replication and (slow, fake) outer products.

repto replicates to the given dimension, assuming the given dimension are integer multiples of the input dimensions.

Value

A madness object replicated out.

Note

An error will be thrown if nreps or newdim are improper.

Author(s)

Steven E. Pav shabbychef@gmail.com

Examples

set.seed(123)
y <- array(rnorm(3*3),dim=c(3,3))
dy <- matrix(rnorm(length(y)*2),ncol=2)
dx <- crossprod(matrix(rnorm(ncol(dy)*100),nrow=100))
obj0 <- madness(val=y,vtag='y',xtag='x',dvdx=dy,varx=dx)

anobj <- blockrep(obj0,c(1,2,1))
anobj <- blockrep(obj0,c(1,1,2))
anobj <- repto(obj0,c(9,12,4))

madness documentation built on Aug. 21, 2023, 9:07 a.m.