Alt | R Documentation |
Converts a k
-tensor to alternating form
Alt(S,give_kform)
S |
A multilinear form, an object of class |
give_kform |
Boolean, with default |
Given a k
-tensor T
, we have
\mathrm{Alt}(T)\left(v_1,\ldots,v_k\right)=
\frac{1}{k!}\sum_{\sigma\in S_k}\mathrm{sgn}(\sigma)\cdot
T\left(v_{\sigma(1)},\ldots,v_{\sigma(k)}\right)
Thus for example if k=3
:
\mathrm{Alt}(T)\left(v_1,v_2,v_3\right)=
\frac{1}{6}\left(\begin{array}{c}
+T\left(v_1,v_2,v_3\right)\quad
-T\left(v_1,v_3,v_2\right)\cr
-T\left(v_2,v_1,v_3\right)\quad
+T\left(v_2,v_3,v_1\right)\cr
+T\left(v_3,v_1,v_2\right)\quad
-T\left(v_3,v_2,v_1\right)
\end{array}
\right)
and it is reasonably easy to see that \mathrm{Alt}(T)
is alternating, in the sense that
\mathrm{Alt}(T)\left(v_1,\ldots,v_i,\ldots,v_j,\ldots,v_k\right)=
-\mathrm{Alt}(T)\left(v_1,\ldots,v_j,\ldots,v_i,\ldots,v_k\right)
Function Alt()
is intended to take and return an object of
class ktensor
; but if given a kform
object, it just
returns its argument unchanged.
A short vignette is provided with the package: type
vignette("Alt")
at the commandline.
Returns an alternating k
-tensor. To work with k
-forms,
which are a much more efficient representation of alternating tensors,
use as.kform()
.
Robin K. S. Hankin
kform
(X <- ktensor(spray(rbind(1:3),6)))
Alt(X)
Alt(X,give_kform=TRUE)
S <- as.ktensor(expand.grid(1:3,1:3),rnorm(9))
S
Alt(S)
issmall(Alt(S) - Alt(Alt(S))) # should be TRUE; Alt() is idempotent
a <- rtensor()
V <- matrix(rnorm(21),ncol=3)
LHS <- as.function(Alt(a))(V)
RHS <- as.function(Alt(a,give_kform=TRUE))(V)
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.