kform: k-forms

Description Usage Arguments Details Note Author(s) References See Also Examples

Description

Functionality for dealing with k-forms

Usage

1
2
3
4
5
6
kform(S)
as.kform(M,coeffs,lose=TRUE)
kform_basis(n, k)
kform_general(W,k,coeffs,lose=TRUE)
## S3 method for class 'kform'
as.function(x,...)

Arguments

n

Dimension of the vector space V=R^n

k

A k-form maps V^k to R

W

Integer vector of dimensions

M

Index matrix for a k-form

coeffs

Coefficients of the k-form

S

Object of class spray

lose

Boolean, with default TRUE meaning to coerce a 0-form to a scalar and FALSE meaning to return the formal 0-form

x

Object of class kform

...

Further arguments, currently ignored

Details

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

omitted; see PDF

Function kform_basis() is a low-level helper function that returns a matrix whose rows constitute a basis for the vector space L^k(R^n) of k-tensors:

omitted; see PDF

and in fact

omitted; see PDF

where e_j,1<=j<=k is a basis for V.

In the wedge 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.

Note

Hubbard and Hubbard use the term “k-form”, but Spivak does not.

Author(s)

Robin K. S. Hankin

References

Hubbard and Hubbard; Spivak

See Also

ktensor,lose

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
as.kform(cbind(1:5,2:6),rnorm(5))
kform_general(1:4,2,coeffs=1:6)  # used in electromagnetism

K1 <- as.kform(cbind(1:5,2:6),rnorm(5))
K2 <- kform_general(5:8,2,1:6)
wedge(K1,K2)


f <- as.function(wedge(K1,K2))
E <- matrix(rnorm(32),8,4)

f(E) + f(E[,c(1,3,2,4)])  # should be zero

wedge documentation built on Sept. 4, 2019, 9:02 a.m.