On Nov 2, 2007, at 10:48 AM, William Stein wrote:

>
> On 11/2/07, Dan Christensen <[EMAIL PROTECTED]> wrote:
>> numpy arrays are extremely flexible, with broadcasting, view  
>> semantics
>> and in-place operations being the most important reason why.  For
>> example, if x is an array, then x[3:5] is a view of part of x, and
>> I can adjust the entries in just that region with x[3:5] += [1,2].
>> This even works if x is multi-dimensional, with the [1,2] being
>> broadcast to the right shape.
>>
>> At the same time, sage provides some fundamental types that can be
>> useful as array elements.
>>
>> So it is completely natural to use numpy arrays of sage elements,  
>> and I
>> have certainly done so many times.
>>
>> More generally, if the current implementation of in-place  
>> operations in
>> sage causes problems in numpy, it is quite likely that there will  
>> also
>> be problems with other python modules.  So I regard this as a serious
>> bug in sage.
>>
>
> +1  After mulling this over for awhile, I feel exactly the same way
> about everything said above.
>
> The inplace optimizations should be something that have to be
> explicitly turned on, and they should be off by default.  I know they
> make certain things faster, but correctness by default is *always* a
> much more important consideration with serious mathematical software
> such as Sage.  Always.
>
> I will very likely disable in-place optimization for sage-2.8.11,
> until this issue gets properly discussed and resolved.

:-(, but I have to concede to your logic. The line to change is 148  
of coerce.pxi. Setting this value to 0 will turn them completely off.  
Other than numpy, (and the builtin libraries), do we use any other  
extension types? If there is a finite list of things for which it  
won't work, it would be possible to disable it just for those.

- Robert


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to