[Haskell-cafe] convergence of functions of Complex variables
William Lee Irwin III
wli at holomorphy.com
Wed Dec 15 05:41:01 EST 2004
On Wed, Dec 15, 2004 at 02:07:10AM -0800, William Lee Irwin III wrote:
>> This does not work as expected on Complex numbers due to some odd
>> typechecking hassles apparently associated with abs. How do I get this
>> to typecheck for both real (e.g. Double) and Complex arguments?
On Wed, Dec 15, 2004 at 10:28:18AM +0000, Ross Paterson wrote:
> abs :: Num a => a -> a, whereas you want something that returns a Double.
> You could define
> class Norm a where
> norm :: a -> Double
> instance Norm Float where
> norm = realToFrac . abs
> instance Norm Double where
> norm = abs
> instance RealFloat a => Norm (Complex a) where
> norm = realToFrac . magnitude
> and use norm instead of abs.
Thanks; this appears to do the trick for me. Something of this kind
would be useful to have in the std. libraries, at least for me.
More information about the Haskell-Cafe