wedge (version 1.0-3)

Alt: Alternating multilinear forms

Description

Converts a \(k\)-tensor to alternating form

Usage

Alt(S)

Arguments

S

A multilinear form, an object of class ktensor

Value

Returns an alternating \(k\)-tensor. To coerce to a \(k\)-form, which is a much more efficient representation, use as.kform().

Details

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}{cc} +T\left(v_1,v_2,v_3\right)& -T\left(v_1,v_3,v_2\right)\cr -T\left(v_2,v_1,v_3\right)& +T\left(v_2,v_3,v_1\right)\cr +T\left(v_3,v_1,v_2\right)& -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() takes and returns an object of class ktensor.

See Also

kform

Examples

Run this code
# NOT RUN {
S <- as.ktensor(expand.grid(1:3,1:3),rnorm(9))
S
Alt(S)

issmall(Alt(S) - Alt(Alt(S)))  # should be TRUE

# }

Run the code above in your browser using DataLab