## ----setup, include=FALSE----------------------------------------------------- set.seed(0) library("spray") library("stokes") options(rmarkdown.html_vignette.check_title = FALSE) knitr::opts_chunk$set(echo = TRUE) knit_print.function <- function(x, ...){dput(x)} registerS3method( "knit_print", "function", knit_print.function, envir = asNamespace("knitr") ) ## ----out.width='20%', out.extra='style="float:right; padding:10px"',echo=FALSE---- knitr::include_graphics(system.file("help/figures/stokes.png", package = "stokes")) ## ----label=showAlt,comment=""------------------------------------------------- tensorprod tensorprod2 ## ----------------------------------------------------------------------------- (a <- ktensor(spray(matrix(c(1,1,2,1),2,2),3:4))) (b <- ktensor(spray(matrix(c(3,4,7,5,4,3),3,2),7:9))) ## ----------------------------------------------------------------------------- tensorprod(a,b) ## ----------------------------------------------------------------------------- S <- rtensor() T <- rtensor() U <- rtensor() c( left_distributive = S %X% (T+U) == S*T + S*U, right_distributive = (S+T) %X% U == S %X% U + T %X% U, associative = S %X% (T %X% U) == (S %X% T) %X% U ) ## ----------------------------------------------------------------------------- x <- ktensor(spray(matrix(c(1,1,2,1),2,2),1:2)) y <- ktensor(spray(matrix(c(3,4,7,5,4,3),3,2),1:3)) z <- ktensor(spray(matrix(c(1,1,2,1),2,2),1:2)) tensorprod(x, tensorprod(y, z)) tensorprod(tensorprod(x, y), z) ## ----echo=FALSE--------------------------------------------------------------- rm(T) # tidyup