From: Philip A. <pa...@eo...> - 2004-07-07 01:42:43
|
(for numpy v1.0 on Mandrake 10 i686) As noted on p. 25 the array constructor takes up to 5 optional arguments array(sequence=None, type=None, shape=None, copy=1, savespace=0,typecode=None) (and raises an exception if both type and typecode are set). Is there any way to make an alias (copy=0) of an array without passing keyword values? That is, specifying the copy keyword alone works: test=N.array((1., 3), "Float64", shape=(2,), copy=1, savespace=0) a=N.array(test, copy=0) a[1]=999 print test >>> [ 1. 999.] But when intervening keywords are specified copy won't toggle: test=N.array((1., 3)) a=N.array(sequence=test, type="Float64", shape=(2,), copy=0) a[1]=999. print test >>> [ 1. 3.] Which is also the behaviour I see when I drop the keywords: test=N.array((1., 3)) a=N.array(test, "Float64", (2,), 0) a[1]=999. print test >>> [ 1. 3.] an additional puzzle is that adding the savespace parameter raises the following exception: >>> a=N.array(test, "Float64", (2,), 0,0) Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.3/site-packages/numarray/numarraycore.py", line 312, in array type = getTypeObject(sequence, type, typecode) File "/usr/lib/python2.3/site-packages/numarray/numarraycore.py", line 256, in getTypeObject rtype = _typeFromTypeAndTypecode(type, typecode) File "/usr/lib/python2.3/site-packages/numarray/numarraycore.py", line 243, in _typeFromTypeAndTypecode raise ValueError("Can't define both 'type' and 'typecode' for an array.") ValueError: Can't define both 'type' and 'typecode' for an array. Thanks for any insights -- Phil |