[SciPy-user] Pros and Cons of Python verses other array environments
otto at tronarp.se
Fri Sep 29 03:47:32 CDT 2006
Quoting Bill Baxter <wbaxter at gmail.com>:
> On 9/29/06, Otto Tronarp <otto at tronarp.se> wrote:
>> This touches the subject of inconsistency with math.add as one
>> example. One of my "favorite" peeve's is how the size (shape) is given
>> to functions that generate matrices. In some functions the size is
>> given as a tuple, in other the size in different dimensions are given
>> as seperate arguments. Here are some examples:
>> To to create an array with shape M, N you do:
>> zeros((M, N))
>> ones((M, N))
>> rand(M, N)
>> eye(M, N)
>> I'm sure more examples exists.
> is another one.
> But I think you'll find that rand at least is no longer there.
> Instead you're supposed to use random.random((M,N))
> eye(M,N) is considered to be ok, because 1-D eye is pretty useless,
> and it's not clear what you'd want out of N-D identity matrix.
That is valid point, but I would still argue for unified use of shape
args. Assume that I have a function that does some calculations on a
matrix and adds another like this:
def foo(A, mxCreateFunc):
# do some stuff with A
return A + mxCreateFunc(A.shape)
If we hade unified shape args I could do
foo(A, random) # Add some noice
foo(A, zeros # Don't add nocie
foo(A, eye) # ??
I must admitt that I don't have any real world use cases for eye at
hand, but I'm sure they are out there...
> There has been a lot of discussion about trying to unify on shape args
> always being tuples.
> SciPy-user mailing list
> SciPy-user at scipy.org
More information about the SciPy-user