numpy.mat

numpy.mat(object, dtype=None)

Функция mat() интерпретирует входные данные как матрицу.

Параметры:
object - подобный матрице объект
Строка, список или кортеж, а так же любая функция или объект с методом, возвращаеющие список или кортеж, которые могут быть интерпретированы как матрица.
dtype - тип данных NumPy (необязательный)
Определяет тип данных выходной матрицы.
Возвращает:
matrix - массив NumPy
Интерпретация входных данных как матрицы.
Смотрите так же: bmat

Замечание

Входные данные могут быть интерпретированы, как матрицы, только если из них возможно построить одномерный или двумерный прямоугольный (квадратный) массив.

Просто отформатированные строки, например такие как '1 1; 2 2', '1, 1; 2, 2' или '1,1;2,2' тоже могут интерпретироваться как матрицы.

В отличие от функций matrix и asmatrix, функция mat не делает копию данных если входные данные уже являются массивом NumPy или матрицей. Эквивалентна matrix(data, copy=False).


Примеры

>>> import numpy as np
>>> 
>>> #  Создание матриц из строк
...
>>> np.mat('1 1 1 1')
matrix([[1, 1, 1, 1]])
>>>
>>> np.mat('1, 1, 1, 1')
matrix([[1, 1, 1, 1]])
>>>
>>> np.mat('1, 1, 1, 1')
matrix([[1, 1, 1, 1]])
>>>
>>> np.mat('1, 1; 1, 1')
matrix([[1, 1],
        [1, 1]])
>>>
>>> 
>>> a = [1, 2, 3, 4, 5]
>>> 
>>> b = np.mat(a)
>>> b
matrix([[1, 2, 3, 4, 5]])
>>> 
>>>
>>> #  Если входные данные не являются массивом или матрицей,
... #  то входные данные копируются.
...
>>> a[0] = 111    #  Изменение списка 'a' не отразится 
>>> a
[111, 2, 3, 4, 5]
>>>
>>> b             #  не отразится на матрице 'b'.
matrix([[1, 2, 3, 4, 5]])
>>> 
>>> 
>>> #  Если входные данные являются массивом или матрицей,
... #  то входные данные не копируются.
...
>>> a = np.array([[1, 1], [2, 2]])
>>> a
array([[1, 1],
       [2, 2]])
>>> 
>>> b = np.mat(a)
>>> b
matrix([[1, 1],
        [2, 2]])
>>> 
>>> a[0] = 77    #  Изменение массива 'a' не отразится
>>> a
array([[77, 77],
       [ 2,  2]])
>>> 
>>> b            #  отразится на матрице 'b'.
matrix([[77, 77],
        [ 2,  2]])