X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;ds=sidebyside;f=src%2FVector.hs;fp=src%2FVector.hs;h=f55808b33f534283cf7ba432d667c72a6e565353;hb=6dbbf1130a3318a1cc408f948ac15e74090710ec;hp=b42932c22d2058e685e3d6aa9cc2bb25422ca3cc;hpb=e505e7e507758201f9b1af450b987d9cb0e6a640;p=numerical-analysis.git diff --git a/src/Vector.hs b/src/Vector.hs index b42932c..f55808b 100644 --- a/src/Vector.hs +++ b/src/Vector.hs @@ -11,7 +11,6 @@ import Data.List (intercalate) import Data.Vector.Fixed ( Dim, Fun(..), - N1, N2, N3, N4, @@ -217,6 +216,20 @@ angle v1 v2 = -- constructors, so you can pattern match out the individual -- components. +-- | Convenient constructor for 2D vectors. +-- +-- Examples: +-- +-- >>> import Roots.Simple +-- >>> let h = 0.5 :: Double +-- >>> let g1 (Vn (Vec2D x y)) = 1.0 + h*exp(-(x^2))/(1.0 + y^2) +-- >>> let g2 (Vn (Vec2D x y)) = 0.5 + h*atan(x^2 + y^2) +-- >>> let g u = make2d ((g1 u), (g2 u)) +-- >>> let u0 = make2d (1.0, 1.0) +-- >>> let eps = 1/(10^9) +-- >>> fixed_point g eps u0 +-- (1.0728549599342185,1.0820591495686167) +-- data Vec2D a = Vec2D a a type instance Dim Vec2D = N2 instance Vector Vec2D a where