ó \ÐKc@sXddddgZddlZddljjZddlmZmZmZm Z m Z ddl m Z e gdZx$edƒD]Zeeƒee>> x = np.array([[1, 2], [3, 4]]) >>> m = np.asmatrix(x) >>> x[0,0] = 5 >>> m matrix([[5, 2], [3, 4]]) tdtypetcopy(RtFalse(RR$((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyR+sc CsÞt|ƒ}t|jƒdks;|jd|jdkrJtdƒ‚ntt|ƒtƒsntdƒ‚nddlm }|dkr®|j ƒ}t |jdƒ|(|S|dkrÓ||ƒ}|d9}n|}|dkrx*t |dƒD]}t j||ƒ}qöW|St|ƒ}|dt|ƒ}}}x8|||dd krvt j||ƒ}|d7}q?W|}xZt |d|ƒD]E} t j||ƒ}||| dd kr‘t j||ƒ}q‘q‘W|S( s{ Raise a square matrix to the (integer) power `n`. For positive integers `n`, the power is computed by repeated matrix squarings and matrix multiplications. If ``n == 0``, the identity matrix of the same shape as M is returned. If ``n < 0``, the inverse is computed and then raised to the ``abs(n)``. Parameters ---------- M : ndarray or matrix object Matrix to be "powered." Must be square, i.e. ``M.shape == (m, m)``, with `m` a positive integer. n : int The exponent can be any integer or long integer, positive, negative, or zero. Returns ------- M**n : ndarray or matrix object The return value is the same shape and type as `M`; if the exponent is positive or zero then the type of the elements is the same as those of `M`. If the exponent is negative the elements are floating-point. Raises ------ LinAlgError If the matrix is not numerically invertible. See Also -------- matrix Provides an equivalent function as the exponentiation operator (``**``, not ``^``). Examples -------- >>> from numpy import linalg as LA >>> i = np.array([[0, 1], [-1, 0]]) # matrix equiv. of the imaginary unit >>> LA.matrix_power(i, 3) # should = -i array([[ 0, -1], [ 1, 0]]) >>> LA.matrix_power(np.matrix(i), 3) # matrix arg returns matrix matrix([[ 0, -1], [ 1, 0]]) >>> LA.matrix_power(i, 0) array([[1, 0], [0, 1]]) >>> LA.matrix_power(i, -3) # should = 1/(-i) = i, but w/ f.p. elements array([[ 0., 1.], [-1., 0.]]) Somewhat more sophisticated example >>> q = np.zeros((4, 4)) >>> q[0:2, 0:2] = -i >>> q[2:4, 2:4] = i >>> q # one of the three quarternion units not equal to 1 array([[ 0., -1., 0., 0.], [ 1., 0., 0., 0.], [ 0., 0., 0., 1.], [ 0., 0., -1., 0.]]) >>> LA.matrix_power(q, 2) # = -np.eye(4) array([[-1., 0., 0., 0.], [ 0., -1., 0., 0.], [ 0., 0., -1., 0.], [ 0., 0., 0., -1.]]) iiisinput must be a square arraysexponent must be an integeriÿÿÿÿ(tinvit0t1(RRtshapeRR ttypetintt TypeErrort numpy.linalgR'R%RtrangetNtdotR( tMtnR'tresultt_tbetatZtqtttk((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyt matrix_powerKs:G /       cBsîeZdZdZd'ed„Zd„Zd„Zd„Z d„Z d„Z d„Z d „Z d „Zd „Zd „Zd „Zd„Zd'd'd'd„Zd'd'd'd„Zd'd'd'dd„Zd'd'd'dd„Zd'd'd'd„Zd'd'd„Zd'd'd„Zd'd'd„Zd'd'd„Zd'd'd„Zd'd'd„Zd'd'd„Zd„Zd„Z d„Z!d„Z"d „Z#e$e"d'd!d"ƒZ%e$e d'd!d#ƒZ&e$e!d'd!d$ƒZ'e$e#d'd!d%ƒZ(e$ed'd!d&ƒZ)RS((sÄ matrix(data, dtype=None, copy=True) Returns a matrix from an array-like object, or from a string of data. A matrix is a specialized 2-d array that retains its 2-d nature through operations. It has certain special operators, such as ``*`` (matrix multiplication) and ``**`` (matrix power). Parameters ---------- data : array_like or string If data is a string, the string is interpreted as a matrix with commas or spaces separating columns, and semicolons separating rows. dtype : data-type Data-type of the output matrix. copy : bool If data is already an ndarray, then this flag determines whether the data is copied, or whether a view is constructed. See Also -------- array Examples -------- >>> a = np.matrix('1 2; 3 4') >>> print a [[1 2] [3 4]] >>> np.matrix([[1, 2], [3, 4]]) matrix([[1, 2], [3, 4]]) g$@c CsÖt|tƒrQ|j}|dkr-|}n||krD| rD|S|j|ƒSt|tjƒrÌ|dkr{|j}ntj|ƒ}|j|ƒ}||jkrµ|j|ƒS|rÅ|jƒS|Snt|t ƒrêt |ƒ}ntj |d|d|ƒ}|j }|j } |dkr/td‚n4|dkrDd } n|dkrcd| df} nt} |dkrŠ|jjrŠt} n| p™|jjs«|jƒ}ntjj|| |jd|d| ƒ} | S( NR$R%ismatrix must be 2-dimensionaliitbuffertorder(ii(t isinstanceRR$tNonetastypeR0tndarraytviewR%tstrR#tarraytndimR*RR&tflagstfortrantTruet contiguoust__new__( tsubtypeRR$R%tdtype2tintypetnewtarrRER*R=tret((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyRJÞsJ                 cCsÿt|_t|tƒr%|jr%dS|j}|dkr>dS|dkr¸tg|jD]}|dkrW|^qWƒ}t|ƒ}|dkr||_dS|dkrÁtd‚qÁn |j}|dkrÙd|_n"|dkrûd|df|_ndS(Niisshape too large to be a matrix.i(ii( R&t_getitemR>RREttupleR*RR(tselftobjREtxtnewshape((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyt__array_finalize__ s(    .        cCsÜt|_ztjj||ƒ}Wdt|_Xt|tjƒsE|S|jdkr\|dS|jdkrØ|jd}yt |ƒ}Wn d}nX|dkrÆt |dƒrÆ|df|_qØd|f|_n|S(Nii(( RHRQR0RAt __getitem__R&R>RER*RR(RStindextouttshR3((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyRX"s$    cCsat|tjttfƒr1tj|t|ƒƒSt|ƒsMt|dƒ r]tj||ƒSt S(Nt__rmul__( R>R0RAtlistRRR1RRthasattrtNotImplemented(RStother((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyt__mul__<s cCstj||ƒS(N(R0R1(RSR`((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyR\DscCs|||(|S(N((RSR`((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyt__imul__Gs cCs t||ƒS(N(R;(RSR`((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyt__pow__KscCs|||(|S(N((RSR`((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyt__ipow__Ns cCstS(N(R_(RSR`((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyt__rpow__RscCsvt|jƒƒjddƒ}|jƒ}x<tdt|ƒƒD]%}||r@d||||>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.tolist() [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]] (Rhttolist(RS((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyRtqscCs"tjj||||ƒj|ƒS(s Returns the sum of the matrix elements, along the given axis. Refer to `numpy.sum` for full documentation. See Also -------- numpy.sum Notes ----- This is the same as `ndarray.sum`, except that where an `ndarray` would be returned, a `matrix` object is returned instead. Examples -------- >>> x = np.matrix([[1, 2], [4, 3]]) >>> x.sum() 10 >>> x.sum(axis=1) matrix([[3], [7]]) >>> x.sum(axis=1, dtype='float') matrix([[ 3.], [ 7.]]) >>> out = np.zeros((1, 2), dtype='float') >>> x.sum(axis=1, dtype='float', out=out) matrix([[ 3.], [ 7.]]) (R0RAtsumRs(RSRrR$RZ((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyRuˆs cCs"tjj||||ƒj|ƒS(sà Returns the average of the matrix elements along the given axis. Refer to `numpy.mean` for full documentation. See Also -------- numpy.mean Notes ----- Same as `ndarray.mean` except that, where that returns an `ndarray`, this returns a `matrix` object. Examples -------- >>> x = np.matrix(np.arange(12).reshape((3, 4))) >>> x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.mean() 5.5 >>> x.mean(0) matrix([[ 4., 5., 6., 7.]]) >>> x.mean(1) matrix([[ 1.5], [ 5.5], [ 9.5]]) (R0RAtmeanRs(RSRrR$RZ((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyRvªs icCs%tjj|||||ƒj|ƒS(s? Return the standard deviation of the array elements along the given axis. Refer to `numpy.std` for full documentation. See Also -------- numpy.std Notes ----- This is the same as `ndarray.std`, except that where an `ndarray` would be returned, a `matrix` object is returned instead. Examples -------- >>> x = np.matrix(np.arange(12).reshape((3, 4))) >>> x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.std() 3.4520525295346629 >>> x.std(0) matrix([[ 3.26598632, 3.26598632, 3.26598632, 3.26598632]]) >>> x.std(1) matrix([[ 1.11803399], [ 1.11803399], [ 1.11803399]]) (R0RAtstdRs(RSRrR$RZtddof((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyRwÌs cCs%tjj|||||ƒj|ƒS(s* Returns the variance of the matrix elements, along the given axis. Refer to `numpy.var` for full documentation. See Also -------- numpy.var Notes ----- This is the same as `ndarray.var`, except that where an `ndarray` would be returned, a `matrix` object is returned instead. Examples -------- >>> x = np.matrix(np.arange(12).reshape((3, 4))) >>> x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.var() 11.916666666666666 >>> x.var(0) matrix([[ 10.66666667, 10.66666667, 10.66666667, 10.66666667]]) >>> x.var(1) matrix([[ 1.25], [ 1.25], [ 1.25]]) (R0RAtvarRs(RSRrR$RZRx((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyRyîs cCs"tjj||||ƒj|ƒS(sÕ Return the product of the array elements over the given axis. Refer to `prod` for full documentation. See Also -------- prod, ndarray.prod Notes ----- Same as `ndarray.prod`, except, where that returns an `ndarray`, this returns a `matrix` object instead. Examples -------- >>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.prod() 0 >>> x.prod(0) matrix([[ 0, 45, 120, 231]]) >>> x.prod(1) matrix([[ 0], [ 840], [7920]]) (R0RAtprodRs(RSRrR$RZ((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyRzscCstjj|||ƒj|ƒS(sE Test whether any array element along a given axis evaluates to True. Refer to `numpy.any` for full documentation. Parameters ---------- axis: int, optional Axis along which logical OR is performed out: ndarray, optional Output to existing array instead of creating new one, must have same shape as expected output Returns ------- any : bool, ndarray Returns a single bool if `axis` is ``None``; otherwise, returns `ndarray` (R0RAtanyRs(RSRrRZ((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyR{1scCstjj|||ƒj|ƒS(sì Test whether all matrix elements along a given axis evaluate to True. Parameters ---------- See `numpy.all` for complete descriptions See Also -------- numpy.all Notes ----- This is the same as `ndarray.all`, but it returns a `matrix` object. Examples -------- >>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> y = x[0]; y matrix([[0, 1, 2, 3]]) >>> (x == y) matrix([[ True, True, True, True], [False, False, False, False], [False, False, False, False]], dtype=bool) >>> (x == y).all() False >>> (x == y).all(0) matrix([[False, False, False, False]], dtype=bool) >>> (x == y).all(1) matrix([[ True], [False], [False]], dtype=bool) (R0RAtallRs(RSRrRZ((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyR|Hs&cCstjj|||ƒj|ƒS(sÙ Return the maximum value along an axis. Parameters ---------- See `amax` for complete descriptions See Also -------- amax, ndarray.max Notes ----- This is the same as `ndarray.max`, but returns a `matrix` object where `ndarray.max` would return an ndarray. Examples -------- >>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.max() 11 >>> x.max(0) matrix([[8, 9, 10, 11]]) >>> x.argmax(1) matrix([[3], [7], [11]]) (R0RAtmaxRs(RSRrRZ((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyR}ps!cCstjj|||ƒj|ƒS(sì Indices of the maximum values along an axis. Parameters ---------- See `numpy.argmax` for complete descriptions See Also -------- numpy.argmax Notes ----- This is the same as `ndarray.argmax`, but returns a `matrix` object where `ndarray.argmax` would return an `ndarray`. Examples -------- >>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.argmax() 11 >>> x.argmax(0) matrix([[2, 2, 2, 2]]) >>> x.argmax(1) matrix([[3], [3], [3]]) (R0RAtargmaxRs(RSRrRZ((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyR~“s!cCstjj|||ƒj|ƒS(sð Return the minimum value along an axis. Parameters ---------- See `amin` for complete descriptions. See Also -------- amin, ndarray.min Notes ----- This is the same as `ndarray.min`, but returns a `matrix` object where `ndarray.min` would return an ndarray. Examples -------- >>> x = -np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, -1, -2, -3], [ -4, -5, -6, -7], [ -8, -9, -10, -11]]) >>> x.min() -11 >>> x.min(0) matrix([[ -8, -9, -10, -11]]) >>> x.min(1) matrix([[ -3], [ -7], [-11]]) (R0RAtminRs(RSRrRZ((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyR¶s!cCstjj|||ƒj|ƒS(s Return the indices of the minimum values along an axis. Parameters ---------- See `numpy.argmin` for complete descriptions. See Also -------- numpy.argmin Notes ----- This is the same as `ndarray.argmin`, but returns a `matrix` object where `ndarray.argmin` would return an `ndarray`. Examples -------- >>> x = -np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, -1, -2, -3], [ -4, -5, -6, -7], [ -8, -9, -10, -11]]) >>> x.argmin() 11 >>> x.argmin(0) matrix([[2, 2, 2, 2]]) >>> x.argmin(1) matrix([[3], [3], [3]]) (R0RAtargminRs(RSRrRZ((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyR€Ùs!cCstjj|||ƒj|ƒS(sÀ Peak-to-peak (maximum - minimum) value along the given axis. Refer to `numpy.ptp` for full documentation. See Also -------- numpy.ptp Notes ----- Same as `ndarray.ptp`, except, where that would return an `ndarray` object, this returns a `matrix` object. Examples -------- >>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.ptp() 11 >>> x.ptp(0) matrix([[8, 8, 8, 8]]) >>> x.ptp(1) matrix([[3], [3], [3]]) (R0RAtptpRs(RSRrRZ((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyRüscCsN|j\}}||kr.ddlm}nddlm}t||ƒƒS(sD Returns the (multiplicative) inverse of invertible `self`. Parameters ---------- None Returns ------- ret : matrix object If `self` is non-singular, `ret` is such that ``ret * self`` == ``self * ret`` == ``np.matrix(np.eye(self[0,:].size)`` all return ``True``. Raises ------ numpy.linalg.linalg.LinAlgError: Singular matrix If `self` is singular. See Also -------- linalg.inv Examples -------- >>> m = np.matrix('[1, 2; 3, 4]'); m matrix([[1, 2], [3, 4]]) >>> m.getI() matrix([[-2. , 1. ], [ 1.5, -0.5]]) >>> m.getI() * m matrix([[ 1., 0.], [ 0., 1.]]) iÿÿÿÿ(R'(tpinv(R*t numpy.dualR'R‚R(RSR2R0tfunc((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pytgetIs % cCs |jƒS(s1 Return `self` as an `ndarray` object. Equivalent to ``np.asarray(self)``. Parameters ---------- None Returns ------- ret : ndarray `self` as an `ndarray` Examples -------- >>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.getA() array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) (Rh(RS((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pytgetAIscCs|jƒjƒS(s Return `self` as a flattened `ndarray`. Equivalent to ``np.asarray(x).ravel()`` Parameters ---------- None Returns ------- ret : ndarray `self`, 1-D, as an `ndarray` Examples -------- >>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.getA1() array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) (Rhtravel(RS((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pytgetA1fscCs |jƒS(s@ Returns the transpose of the matrix. Does *not* conjugate! For the complex conjugate transpose, use `getH`. Parameters ---------- None Returns ------- ret : matrix object The (non-conjugated) transpose of the matrix. See Also -------- transpose, getH Examples -------- >>> m = np.matrix('[1, 2; 3, 4]') >>> m matrix([[1, 2], [3, 4]]) >>> m.getT() matrix([[1, 3], [2, 4]]) (Rq(RS((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pytgetTscCs6t|jjtjƒr(|jƒjƒS|jƒSdS(sF Returns the (complex) conjugate transpose of `self`. Equivalent to ``np.transpose(self)`` if `self` is real-valued. Parameters ---------- None Returns ------- ret : matrix object complex conjugate transpose of `self` Examples -------- >>> x = np.matrix(np.arange(12).reshape((3,4))) >>> z = x - 1j*x; z matrix([[ 0. +0.j, 1. -1.j, 2. -2.j, 3. -3.j], [ 4. -4.j, 5. -5.j, 6. -6.j, 7. -7.j], [ 8. -8.j, 9. -9.j, 10.-10.j, 11.-11.j]]) >>> z.getH() matrix([[ 0. +0.j, 4. +4.j, 8. +8.j], [ 1. +1.j, 5. +5.j, 9. +9.j], [ 2. +2.j, 6. +6.j, 10.+10.j], [ 3. +3.j, 7. +7.j, 11.+11.j]]) N(t issubclassR$R+R0tcomplexfloatingRqt conjugate(RS((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pytgetH¡stdocRqs base arrays1-d base arrayshermitian (conjugate) transposetinverseN(*t__name__t __module__t__doc__t__array_priority__R?RHRJRWRXRaR\RbRcRdReRoRpRsRtRuRvRwRyRzR{R|R}R~RR€RR…R†RˆR‰RtpropertytTtAtA1tHtI(((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyR·sJ%.           """"!(####! ,   "c Cs|jdƒ}g}xê|D]â}|jdƒ}g}x!|D]}|j|jƒƒq>W|}g} x{|D]s} | jƒ} y|| } WnCtk rÓy|| } WqÔtk rÏtd| f‚qÔXnX| j| ƒqnW|jt| ddƒƒqWt|ddƒS(NRRs %s not foundRriÿÿÿÿi(RRtstriptKeyErrorRR( RCtgdicttldictRtrowtupRRRRUtcoltupR tthismat((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyt _from_stringÉs*      cCst|tƒra|dkr?tjƒj}|j}|j}n |}|}tt |||ƒƒSt|t t fƒräg}xO|D]G}t|t j ƒr±tt|ddƒƒS|jt|ddƒƒqƒWtt|ddƒƒSt|t j ƒrt|ƒSdS(s Build a matrix object from a string, nested sequence, or array. Parameters ---------- obj : string, sequence or array Input data. Variables names in the current scope may be referenced, even if `obj` is a string. Returns ------- out : matrix Returns a matrix object, which is a specialized 2-D array. See Also -------- matrix Examples -------- >>> A = np.mat('1 1; 1 1') >>> B = np.mat('2 2; 2 2') >>> C = np.mat('3 4; 5 6') >>> D = np.mat('7 8; 9 0') All the following expressions construct the same block matrix: >>> np.bmat([[A, B], [C, D]]) matrix([[1, 1, 2, 2], [1, 1, 2, 2], [3, 4, 7, 8], [5, 6, 9, 0]]) >>> np.bmat(np.r_[np.c_[A, B], np.c_[C, D]]) matrix([[1, 1, 2, 2], [1, 1, 2, 2], [3, 4, 7, 8], [5, 6, 9, 0]]) >>> np.bmat('A,B; C,D') matrix([[1, 1, 2, 2], [1, 1, 2, 2], [3, 4, 7, 8], [5, 6, 9, 0]]) RriÿÿÿÿiN(R>RCR?tsyst _getframetf_backt f_globalstf_localsRR¡RRR]R0RARR(RTRRœtframet glob_dicttloc_dicttarr_rowsR((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyRâs"-    (t__all__R¢tnumpy.core.numerictcoretnumericR0RRRRRtnumpy.core.numerictypesR R?R R/R:tchrRkt _numcharsRRRR#RR;RARR¡RR(((s=/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.pyts4 (      lÿÿÿ E