Polynomials with R8 Coefficients

**R8POLY**,
a MATLAB library 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 MATLAB library which defines Legendre product polynomials, creating a multivariate polynomial as the product of univariate Legendre polynomials.

MONOMIAL, a MATLAB library 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 MATLAB library which adds, multiplies, differentiates, evaluates and prints multivariate polynomials in a space of M dimensions.

- r8_sign.m, returns the sign of an R8.
- r82poly2_print.m, prints a second order polynomial in two variables;
- r82poly2_type.m, analyzes a second order polynomial in two variables.
- r82poly2_type_print.m, prints the meaning of the output from R82POLY2_TYPE.
- r8mat_inverse_3d.m, computes the inverse of a 3 by 3 R8MAT;
- r8mat_print.m, prints an R8MAT;
- r8mat_print_some.m, prints some of an R8MAT;
- r8poly_degree.m, returns the degree of a polynomial;
- r8poly_deriv.m, returns the derivative of a polynomial;
- r8poly_lagrange_0.m, evaluates the Lagrange factor at a point;
- r8poly_lagrange_1.m, evaluates the first derivative of the Lagrange factor at a point;
- r8poly_lagrange_2.m, evaluates the second derivative of the Lagrange factor at a point;
- r8poly_lagrange_coef.m, returns the coefficients of a Lagrange polynomial;
- r8poly_lagrange_factor.m, evaluates the polynomial Lagrange factor at a point;
- r8poly_lagrange_val.m, evaluates the IPOL-th Lagrange polynomial;
- r8poly_order.m, returns the order of a polynomial.
- r8poly_print.m, prints a polynomial;
- r8poly_shift.m, adjusts the coefficients of a polynomial for a new argument.
- r8poly_value.m, evaluates a polynomial using a naive method;
- r8poly_value_horner.m, evaluates a polynomial using Horner's method;
- r8poly_value_fast.m, evaluates a polynomial, using the coefficient ordering that is the opposite of that which Matlab's polyval() assumes, and using Matlab's presumably faster, but more obscure, linear algebra approach.
- r8poly_value_2d.m, evaluates a polynomial of X and Y of total degree M, using a coefficient ordering that begins with the constant term.
- r8poly_values_horner.m, evaluates a polynomial, using Horner's method.
- r8poly2_ex.m, finds the extremal point of a parabola determined by three points.
- r8poly2_ex2.m, finds the extremal point of a parabola determined by three points.
- r8poly2_root.m, returns the two roots of a quadratic polynomial.
- r8poly2_rroot.m, returns the real parts of the two roots of a quadratic polynomial.
- r8poly2_val.m, evaluates a parabola defined by three data values.
- r8poly2_val2.m, evaluates a parabolic interpolant through tabular data.
- r8poly3_root.m, returns the three roots of a cubic polynomial.
- r8poly4_root.m, returns the four roots of a quartic polynomial.
- r8r8_print.m, prints an R8R8, that is, a pair of R8's;
- r8vec_even.m, returns an R8VEC of N values evenly spaced between given limits;
- r8vec_even_select.m, returns the I-th of N evenly spaced values;
- r8vec_is_distinct.m, is true if all entries of an R8VEC are distinct;
- r8vec_linspace.m, returns an R8VEC of values evenly spaced between given limits.
- r8vec_print.m, prints an R8VEC;
- r8vec_transpose_print.m, prints the "transpose" of an R8VEC.
- roots_to_r8poly.m, converts polynomial roots to polynomial coefficients;
- timestamp.m, prints the current YMDHMS date as a timestamp;