|
ActiveTcl User Guide
|
|
|
[ Main table Of Contents | Tcllib Table Of Contents | Tcllib Index ]
math::polynomials(n) 1.0 "Math"
math::polynomials - Polynomial functions
TABLE OF
CONTENTS
SYNOPSIS
DESCRIPTION
PROCEDURES
REMARKS ON THE IMPLEMENTATION
KEYWORDS
COPYRIGHT
package require Tcl ?8.3?
package require math::polynomials ?1.0?
This package deals with polynomial functions of one
variable:
- the basic arithmetic operations are extended to polynomials
- computing the derivatives and primitives of these functions
- evaluation through a general procedure or via specific
procedures)
The package defines the following public procedures:
- ::math::polynomials::polynomial
coeffs
- Return an (encoded) list that defines the polynomial. A
polynomial
|
f(x) = a + b.x + c.x**2 + d.x**3
|
can be defined via:
|
set f [::math::polynomials::polynomial [list $a $b $c $d]
|
- list coeffs
- Coefficients of the polynomial (in ascending order)
- ::math::polynomials::polynCmd coeffs
- Create a new procedure that evaluates the polynomial. The name
of the polynomial is automatically generated. Useful if you need to
evualuate the polynomial many times, as the procedure consists of a
single [expr] command.
- list coeffs
- Coefficients of the polynomial (in ascending order) or the
polynomial definition returned by the polynomial
command.
- ::math::polynomials::evalPolyn
polynomial x
- Evaluate the polynomial at x.
- list polynomial
- The polynomial's definition (as returned by the polynomial
command). order)
- float x
- The coordinate at which to evaluate the polynomial
- ::math::polynomials::addPolyn polyn1 polyn2
- Return a new polynomial which is the sum of the two others.
- list polyn1
- The first polynomial operand
- list polyn2
- The second polynomial operand
- ::math::polynomials::subPolyn polyn1 polyn2
- Return a new polynomial which is the difference of the two
others.
- list polyn1
- The first polynomial operand
- list polyn2
- The second polynomial operand
- ::math::polynomials::multPolyn
polyn1 polyn2
- Return a new polynomial which is the product of the two others.
If one of the arguments is a scalar value, the other polynomial is
simply scaled.
- list polyn1
- The first polynomial operand or a scalar
- list polyn2
- The second polynomial operand or a scalar
- ::math::polynomials::divPolyn polyn1 polyn2
- Divide the first polynomial by the second polynomial and return
the result. The remainder is dropped
- list polyn1
- The first polynomial operand
- list polyn2
- The second polynomial operand
- ::math::polynomials::remainderPolyn polyn1 polyn2
- Divide the first polynomial by the second polynomial and return
the remainder.
- list polyn1
- The first polynomial operand
- list polyn2
- The second polynomial operand
- ::math::polynomials::derivPolyn
polyn
- Differentiate the polynomial and return the result.
- list polyn
- The polynomial to be differentiated
- ::math::polynomials::primitivePolyn polyn
- Integrate the polynomial and return the result. The integration
constant is set to zero.
- list polyn
- The polynomial to be integrated
- ::math::polynomials::degreePolyn polyn
- Return the degree of the polynomial.
- list polyn
- The polynomial to be examined
- ::math::polynomials::coeffPolyn
polyn index
- Return the coefficient of the term of the index'th degree of
the polynomial.
- list polyn
- The polynomial to be examined
- int index
- The degree of the term
- ::math::polynomials::allCoeffsPolyn polyn
- Return the coefficients of the polynomial (in ascending
order).
- list polyn
- The polynomial in question
The implementation for evaluating the polynomials at some point
uses Horn's rule, which guarantees numerical stability and a
minimum of arithmetic operations. To recognise that a polynomial
definition is indeed a correct definition, it consists of a list of
two elements: the keyword "POLYNOMIAL" and the list of coefficients
in descending order. The latter makes it easier to implement
Horner's rule.
math , polynomial functions
Copyright © 2004 Arjen Markus
<arjenmarkus@users.sourceforge.net>