Stefan van der Walt wrote: > On Thu, Jul 06, 2006 at 11:39:19AM +0900, Bill Baxter wrote: > >>Often when I'm doing interactive prototyping I find myself wanting to check >>whether two arrays are sharing a copy of the same data. > > > Say you have > > x = N.array([1,2,3,4]) > > and > > y = x.reshape((2,2)) > > then x and y share the same data. You can see this when you do > > x.__array_interface__['data'][0] == y.__array_interface__['data'][0] > > Still, this only holds for full data views. If you had > > z = y[1:,1:] > > then the data memory position would differ.
I am still using Numeric, but even with that background I think that the problem is ill-defined. Consider the following interactive session: Python 2.3b1+ (#2, Jun 10 2003, 20:53:51) [GCC 3.0.2 20010905 (Red Hat Linux 7.1 3.0.1-3)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import Numeric >>> a=Numeric.arange(20) >>> b=a[::2] >>> c=a[1::2] >>> a array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]) >>> b array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18]) >>> c array([ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19]) >>> b[0]=99 >>> c[0]=99 >>> a array([99, 99, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]) Do "b" and "c" share a copy of the same data? None of the values in either array is visible in the other, but both share data with "a"! Regards, Rob -- Rob W.W. Hooft || [EMAIL PROTECTED] || http://www.hooft.net/people/rob/ Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion