[ Tcllib Home | Main Table Of Contents | Table Of Contents | Keyword Index | Categories | Modules | Applications ]

math::rationalfunctions - Polynomial functions

- package require
**Tcl ?8.4?** - package require
**math::rationalfunctions ?1.0.1?**

**::math::rationalfunctions::rationalFunction***num**den***::math::rationalfunctions::ratioCmd***num**den***::math::rationalfunctions::evalRatio***rational**x***::math::rationalfunctions::addRatio***ratio1**ratio2***::math::rationalfunctions::subRatio***ratio1**ratio2***::math::rationalfunctions::multRatio***ratio1**ratio2***::math::rationalfunctions::divRatio***ratio1**ratio2***::math::rationalfunctions::derivPolyn***ratio***::math::rationalfunctions::coeffsNumerator***ratio***::math::rationalfunctions::coeffsDenominator***ratio*

This package deals with rational functions of one variable:

the basic arithmetic operations are extended to rational functions

computing the derivatives of these functions

evaluation through a general procedure or via specific procedures)

The package defines the following public procedures:

**::math::rationalfunctions::rationalFunction***num**den*Return an (encoded) list that defines the rational function. A rational function

1 + x^3 f(x) = ------------ 1 + 2x + x^2

can be defined via:

set f [::math::rationalfunctions::rationalFunction [list 1 0 0 1] [list 1 2 1]]

- list
*num* Coefficients of the numerator of the rational function (in ascending order)

- list
*den* Coefficients of the denominator of the rational function (in ascending order)

- list
**::math::rationalfunctions::ratioCmd***num**den*Create a new procedure that evaluates the rational function. The name of the function is automatically generated. Useful if you need to evaluate the function many times, as the procedure consists of a single [expr] command.

- list
*num* Coefficients of the numerator of the rational function (in ascending order)

- list
*den* Coefficients of the denominator of the rational function (in ascending order)

- list
**::math::rationalfunctions::evalRatio***rational**x*Evaluate the rational function at x.

- list
*rational* The rational function's definition (as returned by the rationalFunction command). order)

- float
*x* The coordinate at which to evaluate the function

- list
**::math::rationalfunctions::addRatio***ratio1**ratio2*Return a new rational function which is the sum of the two others.

- list
*ratio1* The first rational function operand

- list
*ratio2* The second rational function operand

- list
**::math::rationalfunctions::subRatio***ratio1**ratio2*Return a new rational function which is the difference of the two others.

- list
*ratio1* The first rational function operand

- list
*ratio2* The second rational function operand

- list
**::math::rationalfunctions::multRatio***ratio1**ratio2*Return a new rational function which is the product of the two others. If one of the arguments is a scalar value, the other rational function is simply scaled.

- list
*ratio1* The first rational function operand or a scalar

- list
*ratio2* The second rational function operand or a scalar

- list
**::math::rationalfunctions::divRatio***ratio1**ratio2*Divide the first rational function by the second rational function and return the result. The remainder is dropped

- list
*ratio1* The first rational function operand

- list
*ratio2* The second rational function operand

- list
**::math::rationalfunctions::derivPolyn***ratio*Differentiate the rational function and return the result.

- list
*ratio* The rational function to be differentiated

- list
**::math::rationalfunctions::coeffsNumerator***ratio*Return the coefficients of the numerator of the rational function.

- list
*ratio* The rational function to be examined

- list
**::math::rationalfunctions::coeffsDenominator***ratio*Return the coefficients of the denominator of the rational function.

- list
*ratio* The rational function to be examined

- list

The implementation of the rational functions relies on the math::polynomials package. For further remarks see the documentation on that package.

This document, and the package it describes, will undoubtedly contain
bugs and other problems.
Please report such in the category *math :: rationalfunctions* of the
Tcllib Trackers.
Please also report any ideas for enhancements you may have for either
package and/or documentation.

Mathematics

Copyright © 2005 Arjen Markus <[email protected]>