[SciPy-User] Notification when array is modified
Jonathan Guyer
guyer at nist.gov
Mon Aug 20 09:03:43 EDT 2012
On Aug 20, 2012, at 3:00 AM, John Jumper wrote:
> I am looking for a method so that I can be notified when the contents
> of a numpy array change.
:
:
> Is there any interface in numpy so that I could expose A and B
> directly as writeable numpy arrays but be notified when they are
> modified? Alternatively, if I subclass ndarray, is there some
> exhaustive list of methods that can change the underlying data (I
> would be worried about view objects here)?
Our FiPy Variable class does this in the course of setting up a mechanism for lazy expression evaluation.
http://matforge.org/fipy/browser/trunk/fipy/variables/variable.py
There's a lot in there that you don't need, but see _requires(), _markFresh(), and _markStale(), and the value property.
See also
http://matforge.org/fipy/browser/trunk/fipy/variables/operatorVariable.py
http://matforge.org/fipy/browser/trunk/fipy/variables/binaryOperatorVariable.py
http://matforge.org/fipy/browser/trunk/fipy/variables/unaryOperatorVariable.py
There's unfortunately a lot of work to do to make it all act like an ndarray without subclassing (which was impossible when we originally wrote this and discouraged later. I don't know what the current thinking is on ndarray subclassing).
More information about the SciPy-User
mailing list