packages feed

numeric-prelude-0.4.4: test/Test/MathObj/Gaussian/Variance.hs

-- Do not edit! Automatically created with doctest-extract from gaussian/MathObj/Gaussian/Variance.hs
{-# LINE 34 "gaussian/MathObj/Gaussian/Variance.hs" #-}

module Test.MathObj.Gaussian.Variance where

import qualified Test.DocTest.Driver as DocTest

{-# LINE 35 "gaussian/MathObj/Gaussian/Variance.hs" #-}
import     qualified MathObj.Gaussian.Variance as G
import     MathObj.Gaussian.ExponentTuple (HoelderConjugates(HoelderConjugates))
import     MathObj.Gaussian.ExponentTuple (YoungConjugates(YoungConjugates))
import     qualified Algebra.Laws as Laws
import     qualified Number.Root as Root
import     NumericPrelude.Base as P
import     NumericPrelude.Numeric as NP
import     Prelude ()
import     qualified Test.QuickCheck as QC
import     Data.Function.HT (Id, nest)

asRational     :: Id (G.T Rational)
asRational     = id

withRational     :: Id (G.T Rational -> a)
withRational     = id

test :: DocTest.T ()
test = do
 DocTest.printPrefix "MathObj.Gaussian.Variance:95: "
{-# LINE 95 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 95 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x y -> G.scalarProductRoot x y <= G.norm2Root x `Root.mul` G.norm2Root y)
 DocTest.printPrefix "MathObj.Gaussian.Variance:99: "
{-# LINE 99 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 99 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x y -> G.scalarProductRoot x y <= G.norm1Root x `Root.mul` G.normInfRoot y)
 DocTest.printPrefix "MathObj.Gaussian.Variance:100: "
{-# LINE 100 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 100 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x y (HoelderConjugates p q) -> G.scalarProductRoot x y <= G.normPRoot p x `Root.mul` G.normPRoot q y)
 DocTest.printPrefix "MathObj.Gaussian.Variance:108: "
{-# LINE 108 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 108 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x -> G.norm1Root x == G.normPRoot 1 x)
 DocTest.printPrefix "MathObj.Gaussian.Variance:114: "
{-# LINE 114 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 114 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x -> G.norm2Root x == G.normPRoot 2 x)
 DocTest.printPrefix "MathObj.Gaussian.Variance:186: "
{-# LINE 186 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 186 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x (QC.Positive a) -> G.varianceRational (G.dilate a x) == a^2 * G.varianceRational x)
 DocTest.printPrefix "MathObj.Gaussian.Variance:187: "
{-# LINE 187 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 187 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x y -> G.varianceRational (G.convolve x y) == G.varianceRational x + G.varianceRational y)
 DocTest.printPrefix "MathObj.Gaussian.Variance:193: "
{-# LINE 193 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 193 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (Laws.identity G.multiply G.constant . asRational)
 DocTest.printPrefix "MathObj.Gaussian.Variance:194: "
{-# LINE 194 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 194 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (Laws.commutative G.multiply . asRational)
 DocTest.printPrefix "MathObj.Gaussian.Variance:195: "
{-# LINE 195 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 195 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (Laws.associative G.multiply . asRational)
 DocTest.printPrefix "MathObj.Gaussian.Variance:228: "
{-# LINE 228 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 228 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (Laws.commutative G.convolve . asRational)
 DocTest.printPrefix "MathObj.Gaussian.Variance:229: "
{-# LINE 229 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 229 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (Laws.associative G.convolve . asRational)
 DocTest.printPrefix "MathObj.Gaussian.Variance:233: "
{-# LINE 233 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 233 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x y -> G.normInfRoot (G.convolve x y) <= G.norm1Root x `Root.mul` G.normInfRoot y)
 DocTest.printPrefix "MathObj.Gaussian.Variance:234: "
{-# LINE 234 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 234 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x y (HoelderConjugates p q) -> G.normInfRoot (G.convolve x y) <= G.normPRoot p x `Root.mul` G.normPRoot q y)
 DocTest.printPrefix "MathObj.Gaussian.Variance:235: "
{-# LINE 235 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 235 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x y (YoungConjugates p q r) -> G.normPRoot r (G.convolve x y) <= G.normPRoot p x `Root.mul` G.normPRoot q y)
 DocTest.printPrefix "MathObj.Gaussian.Variance:251: "
{-# LINE 251 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 251 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x y -> G.fourier (G.convolve x y) == G.multiply (G.fourier x) (G.fourier y))
 DocTest.printPrefix "MathObj.Gaussian.Variance:252: "
{-# LINE 252 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 252 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x -> nest 4 G.fourier x == x)
 DocTest.printPrefix "MathObj.Gaussian.Variance:253: "
{-# LINE 253 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 253 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x (QC.Positive a) -> G.fourier (G.dilate a x) == G.amplify a (G.shrink a (G.fourier x)))
 DocTest.printPrefix "MathObj.Gaussian.Variance:254: "
{-# LINE 254 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 254 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x y -> G.scalarProductRoot x y == G.scalarProductRoot (G.fourier x) (G.fourier y))
 DocTest.printPrefix "MathObj.Gaussian.Variance:265: "
{-# LINE 265 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 265 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x (QC.Positive a) (QC.Positive b) -> G.dilate a (G.dilate b x) == G.dilate (a*b) x)
 DocTest.printPrefix "MathObj.Gaussian.Variance:266: "
{-# LINE 266 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 266 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x (QC.Positive a) -> G.shrink a x == G.dilate (recip a) x)
 DocTest.printPrefix "MathObj.Gaussian.Variance:273: "
{-# LINE 273 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 273 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x (QC.Positive a) -> G.dilate a (G.shrink a x) == x)
 DocTest.printPrefix "MathObj.Gaussian.Variance:274: "
{-# LINE 274 "gaussian/MathObj/Gaussian/Variance.hs" #-}
 DocTest.property
{-# LINE 274 "gaussian/MathObj/Gaussian/Variance.hs" #-}
     (withRational $ \x (QC.Positive a) -> G.shrink a (G.dilate a x) == x)