def test_lmparams_gennorm(self):
     "Test parameter estimation from L_moments for the generalized normal distribution"
     (loc, scl, shp) = (0.0, 1., 0.999)
     lmoms = gennorm(shp, loc, scl,).lstats(4)
     assert_almost_equal(gennorm.lmparams(lmoms),
                         np.array((loc, scl, shp)), 6)
     (loc, scl, shp) = (0.0, 0.5, -0.999)
     lmoms = gennorm(shp, loc, scl).lstats(4)
     assert_almost_equal(gennorm.lmparams(lmoms),
                         np.array((loc, scl, shp)), 6)
     (loc, scl, shp) = (0.5, 2.0, 0.5)
     lmoms = gennorm(shp, loc, scl).lstats(4)
     assert_almost_equal(gennorm.lmparams(lmoms),
                         np.array((loc, scl, shp)), 6)
     (loc, scl, shp) = (0, 2, 0)
     lmoms = gennorm(shp, loc, scl).lstats(4)
     assert_almost_equal(gennorm.lmparams(lmoms),
                         np.array((loc, scl, shp)), 6)
     #
     lmoms = (-1., 1., 3.)
     #self.failUnlessRaises(ValueError, pel_gennorm, lmoms)
     lmoms = (-1., 1., 1./3)
     assert_almost_equal(gennorm.lmparams(lmoms),
                         np.array([-1.57345421, 1.44332159, -0.7010033]))
     lmoms = (-1., 1., -0.9)
     assert_almost_equal(gennorm.lmparams(lmoms),
                         np.array([ 0.03455279, 0.0987164, 2.58243705]))
     lmoms = (-1., 1., +0.9)
     assert_almost_equal(gennorm.lmparams(lmoms),
                         np.array([-2.03455279, 0.0987164, -2.58243705]))
     lmoms = (+1., +1., +0.7)
     assert_almost_equal(np.array(gennorm.lmparams(lmoms)),
                         np.array([0.014923134, 0.54923500, -1.66231215]))
 def test_ppf(self):
     "Try the PPF of the generalized normal distribution"
     k = 0.
     ctr = [-3.0902323062, -0.674489750, 0.0, 3.090232306]
     assert_almost_equal(gennorm(k).ppf([0.001, 0.25, 0.5, 0.999]), ctr)
     k = 0.1
     ctr = [-3.6209401242, -0.697756729, 0.0, 2.658362852]
     assert_almost_equal(gennorm(k).ppf([0.001, 0.25, 0.5, 0.999]), ctr)
     k = 1.
     ctr = [-20.98218398, -0.96303108, 0.0, 0.95450861]
     assert_almost_equal(gennorm(k).ppf([0.001, 0.25, 0.5, 0.999]), ctr)
 def test_cdf(self):
     "Try the CDF of the Generalized Normal distribution"
     k = 0.
     ctr = [0.5, 0.59870633, 0.69146246, 0.84134475]
     assert_almost_equal(gennorm(k).cdf([0., .25, .5, 1.]), ctr)
     k = 0.1
     ctr = [0.5, 0.59993470, 0.69600089, 0.853968136]
     assert_almost_equal(gennorm(k).cdf([0., .25, .5, 1.]), ctr)
     k = 1.
     ctr = [0.5, 0.613204943, 0.755891404, 1.0]
     assert_almost_equal(gennorm(k).cdf([0., .25, .5, 1.]), ctr)
 def test_ppf(self):
     "Try the PPF of the generalized normal distribution"
     k = 0.
     ctr = [-3.0902323062, -0.674489750, 0.0, 3.090232306]
     assert_almost_equal(gennorm(k).ppf([0.001, 0.25, 0.5, 0.999]), ctr)
     k = 0.1
     ctr = [-3.6209401242, -0.697756729, 0.0, 2.658362852]
     assert_almost_equal(gennorm(k).ppf([0.001, 0.25, 0.5, 0.999]), ctr)
     k = 1.
     ctr =  [-20.98218398, -0.96303108, 0.0, 0.95450861]
     assert_almost_equal(gennorm(k).ppf([0.001, 0.25, 0.5, 0.999]), ctr)
 def test_cdf(self):
     "Try the CDF of the Generalized Normal distribution"
     k = 0.
     ctr =  [0.5, 0.59870633, 0.69146246, 0.84134475]
     assert_almost_equal(gennorm(k).cdf([0., .25, .5, 1.]), ctr)
     k = 0.1
     ctr =  [0.5, 0.59993470, 0.69600089, 0.853968136]
     assert_almost_equal(gennorm(k).cdf([0., .25, .5, 1.]), ctr)
     k = 1.
     ctr =   [0.5, 0.613204943, 0.755891404, 1.0]
     assert_almost_equal(gennorm(k).cdf([0., .25, .5, 1.]), ctr)
 def test_lmparams_gennorm(self):
     "Test parameter estimation from L_moments for the generalized normal distribution"
     (loc, scl, shp) = (0.0, 1., 0.999)
     lmoms = gennorm(
         shp,
         loc,
         scl,
     ).lstats(4)
     assert_almost_equal(gennorm.lmparams(lmoms), np.array((loc, scl, shp)),
                         6)
     (loc, scl, shp) = (0.0, 0.5, -0.999)
     lmoms = gennorm(shp, loc, scl).lstats(4)
     assert_almost_equal(gennorm.lmparams(lmoms), np.array((loc, scl, shp)),
                         6)
     (loc, scl, shp) = (0.5, 2.0, 0.5)
     lmoms = gennorm(shp, loc, scl).lstats(4)
     assert_almost_equal(gennorm.lmparams(lmoms), np.array((loc, scl, shp)),
                         6)
     (loc, scl, shp) = (0, 2, 0)
     lmoms = gennorm(shp, loc, scl).lstats(4)
     assert_almost_equal(gennorm.lmparams(lmoms), np.array((loc, scl, shp)),
                         6)
     #
     lmoms = (-1., 1., 3.)
     #self.failUnlessRaises(ValueError, pel_gennorm, lmoms)
     lmoms = (-1., 1., 1. / 3)
     assert_almost_equal(gennorm.lmparams(lmoms),
                         np.array([-1.57345421, 1.44332159, -0.7010033]))
     lmoms = (-1., 1., -0.9)
     assert_almost_equal(gennorm.lmparams(lmoms),
                         np.array([0.03455279, 0.0987164, 2.58243705]))
     lmoms = (-1., 1., +0.9)
     assert_almost_equal(gennorm.lmparams(lmoms),
                         np.array([-2.03455279, 0.0987164, -2.58243705]))
     lmoms = (+1., +1., +0.7)
     assert_almost_equal(np.array(gennorm.lmparams(lmoms)),
                         np.array([0.014923134, 0.54923500, -1.66231215]))