The package no longer depends on RcppArmadillo.
The functions permuteVariables and swapVariables generated an error for a constant qspray or a qspray having only one term.
New function isHomogeneousQspray, to check whether a qspray polynomial is homogeneous.
The HallInnerProduct function has been greatly improved, and it is now possible to get the result of the Hall inner product with a symbolic parameter (this result is a univariate qspray whose variable represents the parameter).
The C++ code has now a large header file that can be used in other packages (by setting LinkingTo: qspray, Rcpp, RcppArmadillo in the DESCRIPTION file). It is used by two upcoming packages: ratioOfQsprays (fractions of multivariate polynomials) and symbolicQspray (multivariate polynomials with symbolic parameters). Moreover, this code is templated. For example, multivariate polynomials with numeric (double) coefficients can be represented by the objects of type Qspray<double>, and instantiating this type automatically makes available the arithmetic operations for these polynomials.
The show method of qspray objects has been changed. The monomial previously printed as "x^(2, 0, 3)" is now printed by default as "x^2.z^3" if there are no more than three variables in the polynomial, otherwise it is printed as "x1^2.x3^3". But it is now possible to control the way a qspray is printed with the help of the function showQsprayOption<-. Helper functions to construct a custom show method are provided.
The README has been updated. In particular, it contains a large section about the show options.
New function substituteQspray, to substitute some values to a subset of the variables of a qspray polynomial.
New function composeQspray, to get the polynomial obtained by substituting the variables of a polynomial with polynomials. The new function changeVariables is an alias of composeQspray.
New function isPolynomialOf, to check whether a qspray polynomial can be written as a polynomial of some given qspray polynomials, and to get this polynomial in case this is true. This uses Gröbner bases and thus this can be slow.
New function isSymmetricQspray, to check whether the polynomial defined by a qspray object is symmetric.
There was an error in qdivision (without severe consequences).
The function as.function.qspray now has a Boolean argument N; if set to TRUE, the function returns a numerical approximation of the result.
New function PSFpoly, which computes the power sum polynomials.
New function MSPcombination, to get a symmetric qspray polynomial as a linear combination of the monomial symmetric polynomials.
New function compactSymmetricQspray which prints a symmetric qspray polynomial as a linear combination of the monomial symmetric polynomials.
New function qsprayDivision, returning the quotient and the remainder of the division of a qspray polynomial by a qspray polynomial.
New function HallInnerProduct, which computes the Hall inner product between two symmetric qspray polynomials. Very inefficient (will be hopefully improved in the future).
New function characteristicPolynomial, to get the characteristic polynomial of a square matrix as a qspray polynomial.
Unit tests.
The polynomials are now printed with the lexicographic order of the monomials.
New function implicitization, to transform a system of parametric equations to an implicit equation. This is based on Gröbner bases. This doesn't always work (use the 'giacR' package if needed).
The division step in the Buchberger algorithm is now performed in C++.
The groebner function has been considerably improved, but it still can be very slow.
The implementation of the opposite polynomial was wrong (it did nothing).
The pretty form of a polynomial returned by prettyQspray has been improved: now there are spaces around '+' and '-'.
The division of a polynomial by a bigq number did not always work.
New function groebner, to compute a Gröbner basis.
Fixed a small error in the C++ code.
Differentiation of qspray polynomials (functions derivQspray and dQspray).
The package does not depend on 'RcppCGAL' neither 'RcppEigen' anymore. It now imports 'RationalMatrix' (to compute the determinant of a rational matrix).
Removed a useless function in the C++ code.
First release.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.