**r8poly**,
a Python code which
contains a number of utilities for polynomials with R8 coefficients,
that is, using double precision or 64 bit real arithmetic.

The computer code and data files made available on this web page are distributed under the GNU LGPL license.

**r8poly** is available in
a C++ version and
a C version and
a FORTRAN90 version and
a MATLAB version and
a Python version.

legendre_product_polynomial, a Python code which defines Legendre product polynomials, creating a multivariate polynomial as the product of univariate Legendre polynomials.

monomial, a Python code which enumerates, lists, ranks, unranks and randomizes multivariate monomials in a space of M dimensions, with total degree less than N, equal to N, or lying within a given range.

polynomial, a Python code which adds, multiplies, differentiates, evaluates and prints multivariate polynomials in a space of M dimensions.

- r8poly.py, calls all the tests;
- r8poly.sh, runs all the tests;
- r8poly.txt, the output file;

- r8_sign.py, returns the sign of an R8.
- r82poly2_print.py, prints a second order polynomial in two variables;
- r82poly2_type.py, analyzes a second order polynomial in two variables.
- r82poly2_type_print.py, prints the meaning of the output from R82POLY2_TYPE.
- r8mat_inverse_3d.py, computes the inverse of a 3 by 3 R8MAT;
- r8mat_print.py, prints an R8MAT;
- r8mat_print_some.py, prints some of an R8MAT;
- r8poly_ant_coef.py, returns the coefficient of the antiderivative of a polynomial;
- r8poly_degree.py, returns the degree of a polynomial;
- r8poly_deriv.py, returns the derivative of a polynomial;
- r8poly_division.py, returns the quotient and remainder of polynomial division;
- r8poly_lagrange_0.py, evaluates the Lagrange factor at a point;
- r8poly_lagrange_1.py, evaluates the first derivative of the Lagrange factor at a point;
- r8poly_lagrange_2.py, evaluates the second derivative of the Lagrange factor at a point;
- r8poly_lagrange_coef.py, returns the coefficients of a Lagrange polynomial;
- r8poly_lagrange_factor.py, evaluates the polynomial Lagrange factor at a point;
- r8poly_lagrange_value.py, evaluates the IPOL-th Lagrange polynomial;
- r8poly_multiply.py, multiplies two polynomials.
- r8poly_power.py, returns a power of a polynomial.
- r8poly_print.py, prints a polynomial;
- r8poly_shift.py, adjusts the coefficients of a polynomial for a new argument.
- r8poly_value.py, evaluates a polynomial using a naive method;
- r8poly_value_horner.py, evaluates a polynomial using Horner's method;
- r8poly_value_2d.py, evaluates a polynomial of X and Y of total degree M, using a coefficient ordering that begins with the constant term.
- r8poly_values_horner.py, evaluates a polynomial, using Horner's method.
- r8poly2_ex.py, finds the extremal point of a parabola determined by three points.
- r8poly2_ex2.py, finds the extremal point of a parabola determined by three points.
- r8poly2_root.py, returns the two roots of a quadratic polynomial.
- r8poly2_rroot.py, returns the real parts of the two roots of a quadratic polynomial.
- r8poly2_val.py, evaluates a parabola defined by three data values.
- r8poly2_val_f.py
- r8poly2_val2.py, evaluates a parabolic interpolant through tabular data.
- r8poly3_root.py, returns the three roots of a cubic polynomial.
- r8poly4_root.py, returns the four roots of a quartic polynomial.
- r8vec_even.py, returns an R8VEC of N values evenly spaced between given limits;
- r8vec_even_select.py, returns the I-th of N evenly spaced values;
- r8vec_is_distinct.py, is true if all entries of an R8VEC are distinct;
- r8vec_linspace.py, returns an R8VEC of values evenly spaced between given limits.
- r8vec_print.py, prints an R8VEC;
- r8vec_transpose_print.py, prints the "transpose" of an R8VEC.
- roots_to_r8poly.py, converts polynomial roots to polynomial coefficients;
- timestamp.py, prints the current YMDHMS date as a timestamp;