Ops.mvp: Arithmetic Ops Group Methods for 'mvp' objects

Ops.mvpR Documentation

Arithmetic Ops Group Methods for mvp objects

Description

Allows arithmetic operators to be used for multivariate polynomials such as addition, multiplication, integer powers, etc.

Usage

## S3 method for class 'mvp'
Ops(e1, e2)
mvp_negative(S)
mvp_times_mvp(S1,S2)
mvp_times_scalar(S,x)
mvp_plus_mvp(S1,S2)
mvp_plus_numeric(S,x)
mvp_eq_mvp(S1,S2)
mvp_modulo(S1,S2)

Arguments

e1,e2,S,S1,S2

Objects of class mvp

x

Scalar, length one numeric vector

Details

The function Ops.mvp() passes unary and binary arithmetic operators “+”, “-”, “*” and “^” to the appropriate specialist function.

The most interesting operator is “*”, which is passed to mvp_times_mvp(). I guess “+” is quite interesting too.

Value

The high-level functions documented here return an object of mvp, the low-level functions documented at lowlevel.Rd return lists. But don't use the low-level functions.

Note

Function mvp_modulo() is distinctly sub-optimal and inst/mvp_modulo.Rmd details ideas for better implementation.

Author(s)

Robin K. S. Hankin

See Also

lowlevel

Examples

(p1 <- rmvp(3))
(p2 <- rmvp(3))

p1*p2

p1+p2

p1^3


p1*(p1+p2) == p1^2+p1*p2  # should be TRUE


mvp documentation built on March 31, 2023, 5:43 p.m.