inverse.Rd
Multiplicative inverses of symbols in the free algebra
all_pos(x)
keep_pos(x)
Function all_pos()
tests for its argument having only positive
powers (that is, no inverse symbols present); function
keep_pos()
discards any term with a negative power.
At various points in the package, it is assumed that upper-case
letters are the multiplicative inverses of the lower-case equivalents;
so for example as.freealg("aA")
and as.freealg("aBcCbA")
evaluate to one. This can be confusing with the default print method.
Even though individual symbols have multiplicative inverses, a general
element of the free algebra will not have a multiplicative inverse.
For example, 1+x
does not have an inverse. The free algebra is
not a division algebra, in general.
all_pos(rfalg(include.negative = TRUE))
#> [1] FALSE
all_pos(rfalg(include.negative = FALSE))
#> [1] TRUE
as.freealg("1+xaX")^5
#> free algebra element algebraically equal to
#> + 1 + 5xaX + 10xaaX + 10xaaaX + 5xaaaaX + xaaaaaX