On Oct 30, 2007, at 6:29 PM, Carl Witty wrote: > On Oct 30, 1:48 pm, Robert Bradshaw <[EMAIL PROTECTED]> > wrote: >> This is due to the inplace operator stuff using refcounts to >> determine if it's safe to mutate. The simple workaround is to not use >> numpy arrays of SAGE objects. Another question is why would one do so >> (i.e. what is lacking in the SAGE linear algebra types?) I think the >> benifits of inplace operators in terms of performance are to great to >> abandon, but am at loss to find a clean solution so that external >> extension classes don't mess them up... other than perhaps a global >> option that can be enabled/disabled. > > I can think of lots of "solutions", although I don't know which of > them might be worth the effort. > > 1) a global enable/disable > 2) hook into __import__ to notice imports of numpy, and turn off the > optimization globally if numpy is ever imported > 3) patch numpy to add the incref/decref operations > 4) patch numpy to turn off the optimization on entry to dangerous > functions, and turn the optimization back on at exit
I like 1-2. Options 3 and 4 seem like lots of (error-prone) work on every numpy release. Numpy isn't imported by default, right? - 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/ -~----------~----~----~----~------~----~------~--~---