clifford
objectsHelper functions for clifford
objects, written in C
using the
STL
map class.
c_identity(L, p, m)
c_grade(L, c, m, n)
c_add(L1, c1, L2, c2, m)
c_multiply(L1, c1, L2, c2, m, sig)
c_power(L, c, m, p, sig)
c_equal(L1, c1, L2, c2, m)
c_overwrite(L1, c1, L2, c2, m)
c_cartan(L, c, m, n)
c_cartan_inverse(L, c, m, n)
The high-level functions documented here return an object of class
clifford
. But don't use the low-level functions.
Lists of terms
Numeric vectors of coefficients
Maximum entry of terms
Grade to extract
Integer power
Two positive integers, \(p\) and \(q\), representing the number of \(+1\) and \(-1\) terms on the main diagonal of quadratic form
Robin K. S. Hankin
The functions documented here are low-level helper functions that wrap
the C
code. They are called by functions like
clifford_plus_clifford()
, which are themselves called by the
binary operators documented at Ops.clifford.Rd
. The functions
documented here are not really intended for day-to-day use.
Function c_identity()
checks that the list of terms L
is
the same length as the vector coefficients p
; if not, an error
is given. Note that R function clifford()
will recycle the
coefficient vector if of length 1, so that
clifford(list(1,1:2),7)
works as expected (but
c_identity(list(1,1:2),7,2)
will throw an error).
Function clifford_inverse()
is problematic as nonnull blades
always have an inverse; but function is.blade()
is not yet
implemented. Blades (including null blades) have a pseudoinverse, but
this is not implemented yet either.
Ops.clifford