Hi

On Thu, Mar 24, 2011 at 4:17 PM, Skipper Seabold <jsseab...@gmail.com>wrote:

> On Thu, Mar 24, 2011 at 9:45 AM, Ralf Gommers
> <ralf.gomm...@googlemail.com> wrote:
> > 2011/3/24 Dmitrey <tm...@ukr.net>:
> >>
> >> Hi
> >>
> >> 2011/3/24 Dmitrey <tm...@ukr.net>
> >>>
> >>> >>> from numpy import inf, array
> >>> >>> inf*0
> >>> nan
> >>>
> >>> (ok)
> >>>
> >>> >>> array(inf) * 0.0
> >>> StdErr: Warning: invalid value encountered in multiply
> >>> nan
> >>>
> >>> My cycled calculations yields this thousands times slowing computations
> >>> and making text output completely non-readable.
> >>
> >> Would old= seterr(invalid= 'ignore') be sufficient for you?
> >>
> >> yes for me, but I'm not sure for all those users who use my soft. Maybe
> it
> >> will hide some bugs in their objective functions and nonlinear
> constraints
> >> in numerical optimization and nonlinear equation systems.
> >
> > If we do what you request in your message subject your users will have
> > the same issue.
> >
> > You can wrap (parts of) your code in something like:
> >  olderr = seterr(invalid= 'ignore')
> >  <do stuff>
> >  seterr(**olderr)
> >
>
> Also, as Robert pointed out to me before np.errstate is a
> context-manager for ignoring these warnings. I often wrap optimization
> code with it.
>
I didn't realize that its context-manager, but that's really create!
(Perhaps documents could reflect that.)

Regards,
eat

>
> In [3]: np.array(np.inf)*0.
> Warning: invalid value encountered in multiply
> Out[3]: nan
>
> In [4]: with np.errstate(all='ignore'):
>   ...:     np.array(np.inf)*0.
>   ...:
>   ...:
> Out[4]: nan
>
> In [5]: np.array(np.inf)*0.
> Warning: invalid value encountered in multiply
> Out[5]: nan
>
> Skipper
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to