[SciPy-Dev] adding chkfinite flags to linalg functions

Matthew Brett matthew.brett@gmail....
Fri Aug 26 14:39:34 CDT 2011


On Fri, Aug 26, 2011 at 12:30 PM, Bruce Southey <bsouthey@gmail.com> wrote:
> On 08/26/2011 02:09 PM, Matthew Brett wrote:
>> Hi,
>>
>> On Fri, Aug 26, 2011 at 11:45 AM, Bruce Southey<bsouthey@gmail.com>  wrote:
>>> On 08/26/2011 12:02 PM, Christopher Jordan-Squire wrote:
>>>> Breaking it into two steps has its own issues associated with it as
>>>> well. Then the user must verify their own inputs before passing them
>>>> to scipy linalg methods. If I understand your suggestion correctly.
>>> That is exactly what your patch is doing because people will misuse that
>>> argument just because they perceive it as faster.
>> I object to this objection.
>>
>> There's a long tradition of letting people do dangerous things if they
>> want to.  Here the option is sensibly labeled and it's not the
>> default.
>>
>> Best,
>>
>> Matthew
>> _______________________________________________
>> SciPy-Dev mailing list
>> SciPy-Dev@scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-dev
> So why not have the patch remove all the calls to asarray_chkfinite()?

Perhaps I misunderstood, sorry if so.

My understanding was that the routine, by default, will check for
non-finite values before running, and error otherwise.
The chkfinite=False flag would be a specialized case where the user is
sure there are no non-finite values.

If my understanding is correct, it seems to me perfectly reasonable to
allow the user to shoot themselves in the foot when changing a
well-labelled and described option.

To answer your question then, changing the default behavior would
obviously be silly.   Adding an extra non-default behavior is not, in
my view.

Best,

Matthew


More information about the SciPy-Dev mailing list