class documentation

class matrix(N.ndarray): (source)

View In Hierarchy

matrix(data, dtype=None, copy=True)

Note

It is no longer recommended to use this class, even for linear algebra. Instead use regular arrays. The class may be removed in the future.

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).

See Also

array

Examples

>>> a = np.matrix('1 2; 3 4')
>>> a
matrix([[1, 2],
        [3, 4]])
>>> np.matrix([[1, 2], [3, 4]])
matrix([[1, 2],
        [3, 4]])
Parameters
dataIf data is a string, it is interpreted as a matrix with commas or spaces separating columns, and semicolons separating rows.
dtypeData-type of the output matrix.
copyIf data is already an ndarray, then this flag determines whether the data is copied (the default), or whether a view is constructed.
Method __array_finalize__ Undocumented
Method __getitem__ Undocumented
Method __imul__ Undocumented
Method __ipow__ Undocumented
Method __mul__ Undocumented
Method __new__ Undocumented
Method __pow__ Undocumented
Method __rmul__ Undocumented
Method __rpow__ Undocumented
Method all Test whether all matrix elements along a given axis evaluate to True.
Method any Test whether any array element along a given axis evaluates to True.
Method argmax Indexes of the maximum values along an axis.
Method argmin Indexes of the minimum values along an axis.
Method flatten Return a flattened copy of the matrix.
Method max Return the maximum value along an axis.
Method mean Returns the average of the matrix elements along the given axis.
Method min Return the minimum value along an axis.
Method prod Return the product of the array elements over the given axis.
Method ptp Peak-to-peak (maximum - minimum) value along the given axis.
Method ravel Return a flattened matrix.
Method squeeze Return a possibly reshaped matrix.
Method std Return the standard deviation of the array elements along the given axis.
Method sum Returns the sum of the matrix elements, along the given axis.
Method tolist Return the matrix as a (possibly nested) list.
Method var Returns the variance of the matrix elements, along the given axis.
Class Variable __array_priority__ Undocumented
Instance Variable shape Undocumented
Property A Return self as an ndarray object.
Property A1 Return self as a flattened ndarray.
Property H Returns the (complex) conjugate transpose of self.
Property I Returns the (multiplicative) inverse of invertible self.
Property T Returns the transpose of the matrix.
Method _align A convenience function for operations that need to preserve axis orientation.
Method _collapse A convenience function for operations that want to collapse to a scalar like _align, but are using keepdims=True
Instance Variable _getitem Undocumented
def __array_finalize__(self, obj): (source)

Undocumented

def __getitem__(self, index): (source)

Undocumented

def __imul__(self, other): (source)

Undocumented

def __ipow__(self, other): (source)

Undocumented

def __mul__(self, other): (source)

Undocumented

def __new__(subtype, data, dtype=None, copy=True): (source)

Undocumented

def __pow__(self, other): (source)

Undocumented

def __rmul__(self, other): (source)

Undocumented

def __rpow__(self, other): (source)

Undocumented

def all(self, axis=None, out=None): (source)

Test whether all matrix elements along a given axis evaluate to True.

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]])
>>> (x == y).all()
False
>>> (x == y).all(0)
matrix([[False, False, False, False]])
>>> (x == y).all(1)
matrix([[ True],
        [False],
        [False]])
Parameters
axisUndocumented
outUndocumented
See numpy.all for complete descriptions
def any(self, axis=None, out=None): (source)

Test whether any array element along a given axis evaluates to True.

Refer to numpy.any for full documentation.

Parameters
axis:int, optionalAxis along which logical OR is performed
out:ndarray, optionalOutput to existing array instead of creating new one, must have same shape as expected output
Returns
bool, ndarrayany - Returns a single bool if axis is None; otherwise, returns ndarray
def argmax(self, axis=None, out=None): (source)

Indexes of the maximum values along an axis.

Return the indexes of the first occurrences of the maximum values along the specified axis. If axis is None, the index is for the flattened matrix.

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]])
Parameters
axisUndocumented
outUndocumented
See numpy.argmax for complete descriptions
def argmin(self, axis=None, out=None): (source)

Indexes of the minimum values along an axis.

Return the indexes of the first occurrences of the minimum values along the specified axis. If axis is None, the index is for the flattened matrix.

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]])
Parameters
axisUndocumented
outUndocumented
See numpy.argmin for complete descriptions.
def flatten(self, order='C'): (source)

Return a flattened copy of the matrix.

All N elements of the matrix are placed into a single row.

See Also

ravel
Return a flattened array.
flat
A 1-D flat iterator over the matrix.

Examples

>>> m = np.matrix([[1,2], [3,4]])
>>> m.flatten()
matrix([[1, 2, 3, 4]])
>>> m.flatten('F')
matrix([[1, 3, 2, 4]])
Parameters
order:{'C', 'F', 'A', 'K'}, optional'C' means to flatten in row-major (C-style) order. 'F' means to flatten in column-major (Fortran-style) order. 'A' means to flatten in column-major order if m is Fortran contiguous in memory, row-major order otherwise. 'K' means to flatten m in the order the elements occur in memory. The default is 'C'.
Returns
matrixy - A copy of the matrix, flattened to a (1, N) matrix where N is the number of elements in the original matrix.
def max(self, axis=None, out=None): (source)

Return the maximum value along an axis.

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.max(1)
matrix([[ 3],
        [ 7],
        [11]])
Parameters
axisUndocumented
outUndocumented
See amax for complete descriptions
def mean(self, axis=None, dtype=None, out=None): (source)

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]])
def min(self, axis=None, out=None): (source)

Return the minimum value along an axis.

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]])
Parameters
axisUndocumented
outUndocumented
See amin for complete descriptions.
def prod(self, axis=None, dtype=None, out=None): (source)

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]])
def ptp(self, axis=None, out=None): (source)

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]])
def ravel(self, order='C'): (source)

Return a flattened matrix.

Refer to numpy.ravel for more documentation.

See Also

matrix.flatten
returns a similar output matrix but always a copy
matrix.flat
a flat iterator on the array.
numpy.ravel
related function which returns an ndarray
Parameters
order:{'C', 'F', 'A', 'K'}, optionalThe elements of m are read using this index order. 'C' means to index the elements in C-like order, with the last axis index changing fastest, back to the first axis index changing slowest. 'F' means to index the elements in Fortran-like index order, with the first index changing fastest, and the last index changing slowest. Note that the 'C' and 'F' options take no account of the memory layout of the underlying array, and only refer to the order of axis indexing. 'A' means to read the elements in Fortran-like index order if m is Fortran contiguous in memory, C-like order otherwise. 'K' means to read the elements in the order they occur in memory, except for reversing the data when strides are negative. By default, 'C' index order is used.
Returns
matrixret - Return the matrix flattened to shape (1, N) where N is the number of elements in the original matrix. A copy is made only if necessary.
def squeeze(self, axis=None): (source)

Return a possibly reshaped matrix.

Refer to numpy.squeeze for more documentation.

See Also

numpy.squeeze
related function

Notes

If m has a single column then that column is returned as the single row of a matrix. Otherwise m is returned. The returned matrix is always either m itself or a view into m. Supplying an axis keyword argument will not affect the returned matrix but it may cause an error to be raised.

Examples

>>> c = np.matrix([[1], [2]])
>>> c
matrix([[1],
        [2]])
>>> c.squeeze()
matrix([[1, 2]])
>>> r = c.T
>>> r
matrix([[1, 2]])
>>> r.squeeze()
matrix([[1, 2]])
>>> m = np.matrix([[1, 2], [3, 4]])
>>> m.squeeze()
matrix([[1, 2],
        [3, 4]])
Parameters
axis:None or int or tuple of ints, optionalSelects a subset of the axes of length one in the shape. If an axis is selected with shape entry greater than one, an error is raised.
Returns
matrixsqueezed - The matrix, but as a (1, N) matrix if it had shape (N, 1).
def std(self, axis=None, dtype=None, out=None, ddof=0): (source)

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 # may vary
>>> x.std(0)
matrix([[ 3.26598632,  3.26598632,  3.26598632,  3.26598632]]) # may vary
>>> x.std(1)
matrix([[ 1.11803399],
        [ 1.11803399],
        [ 1.11803399]])
def sum(self, axis=None, dtype=None, out=None): (source)

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((2, 1), dtype='float')
>>> x.sum(axis=1, dtype='float', out=np.asmatrix(out))
matrix([[3.],
        [7.]])
def tolist(self): (source)

Return the matrix as a (possibly nested) list.

See ndarray.tolist for full documentation.

See Also

ndarray.tolist

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.tolist()
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]
def var(self, axis=None, dtype=None, out=None, ddof=0): (source)

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]]) # may vary
>>> x.var(1)
matrix([[1.25],
        [1.25],
        [1.25]])
__array_priority__: float = (source)

Undocumented

shape: tuple[int, ...] = (source)

Undocumented

Return self as an ndarray object.

Equivalent to np.asarray(self).

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]])
Parameters
None
Returns
ndarrayret - self as an ndarray

Return self as a flattened ndarray.

Equivalent to np.asarray(x).ravel()

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, ...,  9, 10, 11])
Parameters
None
Returns
ndarrayret - self, 1-D, as an ndarray

Returns the (complex) conjugate transpose of self.

Equivalent to np.transpose(self) if self is real-valued.

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]])
Parameters
None
Returns
matrix objectret - complex conjugate transpose of self

Returns the (multiplicative) inverse of invertible self.

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.], # may vary
        [ 0.,  1.]])
Parameters
None
Returns
matrix objectret - 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.LinAlgErrorSingular matrix: If self is singular.

Returns the transpose of the matrix.

Does not conjugate! For the complex conjugate transpose, use .H.

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]])
Parameters
None
Returns
matrix objectret - The (non-conjugated) transpose of the matrix.
def _align(self, axis): (source)

A convenience function for operations that need to preserve axis orientation.

def _collapse(self, axis): (source)

A convenience function for operations that want to collapse to a scalar like _align, but are using keepdims=True

_getitem: bool = (source)

Undocumented