Class “dot”
dot.RdThe dot object is defined in the freealg package, and
imported here, so that idiom like .[x,y] returns the
commutator, that is, x^-1 y^-1 xy.
The dot object is generated by running script inst/dot.Rmd,
which includes some further discussion and technical documentation,
and creates file dot.rda which resides in the data/
directory.
Usage
# S4 method for class 'dot,ANY,ANY'
x[i, j, drop]
# S4 method for class 'dot,free,ANY,ANY'
x[i, j, drop]Examples
.[as.free("x"), as.free("y")]
#> [1] x^-1.y^-1.x.y
.[abc(1:6), "z"]
#> [1] a^-1.z^-1.a.z
#> [2] b^-1.a^-1.z^-1.a.b.z
#> [3] c^-1.b^-1.a^-1.z^-1.a.b.c.z
#> [4] d^-1.c^-1.b^-1.a^-1.z^-1.a.b.c.d.z
#> [5] e^-1.d^-1.c^-1.b^-1.a^-1.z^-1.a.b.c.d.e.z
#> [6] f^-1.e^-1.d^-1.c^-1.b^-1.a^-1.z^-1.a.b.c.d.e.f.z
x <- rfree()
y <- rfree()
z <- rfree()
.[x, y] == -x-y+x+y # should be TRUE
#> [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE
abelianize(.[x, y])
#> [1] 0 0 0 0 0 0 0
## Jacobi identity _not_ satisfied with this definition:
is.id(.[x, .[y, z]] + .[y, .[z, x]] + .[z, .[x, y]])
#> [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## But the Hall-Witt identity is:
all(is.id(.[.[x, -y], z]^y + .[.[y, -z], x]^z + .[.[z, -x], y]^x))
#> [1] TRUE