volume.Rd
The volume element in \(n\) dimensions
volume(n)
is.volume(K,n=dovs(K))
Spivak phrases it well (theorem 4.6, page 82):
If \(V\) has dimension \(n\), it follows that \(\Lambda^n(V)\) has dimension 1. Thus all alternating \(n\)-tensors on \(V\) are multiples of any non-zero one. Since the determinant is an example of such a member of \(\Lambda^n(V)\) it is not surprising to find it in the following theorem:
Let \(v_1,\ldots,v_n\) be a basis for \(V\) and let \(\omega\in\Lambda^n(V)\). If \(w_i=\sum_{j=1}^n a_{ij}v_j\) then
$$ \omega\left(w_1,\ldots,w_n\right)=\det\left(a_{ij}\right)\cdot\omega\left(v_1,\ldots v_n\right)$$
(see the examples for numerical verification of this).
Neither the zero \(k\)-form, nor scalars, are considered to be a volume element.
Function volume()
returns an object of class kform
;
function is.volume()
returns a Boolean.
M. Spivak 1971. Calculus on manifolds, Addison-Wesley
dx^dy^dz == volume(3)
#> [1] TRUE
p <- 1
for(i in 1:7){p <- p ^ as.kform(i)}
p
#> An alternating linear map from V^7 to R with V=R^7:
#> val
#> 1 2 3 4 5 6 7 = 1
p == volume(7) # should be TRUE
#> [1] TRUE
o <- volume(5)
M <- matrix(runif(25),5,5)
det(M) - as.function(o)(M) # should be zero
#> [1] 0
is.volume(d(1) ^ d(2) ^ d(3) ^ d(4))
#> [1] TRUE
is.volume(d(1:9))
#> [1] TRUE