WeBWorKdocs

sq_webwork:


Home
Current UR courses
Visitor page
Intro to WeBWorK
WeBWorK 2 Twiki
WW Community
Grant Support & awards
Discussion group
Problem library
Write/modify problems
Create & manage course
Tutorial on running a course
HowTos
FAQ
WeBWorK2 FAQ
Software Download
How to Install WW server
Feedback
Site Map
Change preferences
Change password





Prev | Next | pod


PGpolynomialmacros.pl DESCRIPTION

 ##########################################################
 #  It contains rountines used to create and manipulate ##
 #  polynomials for WeBWorK             ##
 #                          ##
 #  Copyright 2002 Mark Schmitt             ##
 #  Version 1.1.2                   ##
 ##########################################################
 #  In the current version, there is no attempt to verify that correct arrays are 
   being passed to the routines.
 #  This ought to be changed in the next incarnation.
 #  It is assumed that arrays passed to the routines have no leading zeros, and represent 
   the coefficients of
 #  a polynomial written in standard form using place-holding zeros.
 #  This means $array[0] is the leading coefficient of the polynomial and $array[$#array] 
                                                                                    is 
                                                                                    the 
                                                                                    constant 
                                                                                    term.
 #
 #  The routines were written based on the needs of my Honors Algebra 2 course. The 
   following algorithms have been
 #  coded:
 #  Polynomial Multiplication
 #  Polynomial Long Division
 #  Polynomial Synthetic Division (mainly as a support routine for checking bounds 
   on roots)
 #  Finding the least positive integral upper bounds for roots
 #  Finding the greatest negative integral lower bounds for roots
 #  Descartes' Rule of Signs for the maximum number of positive and negative roots
 #  Stringification : converting an array of coefficients into a properly formatted 
   polynomial string
 #  Polynomial Addition
 #  Polynomial Subtraction

ValidPoly(@PolynomialCoeffs)

PolyAdd(@Polyn1,@Polyn2)

# # Takes two arrays of polynomial coefficients representing # two polynomials and returns their sum. #

PolySub(@Polyn1,@Polyn2)

# # Takes two arrays of polynomial coefficients representing # two polynomials and returns their difference. #

PolyMult(~~@coefficientArray1,~~@coefficientArray2)

# # Accepts two arrays containing coefficients in descending order # returns an array with the coefficients of the product #

(@quotient,$remainder) = SynDiv(~~@dividend,~~@divisor)

# # Performs synthetic division on two polynomials returning # the quotient and remainder in an array. #

(@quotient,@remainder) = LongDiv($dividendref,$divisorref)

# # Performs long division on two polynomials # returning the quotient and remainder #

UpBound(~~@polynomial)

# # Accepts a reference to an array containing the coefficients, in descending # order, of a polynomial. # # Returns the lowest positive integral upper bound to the roots of the # polynomial. #

LowBound(~~@polynomial)

# # Accepts a reference to an array containing the coefficients, in descending # order, of a polynomial. # # Returns the greatest negative integral lower bound to the roots of the # polynomial #

PolyString(~~@coefficientArray,x)

# # Accepts an array containing the coefficients of a polynomial # in descending order # Returns a sting containing the polynomial with variable x # Default variable is x #

($maxpos,$maxneg) = Descartes(~~@poly)

# # Accepts an array containing the coefficients, in descending order, of a # polynomial # Returns the maximum number of positive and negative roots according to # Descartes Rule of Signs # # IMPORTANT NOTE: this function currently does not accept coefficients of # zero. #

File path = /ww/webwork/pg/macros/PGpolynomialmacros.pl

<| Post or View Comments |>


Prev | Next | pod

Last update: Thursday, February 6, 2003 at 9:49:58 PM.
This site maintained using Manila and Frontier software.