tensorprod | R Documentation |
k
-tensorsTensor products of k
-tensors
tensorprod(U, ...)
tensorprod2(U1,U2)
U , U1 , U2 |
Object of class |
... |
Further arguments, currently ignored |
Given a k
-tensor S
and an l
-tensor
T
, we can form the tensor product S\otimes T
, defined as
S\otimes T\left(v_1,\ldots,v_k,v_{k+1},\ldots, v_{k+l}\right)=
S\left(v_1,\ldots v_k\right)\cdot T\left(v_{k+1},\ldots
v_{k+l}\right).
Package idiom for this includes tensorprod(S,T)
and S %X%
T
; note that the tensor product is not commutative. Function
tensorprod()
can take any number of arguments (the result is
well-defined because the tensor product is associative); it uses
tensorprod2()
as a low-level helper function.
The functions documented here all return a spray
object.
The binary form %X%
uses uppercase X to avoid clashing with
%x%
which is the Kronecker product in base R.
Robin K. S. Hankin
Spivak 1961
ktensor
(A <- ktensor(spray(matrix(c(1,1,2,2,3,3),2,3,byrow=TRUE),1:2)))
(B <- ktensor(spray(10+matrix(4:9,3,2),5:7)))
tensorprod(A,B)
A %X% B - B %X% A
Va <- matrix(rnorm(9),3,3)
Vb <- matrix(rnorm(38),19,2)
LHS <- as.function(A %X% B)(cbind(rbind(Va,matrix(0,19-3,3)),Vb))
RHS <- as.function(A)(Va) * as.function(B)(Vb)
c(LHS=LHS,RHS=RHS,diff=LHS-RHS)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.