The Free Group
freegroup-package.RdThe free group in R; juxtaposition is represented by a plus. Includes inversion, multiplication by a scalar, group-theoretic power operation, and Tietze forms. To cite the package in publications please use Hankin (2022) <doi:10.48550/ARXIV.2212.05883>.
Details
The DESCRIPTION file:
This package was not yet installed at build time.
Index: This package was not yet installed at build time.
Author
Robin K. S. Hankin [aut, cre] (ORCID: <https://orcid.org/0000-0001-5982-0415>)
Maintainer: Robin K. S. Hankin <hankin.robin@gmail.com>
Examples
p <- rfree(10,6,3)
x <- as.free('x')
p+x
#> [1] c^2.a^-1.b^-5.x c^-5.b^-1.c^-1.x
#> [3] b.c^3.b^-6.a^4.x b^3.c^4.b^-1.c^2.a^4.c^-3.x
#> [5] a^6.c^-5.a^5.b^-4.c^-1.b^-2.x b.c^2.a^5.b^10.x
#> [7] b^-3.c^4.b^-1.c^8.x a^-3.c^5.b^-8.x
#> [9] a^-6.b^-1.a^2.b.x a^9.b^-3.a^3.c^-1.x
p^x
#> [1] x^-1.c^2.a^-1.b^-5.x x^-1.c^-5.b^-1.c^-1.x
#> [3] x^-1.b.c^3.b^-6.a^4.x x^-1.b^3.c^4.b^-1.c^2.a^4.c^-3.x
#> [5] x^-1.a^6.c^-5.a^5.b^-4.c^-1.b^-2.x x^-1.b.c^2.a^5.b^10.x
#> [7] x^-1.b^-3.c^4.b^-1.c^8.x x^-1.a^-3.c^5.b^-8.x
#> [9] x^-1.a^-6.b^-1.a^2.b.x x^-1.a^9.b^-3.a^3.c^-1.x
sum(p)
#> [1] c^2.a^-1.b^-5.c^-5.b^-1.c^-1.b.c^3.b^-6.a^4.b^3.c^4.b^-1.c^2.a^4.c^-3.a^6.c^-5.a^5.b^-4.c^-1.b^-1.c^2.a^5.b^7.c^4.b^-1.c^8.a^-3.c^5.b^-8.a^-6.b^-1.a^2.b.a^9.b^-3.a^3.c^-1
abelianize(p)
#> [1] a^-1.b^-5.c^2 b^-1.c^-6 a^4.b^-5.c^3 a^4.b^2.c^3 a^11.b^-6.c^-6
#> [6] a^5.b^11.c^2 b^-4.c^12 a^-3.b^-8.c^5 a^-4 a^12.b^-3.c^-1
subsu(p,"ab","z")
#> [1] c^2.z^-6 c^-5.z^-1.c^-1
#> [3] z.c^3.z^-2 z^3.c^4.z^-1.c^2.z^4.c^-3
#> [5] z^6.c^-5.z.c^-1.z^-2 z.c^2.z^15
#> [7] z^-3.c^4.z^-1.c^8 z^-3.c^5.z^-8
#> [9] z^-4 z^9.c^-1
subs(p,a='z')
#> [1] c^2.z^-1.b^-5 c^-5.b^-1.c^-1
#> [3] b.c^3.b^-6.z^4 b^3.c^4.b^-1.c^2.z^4.c^-3
#> [5] z^6.c^-5.z^5.b^-4.c^-1.b^-2 b.c^2.z^5.b^10
#> [7] b^-3.c^4.b^-1.c^8 z^-3.c^5.b^-8
#> [9] z^-6.b^-1.z^2.b z^9.b^-3.z^3.c^-1
discard(p+x,'a')
#> [1] c^2.b^-5.x c^-5.b^-1.c^-1.x b.c^3.b^-6.x
#> [4] b^3.c^4.b^-1.c^-1.x c^-5.b^-4.c^-1.b^-2.x b.c^2.b^10.x
#> [7] b^-3.c^4.b^-1.c^8.x c^5.b^-8.x x
#> [10] b^-3.c^-1.x