The free algebra in R with non-commuting indeterminates. Uses 'disordR' discipline (Hankin, 2022, <doi:10.48550/ARXIV.2210.03856>). To cite the package in publications please use Hankin (2022) <doi:10.48550/ARXIV.2211.04002>.

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


a <- as.freealg("x+xyx")
b <- as.freealg("4x +XyX")  # upper-case interpreted as inverse

a+b
#> free algebra element algebraically equal to
#> + XyX + 5x + xyx
stopifnot(a+b == b+a)   # should be TRUE

a*b == b*a # FALSE; noncommutative algebra
#> [1] FALSE

as.freealg("1+X+xy")^3
#> free algebra element algebraically equal to
#> + 1 + 3X + 3XX + XXX + Xy + 3xy + 3xyX + xyXX + 3xyxy + xyxyX + xyxyxy + xyy +
#> 3y + yX + yxy

rfalg()
#> free algebra element algebraically equal to
#> + 5a + 7abaa + 2aca + 4acb + accb + 3b + 6bacc
rfalg()^2
#> free algebra element algebraically equal to
#> + 4aa + 6aacca + 14ab + 2ac + 12acaab + 10acaac + 8acbc + 6accaa + 9accaacca +
#> 21accab + 3accac + 18accacaab + 15accacaac + 12accacbc + 14ba + 21bacca + 49bb
#> + 7bc + 42bcaab + 35bcaac + 28bcbc + 2ca + 12caaba + 18caabacca + 42caabb +
#> 6caabc + 36caabcaab + 30caabcaac + 24caabcbc + 10caaca + 15caacacca + 35caacb +
#> 5caacc + 30caaccaab + 25caaccaac + 20caaccbc + 3cacca + 7cb + 8cbca + 12cbcacca
#> + 28cbcb + 4cbcc + 24cbccaab + 20cbccaac + 16cbccbc + cc + 6ccaab + 5ccaac +
#> 4ccbc