mul.tensor {tensorA} | R Documentation |
Tensor multiplication for the tensor class
Description
Performs a tensor multiplication like tensor(), but with named indices, keeping dimnames, and vectorized.
Usage
mul.tensor(X,i=c(),Y,j=i,by=NULL)
Arguments
X |
a tensor to be multiplied |
i |
numeric or character vector specifying the dimension to be used in the multiplication for X |
Y |
a tensor to be multiplied |
j |
numeric or character vector specifying the dimension to be used in the multiplication for Y |
by |
the by dimensions if present and not mentioned in i or j are
used as sequence dimensions. tensors in these dimensions are
processed in parallel. So in this dimension the product is neither
inner nor outer but parallel like |
Details
Say
X_{i_1\ldots i_n h_1 \ldots h_l}
and
Y_{j_1\ldots j_n k_1 \ldots k_m}
the the result is:
E_{h_1\ldots h_l k_1 \ldots k_m}= \sum_{i_1,\ldots,i_n} X_{i_1\ldots i_n h_1 \ldots h_l}Y_{j_1\ldots j_n k_1 \ldots k_m}
This is an full outer product with i,j not given and a full inner product product of i=dim(X)
Value
The tensor product of X and Y with respect to the regarding dimensions.
Author(s)
K. Gerald van den Boogaart
See Also
to.tensor
, %e%
,
%r%
, diagmul.tensor
,
einstein.tensor
, riemann.tensor
,
solve.tensor
Examples
A <- to.tensor(1:20,c(A=2,B=2,C=5))
B <- to.tensor(1:20,c(D=2,B=2,E=5))
mul.tensor(A,"A",A,"B")