R8POLY 
 Polynomials with R8 Coefficients
    
    
    
      R8POLY
      is a FORTRAN90 library which
      contains a number of utilities for polynomials with R8 coefficients,
      that is, using double precision or 64 bit real arithmetic.
    
    
      Licensing:
    
    
      The computer code and data files made available on this web page
      are distributed under
      the GNU LGPL license.
    
    
      Languages:
    
    
      R8POLY is available in
      a C++ version and
      a C version and
      a FORTRAN90 version and
      a MATLAB version and
      a Python version.
    
    
      Related Data and Programs:
    
    
      
      LEGENDRE_PRODUCT_POLYNOMIAL,
      a FORTRAN90 library which
      defines Legendre product polynomials, creating a multivariate 
      polynomial as the product of univariate Legendre polynomials.
    
    
      
      MONOMIAL,
      a FORTRAN90 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.
    
    
      
      FORTRAN90,
      a MATLAB library which
      adds, multiplies, differentiates, evaluates and prints multivariate 
      polynomials in a space of M dimensions.
    
    
      Source Code:
    
    
      
    
    
      Examples and Tests:
    
    
      
    
    
      List of Routines:
    
    
      
        - 
          R8_SIGN returns the sign of an R8.
        
- 
          R82POLY2_PRINT prints a second order polynomial in two variables.
        
- 
          R82POLY2_TYPE analyzes a second order polynomial in two variables.
        
- 
          R82POLY2_TYPE_PRINT prints the meaning of the output from R82POLY2_TYPE.
        
- 
          R8POLY2_EX finds the extremal point of a parabola determined by three points.
        
- 
          R8POLY2_EX2 finds extremal point of a parabola determined by three points.
        
- 
          R8POLY2_ROOT returns the two roots of a quadratic polynomial.
        
- 
          R8POLY2_RROOT returns the real parts of the roots of a quadratic polynomial.
        
- 
          R8POLY2_VAL evaluates a parabola defined by three data values.
        
- 
          R8POLY2_VAL2 evaluates a parabolic interpolant through tabular data.
        
- 
          R8POLY3_ROOT returns the three roots of a cubic polynomial.
        
- 
          R8POLY4_ROOT returns the four roots of a quartic polynomial.
        
- 
          R8POLY_DEGREE returns the degree of a polynomial.
        
- 
          R8POLY_DERIV returns the derivative of a polynomial.
        
- 
          R8POLY_LAGRANGE_0 evaluates the Lagrange factor at a point.
        
- 
          R8POLY_LAGRANGE_1 evaluates the first derivative of the Lagrange factor.
        
- 
          R8POLY_LAGRANGE_2 evaluates the second derivative of the Lagrange factor.
        
- 
          R8POLY_LAGRANGE_COEF returns the coefficients of a Lagrange polynomial.
        
- 
          R8POLY_LAGRANGE_FACTOR evaluates the polynomial Lagrange factor at a point.
        
- 
          R8POLY_LAGRANGE_VAL evaluates the IPOL-th Lagrange polynomial.
        
- 
          R8POLY_ORDER returns the order of a polynomial.
        
- 
          R8POLY_PRINT prints out a polynomial.
        
- 
          R8POLY_SHIFT adjusts the coefficients of a polynomial for a new argument.
        
- 
          R8POLY_VALUE evaluates a polynomial using a naive method.
        
- 
          R8POLY_VALUE_2D evaluates a polynomial in 2 variables, X and Y.
        
- 
          R8POLY_VALUE_HORNER evaluates a polynomial using Horner's method.
        
- 
          R8POLY_VALUES_HORNER evaluates a polynomial using Horner's method.
        
- 
          R8R8_PRINT prints an R8R8.
        
- 
          R8VEC_EVEN returns an R8VEC of evenly spaced values.
        
- 
          R8VEC_EVEN_SELECT returns the I-th of N evenly spaced values in [ XLO, XHI ].
        
- 
          R8VEC_INDICATOR1 sets an R8VEC to the indicator vector (1,2,3,...).
        
- 
          R8VEC_IS_DISTINCT is true if the entries in an R8VEC are distinct.
        
- 
          R8VEC_LINSPACE creates a vector of linearly spaced values.
        
- 
          R8VEC_PRINT prints an R8VEC.
        
- 
          R8VEC_TRANSPOSE_PRINT prints an R8VEC "transposed".
        
- 
          R8VEC2_PRINT prints an R8VEC2.
        
- 
          ROOTS_TO_R8POLY converts polynomial roots to polynomial coefficients.
        
- 
          TIMESTAMP prints the current YMDHMS date as a time stamp.
        
      You can go up one level to 
      the FORTRAN90 source codes.
    
    
    
      Last revised on 07 August 2018.