r8poly
r8poly,
an Octave code which
operates on polynomials, including evaluation, differentiation,
integration, multiplication, synthetic division, shifting the
base, computing a power, taking the norm. It also defines
Chebyshev, Lagrange and Legendre polynomials.
Licensing:
The computer code and data files made available on this web page
are distributed under
the MIT license
Languages:
r8poly is available in
a C++ version and
a C version and
a Fortran90 version and
a MATLAB version and
an Octave version and
a Python version.
Related Data and Programs:
r8poly_test
legendre_product_polynomial,
an Octave code which
defines Legendre product polynomials, creating a multivariate
polynomial as the product of univariate Legendre polynomials.
monomial,
an Octave 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,
an Octave code which
adds, multiplies, differentiates, evaluates and prints multivariate
polynomials in a space of M dimensions.
polynomial_multiply,
an Octave code which
multiplies two polynomials p(x) and q(x).
Source Code:
-
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.
-
r82poly_value.m,
evaluates a polynomial of X and Y of total degree M, using a
coefficient ordering that begins with the constant term.
-
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_add.m,
adds two polynomials;
-
r8poly_ant_coef.m,
returns the coefficients of the antiderivative of a polynomial;
-
r8poly_ant_value.m,
evaluates the antiderivative of a polynomial.
-
r8poly_chebyshev.m,
returns the Chebyshev polynomial of degree d;
-
r8poly_chebyshev_value.m,
evaluates the Chebyshev polynomial of degree d;
-
r8poly_chebyshev_value_ab.m,
evaluates the Chebyshev polynomial of degree d remapped to [a,b];
-
r8poly_degree.m,
returns the degree of a polynomial;
-
r8poly_deriv_coef.m,
returns the coefficients of the derivative of a polynomial;
-
r8poly_deriv_value.m,
evaluates the derivative of a polynomial;
-
r8poly_hermite.m,
returns the Hermite polynomial of degree d;
-
r8poly_integral.m,
returns the integral of a polynomial over [a,b].
-
r8poly_is_zero.m,
is true if the polynomial is equivalent to the zero 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_value.m,
evaluates the IPOL-th Lagrange polynomial;
-
r8poly_legendre.m,
returns the Legendre polynomial of degree d;
-
r8poly_legendre_value.m,
evaluates the Legendre polynomial of degree d;
-
r8poly_legendre_value_ab.m,
evaluates the Legendre polynomial of degree d remapped to [a,b];
-
r8poly_multiply.m,
multiplies two polynomials;
-
r8poly_norm.m,
computes the L2 norm of a polynomial over [a,b];
-
r8poly_power.m,
computes a positive integer power of a polynomial;
-
r8poly_print.m,
prints a polynomial;
-
r8poly_shift.m,
adjusts the coefficients of a polynomial for a new argument.
-
r8poly_square.m,
squares a polynomial;
-
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_values_horner.m,
evaluates a polynomial, using Horner's method.
-
r8poly2_discriminant.m,
returns the discriminant of a quadratic polynomial;
-
r8poly2_ex.m,
finds the extremal point of a quadratic polynomial
determined by three points.
-
r8poly2_ex2.m,
finds the extremal point of a quadratic polynomial
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 quadratic polynomial defined by three data values.
-
r8poly2_val2.m,
evaluates a quadratic polynomial interpolant through tabular data.
-
r8poly3_discriminant.m,
returns the discriminant of a cubic polynomial;
-
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_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_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;
Last revised on 18 May 2023.