| char_to_free {freegroup} | R Documentation |
Convert character vectors to free objects
Description
Convert character vectors to free objects
Usage
char_to_matrix(x)
Arguments
x |
A character vector |
Details
Function char_to_matrix() gives very basic conversion between
character vectors and free objects. Current functionality is limited
to strings like “aaabaacd”, which would give
a^3ba^2cd. It would be nice to take a string
like “a^3b^(-3)” but this is not yet implemented.
Function char_to_free() is a vectorized version that coerces
output to free.
Note
The function is not particularly robust; for example, passing anything other than letters a-z or A-Z will give possibly undesirable behaviour.
Upper-case letters A-Z are interpreted by char_to_matrix() as
the inverse of their corresponding lower-case equivalents. This
behaviour is inherited by char_to_free() and as.free(),
so that as.free("A") == inverse(as.free("a")).
Function char_to_free() is consistent with the default print
options (which are that the symbols are the lowercase letters a-z).
If you change the symbols' names, for example
options(freegroup_symbols=sample(letters)), then things can get
confusing. The print method does not change the internal
representation of a free object, which is a list of integer
matrices.
Author(s)
Robin K. S. Hankin
See Also
Examples
char_to_matrix("aaabcABC")
rfree(10,3) + as.free('xxxxxxxxxxxx')
as.free(letters)*7
all(is.id(as.free(letters) + as.free(LETTERS)))
as.free('') # identity element