orthopolynom (version 1.0-5)

orthonormal.polynomials: Create orthonormal polynomials

Description

Create list of orthonormal polynomials from the following recurrence relations for \(k = 0,\;1,\; \ldots ,\;n \).

$$c_k p_{k+1}\left( x \right) = \left( d_k + e_k x \right) p_k \left( x \right) - f_k p_{k-1} \left( x \right)$$

We require that \(p_{-1} \left( x \right) = 0\) and \(p_0 \left( x \right) = 1\). The coefficients are the column vectors \({\bf{c}}\), \({\bf{d}}\), \({\bf{e}}\) and \({\bf{f}}\).

Usage

orthonormal.polynomials(recurrences, p.0)

Arguments

recurrences

a data frame containing the parameters of the orthonormal polynomial recurrence relations

p.0

a polynomial object for the order 0 orthonormal polynomial

Value

A list of \(n + 1\)polynomial objects

1

Order 0 orthonormal polynomial

2

Order 1 orthonormal polynomial

...
n+1

Order \(n\) orthonormal polynomial

Details

The argument is a data frame with \(n + 1\) rows and four named columns. The column names are c, d, e and f. These columns correspond to the column vectors described above.

References

Abramowitz, M. and I. A. Stegun, 1968. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables, Dover Publications, Inc., New York.

Courant, R., and D. Hilbert, 1989. Methods of Mathematical Physics, John Wiley, New York, NY.

Press, W. H., S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery, 1992. Numerical Recipes in C, Cambridge University Press, Cambridge, U.K.

Szego, G., 1939. Orthogonal Polynomials, 23, American Mathematical Society Colloquium Publications, Providence, RI.

Examples

Run this code
# NOT RUN {
###
### generate a data frame with the recurrences parameters for normalized T Chebyshev
### polynomials of orders 0 to 10
###
r <- chebyshev.t.recurrences( 10, normalized=TRUE )
print( r )
norm <- sqrt( pi )
###
### create the order 0 orthonormal polynomial
###
p.0 <- polynomial( c( 1 / norm ) )
###
### generate a list of orthonormal polynomial objects
###
p.list <- orthonormal.polynomials( r, p.0 )
print( p.list )
# }

Run the code above in your browser using DataLab