+instance (RealFloat a) => Normed (TwoTuple a) where
+ -- The standard Euclidean 2-norm. We need RealFloat for the square
+ -- root.
+ norm (TwoTuple x y) = fromRational $ toRational (sqrt(x^2 + y^2))
+
+ -- The infinity norm, i.e. the maximum entry.
+ norm_infty (TwoTuple x y) =
+ fromRational $ max absx absy
+ where
+ absx = abs (toRational x)
+ absy = abs (toRational y)