antivector {clifford} | R Documentation |
Antivectors or pseudovectors
antivector(v, n = length(v))
as.antivector(v)
is.antivector(C, include.pseudoscalar=FALSE)
v |
Numeric vector |
n |
Integer specifying dimensionality of underlying vector space |
C |
Clifford object |
include.pseudoscalar |
Boolean: should the pseudoscalar be considered an antivector? |
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.
An antivector is always a blade.
Robin K. S. Hankin
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
antivector(1:5)
as.1vector(c(1,1,2)) %X% as.1vector(c(3,2,2))
c(1*2-2*2, 2*3-1*2, 1*2-1*3) # note sign of e_13