]> gitweb.michael.orlitzky.com - numerical-analysis.git/blobdiff - src/Roots/Simple.hs
Fix some docs in Roots.Simple.
[numerical-analysis.git] / src / Roots / Simple.hs
index a6aa09e497ba841d2c3a8e0be2749aab27c72662..815a64ca0d3407dc051c16875593cdf2cdeb3532 100644 (file)
@@ -8,22 +8,34 @@
 --   where f is assumed to be continuous on the interval of interest.
 --
 
-module Roots.Simple
+module Roots.Simple (
+  bisect,
+  fixed_point,
+  fixed_point_error_ratios,
+  fixed_point_iteration_count,
+  has_root,
+  newtons_method,
+  secant_method,
+  trisect )
 where
 
 import Data.List (find)
+import NumericPrelude hiding ( abs )
+import Algebra.Absolute ( abs )
+import qualified Algebra.Additive as Additive ( C )
+import qualified Algebra.Algebraic as Algebraic ( C )
+import qualified Algebra.Field as Field ( C )
+import qualified Algebra.RealField as RealField ( C )
+import qualified Algebra.RealRing as RealRing ( C )
 
-import Normed
+import Normed ( Normed(..) )
+import qualified Roots.Fast as F (
+  bisect,
+  fixed_point_iterations,
+  fixed_point_with_iterations,
+  has_root,
+  trisect )
 
-import qualified Roots.Fast as F
-
-import NumericPrelude hiding (abs)
-import Algebra.Absolute (abs)
-import qualified Algebra.Additive as Additive
-import qualified Algebra.Algebraic as Algebraic
-import qualified Algebra.Field as Field
-import qualified Algebra.RealField as RealField
-import qualified Algebra.RealRing as RealRing
 
 -- | Does the (continuous) function @f@ have a root on the interval
 --   [a,b]? If f(a) <] 0 and f(b) ]> 0, we know that there's a root in
@@ -185,6 +197,7 @@ fixed_point_error_ratios f x0 x_star p =
 --   Examples:
 --
 --   Atkinson, p. 60.
+--
 --   >>> let f x = x^6 - x - 1
 --   >>> let f' x = 6*x^5 - 1
 --   >>> tail $ take 4 $ newton_iterations f f' 2
@@ -195,8 +208,8 @@ newton_iterations :: (Field.C a)
                     -> (a -> a) -- ^ The derivative of @f@
                     -> a       -- ^ Initial guess, x-naught
                     -> [a]
-newton_iterations f f' x0 =
-  iterate next x0
+newton_iterations f f' =
+  iterate next
   where
   next xn =
     xn - ( (f xn) / (f' xn) )
@@ -271,6 +284,7 @@ iterate2 f x0 x1 =
 --   Examples:
 --
 --   Atkinson, p. 67.
+--
 --   >>> let f x = x^6 - x - 1
 --   >>> take 4 $ secant_iterations f 2 1
 --   [2.0,1.0,1.0161290322580645,1.190577768676638]
@@ -280,8 +294,8 @@ secant_iterations :: (Field.C a)
                     -> a       -- ^ Initial guess, x-naught
                     -> a       -- ^ Second initial guess, x-one
                     -> [a]
-secant_iterations f x0 x1 =
-  iterate2 g x0 x1
+secant_iterations f =
+  iterate2 g
   where
   g prev2 prev1 =
     let x_change = prev1 - prev2
@@ -296,6 +310,7 @@ secant_iterations f x0 x1 =
 --   Examples:
 --
 --   Atkinson, p. 67.
+--
 --   >>> let f x = x^6 - x - 1
 --   >>> let Just root = secant_method f (1/10^9) 2 1
 --   >>> root