A \(k\)-form is an alternating \(k\)-tensor.
Recall that a \(k\)-tensor is a multilinear map from \(V^k\) to
the reals, where \(V=R^n\) is a vector space. A multilinear
\(k\)-tensor \(T\) is alternating if it satisfies
T(v_1,…,v_i,…,v_j,…,v_k)=
T(v_1,…,v_j,…,v_i,…,v_k)
omitted; see latex
Function kform_basis()
is a low-level helper function that
returns a matrix whose rows constitute a basis for the vector space
^k(R^n)L^k(R^n) of \(k\)-tensors:
=_1 i_1 < < i_k n a_i_1… i_kdx_i_1 dx_i_komitted; see latex
and indeed we have:
a_i_1… i_k=(e_i_1,…,e_i_k)
omitted; see latex
where e_j,1 j ke_j,1<=j<=k is a basis for
\(V\).
In the stokes package, \(k\)-forms are represented as sparse
arrays (spray
objects), but with a class of c("kform",
"spray")
. The constructor function (kform()
) ensures that rows
of the index matrix are strictly nonnegative integers, have no repeated
entries, and are strictly increasing.