###############################################################
# Checking 'newt2' using numerical root finding capablities 
# of Maple.
###############################################################
lnx1% maple
    |\^/|     Maple 6 (IBM INTEL LINUX)
._|\|   |/|_. Copyright (c) 2000 by Waterloo Maple Inc.
 \  MAPLE  /  All rights reserved. Maple is a registered trademark of
 <____ ____>  Waterloo Maple Inc.
      |       Type ? for help.
> Digits := 20;
                                 Digits := 20

> f1 := sin(x*y) - 1/2;
                             f1 := sin(x y) - 1/2

> f2 := y^2 - 6*x - 2;
                                     2
                              f2 := y  - 6 x - 2


###############################################################
# Locates root found by 'newt2 1.0 1.0'
###############################################################
> ans := fsolve( {f1,f2}, {x,y}, {x=0.25..0.30, y=1.8..2.0});
         ans := {y = 1.9092977458408301606, x = .27423631371214588082}


###############################################################
# Compute residuals of root
###############################################################
> r1 := evalf(subs(ans,f1)); r2 := evalf(subs(ans,f2));
                                            -19
                                r1 := -.1 10

                                            -18
                                r2 := -.1 10


###############################################################
# Locates root found by 'newt2 10.0 10.0'
###############################################################
> ans := fsolve( {f1,f2}, {x,y}, {x=7..9, y=6..8});
         ans := {x = 8.0480622340064835835, y = 7.0914295740731220704}

> r1 := evalf(subs(ans,f1)); r2 := evalf(subs(ans,f2));
                                            -18
                               r1 := -.35 10

                                    r2 := 0


###############################################################
# Locates root found by 'newt2 100.0 100.0'
###############################################################
> ans := fsolve( {f1,f2}, {x,y}, {x=203.9..203.95, y=35.0..35.01});
         ans := {x = 203.91061457097670060, y = 35.006623479362590528}

>  r1 := evalf(subs(ans,f1)); r2 := evalf(subs(ans,f2));
                                             -16
                              r1 := -.5214 10

                                    r2 := 0


###############################################################
# Another nearby, but distinct, root
###############################################################
> ans := fsolve( {f1,f2}, {x,y}, {x=203..204, y=35.0..35.1});
         ans := {x = 203.95052002180667001, y = 35.010043132376172782}

> r1 := evalf(subs(ans,f1)); r2 := evalf(subs(ans,f2));
                                             -16
                               r1 := .4548 10

                                    r2 := 0

> quit;
