[Numpy-discussion] Matrix Class
Ryan Nelson
rnelsonchem at gmail.com
Wed Feb 11 16:18:14 EST 2015
Colin,
I currently use Py3.4 and Numpy 1.9.1. However, I built a quick test conda
environment with Python2.7 and Numpy 1.7.0, and I get the same:
############
Python 2.7.9 |Continuum Analytics, Inc.| (default, Dec 18 2014, 16:57:52)
[MSC v
.1500 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.
IPython 2.3.1 -- An enhanced Interactive Python.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import numpy as np
In [2]: np.__version__
Out[2]: '1.7.0'
In [3]: np.mat([4,'5',6])
Out[3]:
matrix([['4', '5', '6']],
dtype='|S1')
In [4]: np.mat([4,'5',6], dtype=int)
Out[4]: matrix([[4, 5, 6]])
###############
As to your comment about coordinating with Statsmodels, you should see the
links in the thread that Alan posted:
http://permalink.gmane.org/gmane.comp.python.numeric.general/56516
http://permalink.gmane.org/gmane.comp.python.numeric.general/56517
Josef's comments at the time seem to echo the issues the devs (and others)
have with the matrix class. Maybe things have changed with Statsmodels.
I know I mentioned Sage and SageMathCloud before. I'll just point out that
there are folks that use this for real research problems, not just as a
pedagogical tool. They have a Matrix/vector/column_matrix class that do
what you were expecting from your problems posted above. Indeed below is a
(truncated) cut and past from a Sage Worksheet. (See
http://www.sagemath.org/doc/tutorial/tour_linalg.html)
##########
In : Matrix([1,'2',3])
Error in lines 1-1
Traceback (most recent call last):
TypeError: unable to find a common ring for all elements
In : Matrix([[1,2,3],[4,5]])
ValueError: List of rows is not valid (rows are wrong types or lengths)
In : vector([1,2,3])
(1, 2, 3)
In : column_matrix([1,2,3])
[1]
[2]
[3]
##########
Large portions of the custom code and wrappers in Sage are written in
Python. I don't think their Matrix object is a subclass of ndarray, so
perhaps you could strip out the Matrix stuff from here to make a separate
project with just the Matrix stuff, if you don't want to go through the
Sage interface.
On Wed, Feb 11, 2015 at 11:54 AM, cjw <cjw at ncf.ca> wrote:
>
> On 11-Feb-15 10:21 AM, Ryan Nelson wrote:
>
> So:
>
> In [2]: np.mat([4,'5',6])
> Out[2]:
> matrix([['4', '5', '6']], dtype='<U11')
>
> In [3]: np.mat([4,'5',6], dtype=int)
> Out[3]: matrix([[4, 5, 6]])
>
>
> Thanks Ryan,
>
> We are not singing from the same hymn book.
>
> Using PyScripter, I get:
>
> *** Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit
> (AMD64)] on win32. ***
> >>> import numpy as np
> >>> print('Numpy version: ', np.__version__)
> ('Numpy version: ', '1.9.0')
> >>>
>
> Could you say which version you are using please?
>
> Colin W
>
>
> On Tue, Feb 10, 2015 at 5:07 PM, cjw <cjw at ncf.ca> <cjw at ncf.ca> wrote:
>
>
> It seems to be agreed that there are weaknesses in the existing Numpy
> Matrix
> Class.
>
> Some problems are illustrated below.
>
> I'll try to put some suggestions over the coming weeks and would appreciate
> comments.
>
> Colin W.
>
> Test Script:
>
> if __name__ == '__main__':
> a= mat([4, 5, 6]) # Good
> print('a: ', a)
> b= mat([4, '5', 6]) # Not the expected result
> print('b: ', b)
> c= mat([[4, 5, 6], [7, 8]]) # Wrongly accepted as rectangular
> print('c: ', c)
> d= mat([[1, 2, 3]])
> try:
> d[0, 1]= 'b' # Correctly flagged, not numeric
> except ValueError:
> print("d[0, 1]= 'b' # Correctly flagged, not numeric",
> '
> ValueError')
> print('d: ', d)
>
> Result:
>
> *** Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit
> (AMD64)] on win32. ***
>
> a: [[4 5 6]]
> b: [['4' '5' '6']]
> c: [[[4, 5, 6] [7, 8]]]
> d[0, 1]= 'b' # Correctly flagged, not numeric ValueError
> d: [[1 2 3]]
>
>
>
>
>
> --
> View this message in context:http://numpy-discussion.10968.n7.nabble.com/Matrix-Class-tp39719.html
> Sent from the Numpy-discussion mailing list archive at Nabble.com.
> _______________________________________________
> NumPy-Discussion mailing listNumPy-Discussion at scipy.orghttp://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
>
> _______________________________________________
> NumPy-Discussion mailing listNumPy-Discussion at scipy.orghttp://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20150211/94d37a6e/attachment.html>
More information about the NumPy-Discussion
mailing list