Ops.freealg | R Documentation |

Arithmetic operators for manipulation of freealg objects such as addition, multiplication, powers, etc

## S3 method for class 'freealg' Ops(e1, e2) free_negative(S) free_power_scalar(S,n) free_eq_free(e1,e2) free_plus_numeric(S,x) free_plus_free(e1,e2) lowlevel_simplify(words,coeffs) lowlevel_free_prod(words1,coeffs1,words2,coeffs2) lowlevel_free_sum(words1,coeffs1,words2,coeffs2) lowlevel_free_power(words,coeffs,n) lowlevel_diffn(words,coeffs,r) lowlevel_subs(words1, coeffs1, words2, coeffs2, r) inv(S)

`S,e1,e2` |
Objects of class |

`n` |
Integer, possibly non-positive |

`r` |
Integer vector indicating variables to differentiate with respect to |

`x` |
Scalar value |

`words,words1,words2` |
A list of words, that is, a list of integer vectors representing the variables in each term |

`coeffs,coeffs1,coeffs2` |
Numeric vector representing the coefficients of each word |

The function `Ops.freealg()`

passes binary arithmetic operators
(“`+`

”, “`-`

”, “`*`

”,
“`^`

”, and “`==`

”) to the appropriate
specialist function.

The caret, as in `a^n`

, denotes arithmetic exponentiation, as in
`x^3==x*x*x`

. The only comparison operators are equality and
inequality; `x==y`

is defined as `is.zero(x-y)`

.

Functions `lowlevel_foo()`

are low-level functions that interface
directly with the `C`

routines in the `src/`

directory and
are not intended for the end-user.

Function `inv()`

is defined only for freealg objects with a
single term. If `x`

has a single term we have
`inv(x)*x=x*inv(x)=1`

. There is no corresponding division in the
package because `a/b`

may be either `a*inv(b)`

or
`inv(b)*a`

.

Robin K. S. Hankin

rfalg() as.freealg("1+x+xy+yx") # variables are non-commutative as.freealg("x") * as.freealg("X") # upper-case letters are lower-case inverses constant(as.freealg("x+y+X+Y")^6) # OEIS sequence A035610 inv(as.freealg("2aaabAAAAx"))

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.