Antivectors or pseudovectors
antivector.Rd
Antivectors or pseudovectors
Usage
antivector(v, n = length(v))
as.antivector(v)
is.antivector(C, include.pseudoscalar=FALSE)
Details
An antivector is an \(n\)-dimensional Clifford object, all of
whose terms are of grade \(n-1\). An antivector has \(n\) degrees
of freedom. Function antivector(v,n)
interprets v[i]
as
the coefficient of \(e_1e_2\ldots e_{i-1}e_{i+1}\ldots e_n\).
Function as.antivector()
is a convenience wrapper, coercing its
argument to an antivector of minimal dimension (zero entries are
interpreted consistently).
The pseudoscalar is a peculiar edge case. Consider:
A <- clifford(list(c(1,2,3)))
B <- A + clifford(list(c(1,2,4)))
> is.antivector(A)
[1] FALSE
> is.antivector(B)
[1] TRUE
> is.antivector(A,include.pseudoscalar=TRUE)
[1] TRUE
> is.antivector(B,include.pseudoscalar=TRUE)
[1] TRUE
One could argue that A
should be an antivector as it is a term in
B
, which is definitely an antivector. Use
include.pseudoscalar=TRUE
to ensure consistency in this case.
Compare as.1vector()
, which returns a clifford object of grade 1.
References
Wikipedia contributors. (2018, July 20). “Antivector”. In Wikipedia, The Free Encyclopedia. Retrieved 19:06, January 27, 2020, from https://en.wikipedia.org/w/index.php?title=Antivector&oldid=851094060
Examples
antivector(1:5)
#> Element of a Clifford algebra, equal to
#> + 5e_1234 + 4e_1235 + 3e_1245 + 2e_1345 + 1e_2345
as.1vector(c(1,1,2)) %X% as.1vector(c(3,2,2))
#> Element of a Clifford algebra, equal to
#> - 1e_12 - 4e_13 - 2e_23
c(1*2-2*2, 2*3-1*2, 1*2-1*3) # note sign of e_13
#> [1] -2 4 -1