Exports all of the interface of
Numeric.Uncertain.Correlated,
except meant to be run in a
ghci session "interactively" for
exploratory purposes, or in a plain
IO action (instead of
inside a
Corr monad).
For example, with the
Numeric.Uncertain.Correlated interface:
ghci> evalCorr $ do
x <- sampleUncert $ 12.5 +/- 0.8
y <- sampleUncert $ 15.9 +/- 0.5
z <- sampleUncert $ 1.52 +/- 0.07
let k = y**x
resolveUncert $ (x+z) * logBase z k
1200 +/- 200
And with the interface from this "interactive" module:
ghci> x <- sampleUncert $ 12.5 +/- 0.8
ghci> y <- sampleUncert $ 15.9 +/- 0.5
ghci> z <- sampleUncert $ 1.52 +/- 0.07
ghci> let k = y**x
ghci> resolveUncert $ (x+z) * logBase z k
1200 +/- 200
The main purpose of this module is to allow one to use
ghci as
a fancy "calculator" for computing and exploring propagated
uncertainties of complex and potentially correlated samples with
uncertainty.
Because many of the names overlap with the names from the
Numeric.Uncertain.Correlated module, it is recommended that you
never have both imported at the same time in
ghci or in a file,
or import them qualified if you must.
Also note that all of these methods only work with
Uncert
Doubles, and are not polymorphic over different numeric
types.
Be aware that this module is not robustly tested in heavily concurrent
situations/applications.