Hi, I'm confused by the following:
import numpy as np np.__version__ '1.3.0.dev6116'
# I expect this
x = np.eye(3) x.resize((5,5)) x = np.eye(3) y = x x.resize((5,5)) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: cannot resize an array that has been referenced or is referencing another array in this way. Use the resize function
# I don't expect this
x = np.eye(3) x array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]]) x.resize((5,5), refcheck=True) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: cannot resize an array that has been referenced or is referencing another array in this way. Use the resize function x.resize((5,5), refcheck=False) x array([[ 1., 0., 0., 0., 1.], [ 0., 0., 0., 1., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.]])
Is there a reference counting bug, or am I misunderstanding something about how Python works when I type a variable's name at the prompt? Cheers, Scott