On Wed, Jul 16, 2014 at 9:52 AM, Nathaniel Smith <[email protected]> wrote:

> On 16 Jul 2014 10:26, "Tony Yu" <[email protected]> wrote:
> >
> > Is there any reason why the defaults for `allclose` and
> `assert_allclose` differ? This makes debugging a broken test much more
> difficult. More importantly, using an absolute tolerance of 0 causes
> failures for some common cases. For example, if two values are very close
> to zero, a test will fail:
> >
> >     np.testing.assert_allclose(0, 1e-14)
> >
> > Git blame suggests the change was made in the following commit, but I
> guess that change only reverted to the original behavior.
> >
> >
> https://github.com/numpy/numpy/commit/f43223479f917e404e724e6a3df27aa701e6d6bf
> >
> > It seems like the defaults for  `allclose` and `assert_allclose` should
> match, and an absolute tolerance of 0 is probably not ideal. I guess this
> is a pretty big behavioral change, but the current default for
> `assert_allclose` doesn't seem ideal.
>
> What you say makes sense to me, and loosening the default tolerances won't
> break any existing tests. (And I'm not too worried about people who were
> counting on getting 1e-7 instead of 1e-5 or whatever... if it matters that
> much to you exactly what tolerance you test, you should be setting the
> tolerance explicitly!) I vote that unless someone comes up with some
> terrible objection in the next few days then you should submit a PR :-)
>

If you mean by this to add atol=1e-8 as default, then I'm against it.

At least it will change the meaning of many of our tests in statsmodels.

I'm using rtol to check for correct 1e-15 or 1e-30, which would be
completely swamped if you change the default atol=0.
Adding atol=0 to all assert_allclose that currently use only rtol is a lot
of work.
I think I almost never use a default rtol, but I often leave atol at the
default = 0.

If we have zeros, then I don't think it's too much work to decide whether
this should be atol=1e-20, or 1e-8.

Josef



> -n
>
> _______________________________________________
> NumPy-Discussion mailing list
> [email protected]
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to