Re: Differences Between Arrays and Matrices in Numpy

2009-07-29 Thread Robert Kern

On 2009-07-29 18:27, Colin J. Williams wrote:

Robert Kern wrote:

On 2009-07-29 15:23, Nanime Puloski wrote:

What are some differences between arrays and matrices using the Numpy
library? When would I want to use arrays instead of matrices and vice
versa?


You will want to ask numpy questions on the numpy mailing list:

http://www.scipy.org/Mailing_Lists

An overview of how the matrix subclass differs from ndarray, see the
documentation:

http://docs.scipy.org/doc/numpy/reference/arrays.classes.html#matrix-objects


Basically, I suggest that you just use regular arrays always. There is
a syntactical convenience to matrix objects, but it does cause
incompatibilities with the majority of code that is written for
regular arrays. The convenience is usually not worth the cost.


Numpy's arrays can have any dimensionality, whereas
matrices[http://en.wikipedia.org/wiki/Matrix_%28mathematics%29],
typically have two. A single column can represent a vector or a single
row can represent a transposed vector.

Does the additional cost arise because the commonly used procedures are
accessed through numpy's array?


Most functions are written to expect that its inputs behave like ndarrays; e.g. 
a*b is elementwise multiplication rather than matrix multiplication. When you 
use the matrix subclass, you are basically confining yourself to a smallish 
ghetto of functions that knows how to deal with matrix semantics. That's a huge 
cost compared to the relatively small syntactic cost of having to write dot(a,b) 
instead of (a*b).


--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

--
http://mail.python.org/mailman/listinfo/python-list


Re: Differences Between Arrays and Matrices in Numpy

2009-07-29 Thread Colin J. Williams

Robert Kern wrote:

On 2009-07-29 15:23, Nanime Puloski wrote:

What are some differences between arrays and matrices using the Numpy
library? When would I want to use arrays instead of matrices and vice
versa?


You will want to ask numpy questions on the numpy mailing list:

  http://www.scipy.org/Mailing_Lists

An overview of how the matrix subclass differs from ndarray, see the 
documentation:


  
http://docs.scipy.org/doc/numpy/reference/arrays.classes.html#matrix-objects 



Basically, I suggest that you just use regular arrays always. There is a 
syntactical convenience to matrix objects, but it does cause 
incompatibilities with the majority of code that is written for regular 
arrays. The convenience is usually not worth the cost.




Numpy's arrays can have any dimensionality, whereas 
matrices[http://en.wikipedia.org/wiki/Matrix_%28mathematics%29], typically 
have two.  A single column can represent a vector or a single row can 
represent a transposed vector.


Does the additional cost arise because the commonly used procedures are 
accessed through numpy's array?


Colin W.

--
http://mail.python.org/mailman/listinfo/python-list


Re: Differences Between Arrays and Matrices in Numpy

2009-07-29 Thread Nobody
On Wed, 29 Jul 2009 16:23:33 -0400, Nanime Puloski wrote:

> What are some differences between arrays and matrices using the Numpy
> library?

Matrices are always two-dimensional, as are slices of them. Matrices
override mulitplication and exponentiation to use matrix multiplication
rather than element-wise multiplication.

> When would I want to use arrays instead of matrices and vice
> versa?

Use a matrix if you want a matrix, i.e. a linear transformation.
Otherwise, use an array.

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Differences Between Arrays and Matrices in Numpy

2009-07-29 Thread Robert Kern

On 2009-07-29 15:23, Nanime Puloski wrote:

What are some differences between arrays and matrices using the Numpy
library? When would I want to use arrays instead of matrices and vice
versa?


You will want to ask numpy questions on the numpy mailing list:

  http://www.scipy.org/Mailing_Lists

An overview of how the matrix subclass differs from ndarray, see the 
documentation:

  http://docs.scipy.org/doc/numpy/reference/arrays.classes.html#matrix-objects

Basically, I suggest that you just use regular arrays always. There is a 
syntactical convenience to matrix objects, but it does cause incompatibilities 
with the majority of code that is written for regular arrays. The convenience is 
usually not worth the cost.


--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

--
http://mail.python.org/mailman/listinfo/python-list