freealg (version 1.0-0)

Ops.freealg: Arithmetic Ops methods for the the free algebra

Description

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

Usage

# S3 method for 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)

Arguments

S,e1,e2

Objects of class freealg

n

An integer, possibly non-positive

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

Details

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.

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.

Examples

Run this code
# NOT RUN {
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
# }

Run the code above in your browser using DataLab