| Type: | Package | 
| Title: | Multivariate Polynomials with Rational Coefficients | 
| Version: | 1.1.0 | 
| Date: | 2022-02-21 | 
| Author: | Stéphane Laurent | 
| Maintainer: | Stéphane Laurent <laurent_step@outlook.fr> | 
| Description: | Symbolic calculation (addition or multiplication) and evaluation of multivariate polynomials with rational coefficients. | 
| License: | GPL-3 | 
| Encoding: | UTF-8 | 
| Imports: | gmp, purrr, mvp, english | 
| RoxygenNote: | 7.1.2 | 
| URL: | https://github.com/stla/gmpoly | 
| BugReports: | https://github.com/stla/gmpoly/issues | 
| Suggests: | testthat (≥ 3.0.0) | 
| Config/testthat/edition: | 3 | 
| NeedsCompilation: | no | 
| Packaged: | 2022-03-20 04:27:56 UTC; SDL96354 | 
| Repository: | CRAN | 
| Date/Publication: | 2022-03-20 04:40:02 UTC | 
Arithmetic operators for multivariate polynomials
Description
Arithmetic operators for multivariate polynomials
Usage
## S3 method for class 'gmpoly'
Ops(e1, e2 = NULL)
Arguments
| e1,e2 | for an unary operator, only  | 
Value
A gmpoly object.
Examples
library(gmpoly)
pol <- gmpoly("4 x^(2, 1, 1) + 1/2 x^(0,1,0)")
+pol
-pol
2 * pol
pol / 2
pol + 5
pol - 5
pol^2
pol1 <- gmpoly("2 x^(1,1) - 5/3 x^(0,1)")
pol2 <- gmpoly("-2 x^(1,1) + 3 x^(2,1)")
pol1 + pol2
pol1 * pol2
pol1 == pol2
pol1 != pol2
Define a multivariate polynomial
Description
Define a multivariate polynomial from a string or from its coefficients and powers.
Usage
gmpoly(string, coeffs = NULL, powers = NULL)
Arguments
| string | a string such as  | 
| coeffs | the coefficients of the polynomial, in case you don't define 
it with the  | 
| powers | the powers of the polynomial, in case you don't define it 
with the  | 
Value
A gmpoly object.
Examples
library(gmpoly)
gmpoly("5/2 x^(2,3) + 3 x^(1,1)")
gmpoly("5/2 x^(2,3) - 3 x^(1,1)")
gmpoly("-x^(1,2,3) + 4/7 x^(3,1,1)")
library(gmp)
gmpoly(
  coeffs = as.bigq(c(5, 7), c(8, 9)), 
  powers = rbind(c(1, 1, 1), c(2, 2, 2))
)
Conversion to 'mvp' polynomial
Description
Convert a gmpoly polynomial to a 
mvp polynomial.
Usage
gmpoly2mvp(pol)
Arguments
| pol | a  | 
Value
A mvp object.
Examples
library(gmpoly)
pol <- gmpoly("5/2 x^(2,2,3) + 3 x^(1,0,1)")
gmpoly2mvp(pol)
Constant multivariate polynomial
Description
Constructs a constant multivariate polynomial.
Usage
gmpolyConstant(m, value)
Arguments
| m | number of variables, a strictly positive integer | 
| value | the constant value of the polynomial; the 
 | 
Value
A gmpoly object.
Examples
library(gmpoly)
gmpolyConstant(3, "2/3")
Evaluation of a multivariate polynomial
Description
Evaluates a gmpoly multivariate polynomial for given 
values of the variables.
Usage
gmpolyEval(pol, x)
Arguments
| pol | a  | 
| x | either a  | 
Value
A bigq number or vector.
Examples
library(gmpoly)
library(gmp)
pol <- gmpoly("5/2 x^(2,3) + 3 x^(1,1)")
gmpolyEval(pol, as.bigq(c(1, 1)))
x <- rbind(
  t(as.bigq(c(1, 1))),
  t(as.bigq(c(3, 4), c(4, 3)))
)
gmpolyEval(pol, x)
Grow polynomial
Description
Grow a multivariate polynomial by including a new variable.
Usage
gmpolyGrow(pol)
Arguments
| pol | a  | 
Value
The "same" multivariate polynomial as pol, except that it 
has an additional variable.
Examples
library(gmpoly)
pol <- gmpoly("3 x^(1,2) - 1/7 x^(5,3)")
gmpolyGrow(pol)
Print a multivariate polynomial
Description
Print a multivariate polynomial of class gmpoly.
Usage
## S3 method for class 'gmpoly'
print(x, ...)
Arguments
| x | a  | 
| ... | ignored | 
Value
No value, just prints the polynomial.