HOMEWORK 2:

DUE: March 22, 2000


(Q1)

Please download the CORE library
from http://cs.nyu.edu/exact/core/,
and install it in your working directory.

Now modify your program from hw1
to include the CORE library.
This may be as simple as just inserting the
following line of code
	
	#include "core.h"

at the beginning of your original program.
Normally, this include statement should follow
all your other standard inclusions, such as
	#include 
	#include 
The reason is this: we actually change the
definition of types "double" and "long", but we
do not want this change to modify the standard libraries.

Now compile and run your program on the same data
as in hw1.  Report your results.

Also, please report any additional changes to your original
program needed to make your program with the CORE library,
and how you fixed it.  

(Q2)
Implement Sturm's algorithm for determining
the number of roots of a polynomial within any given interval.
We want you to use the Big Number packages
in the CORE library for this exercise.

Do this as simply as possible, not worrying about efficiency.
To do this, you need to first implement
a simple polynomial package in which
coefficients are arbitrary BigIntegers.

Then you need to implement Euclid's algorithm for
computing the GCD of two polynomials.
Please talk to me if you need help with this
algorithm.

(Q3)
Isolate all the real roots of the following polynomials
using your algorithm in (Q2):

	A(X) = X^4 + 14 X^2 - 8X + 49

	B(X) = X^16 - 8 X^14 + 8X^12 + 64 X^10 - 98 X^8 -184 X^6
			+200 X^4 + 224 X^2 - 113.