Python — операции с матрицами numpy

Создано: 2017-01-12 12:47:58, Обновлено:
comments   0
hits   4036

Python — операции с матрицами numpy

Примечание: NumPy является преемником Numarray и используется в качестве замены NumArray. SAGE - это математический пакет программного обеспечения, основанный на NumPy и нескольких других инструментах, целью которого является замена таких инструментов, как Magma, Maple, Mathematica и Matlab. Сегодня я хотел найти в интернете информацию о NumPy и попробовать использовать NumPy для обратной матрицы, но не смог найти никаких китайских материалов, и некоторые пользователи на форуме спросили, как использовать Python для обратной матрицы, и никто не ответил. Поэтому я нашел официальный документ NumPy, в котором есть небольшой раздел, посвященный объектам матрицы, поэтому я перевел этот раздел на китайский язык, внес небольшой вклад, время было коротким, не было возможности проверить орфографические ошибки, были проблемы.

  • #### 1 , матрица (Matrix)

Тип матрицы наследует тип ndarray, поэтому содержит все свойства и методы данных ndarray. Тип матрицы отличается от типа ndarray шестью важными отличиями, которые приводят к непредвиденным результатам, когда вы действуете как объект матрицы, а не как матрицы.

    1. Объекты Matrix могут быть созданы с помощью строки в стиле Matlab, то есть строки, разделенные пробелами, разделенные знаками разделения.
    1. Объекты матрицы всегда двумерны. Это имеет далеко идущие последствия, например, возвращаемое значение m.ravel () является двумерным, возвращаемое значение, выбранное членами, также двумерно, поэтому поведение последовательности существенно отличается от поведения array.
    1. Умножение типа матрицы покрывает умножение матрицы, используя умножение матрицы. Когда вы получаете возвращаемое значение матрицы, убедитесь, что вы понимаете значение этих функций. В частности, фактически функция array array (m) возвращает матрицу, если m является матрицей.
    1. Матричные операции на матрице также покрывают предыдущие операции на матрице, используя матричную матрицу. В соответствии с этим фактом, напомним, что если использовать матричную матрицу в качестве параметра, то вызовasanarray (((…) будет таким же, как и выше.
    1. По умолчанию, array_priority матрицы 10.0, поэтому операции, смешанные с объектами narray и matrix, всегда возвращают матрицу.
    1. Матрицы имеют несколько уникальных свойств, которые делают вычисления проще:
    • (a) .T - возвращает свою собственную перестановку

    • (b) .H - возвращается к собственному резонансному перемещению

    • © .I - возвращает свою обратную матрицу

    • (d) .A - вид 2D-арритектов, возвращающий собственные данные (без создания каких-либо копий)

    Класс Matrix - это один из подклассов python на ndarray, и вы можете изучить его реализацию, чтобы создать свой собственный подкласс ndarray. Matrix-объекты также могут быть созданы с помощью других объектов Matrix, строк или других параметров, которые могут быть преобразованы в параметры ndarray. Кроме того, в NumPy, mat - это другое название matrix.

  • Пример 1: Строй матрицу с помощью строки

  import numpy as np
  a=np.mat('1 2 3; 4 5 3')
  print (a*a.T).I
  [[ 0.29239766 -0.13450292]
  [-0.13450292  0.08187135]]
  • Пример 2: Конструирование матрицы с помощью настраиваемой последовательности
  np.matrix([[  1.+0.j,   5.+0.j,  10.+0.j],
        [  1.+0.j,   3.+0.j,   0.+4.j]])
  • Пример 3: Использование матрицы построения
  np.mat( np.random.rand(3,3) ).T
  np.matrix([[ 0.81541602,  0.73987459,  0.03509142],
        [ 0.14767449,  0.60539483,  0.05641679],
        [ 0.43257759,  0.628695  ,  0.47413553]])

Matrix( data, dtype=None, copy=True ) Если dtype - None, то тип данных будет определяться содержанием данных. Если copy - True, то будет копироваться данные из data, в противном случае будет использоваться буфер с исходными данными. Если буферные зоны данных не найдены, то, конечно, будет выполнена копия данных. Mat Это просто другое название матрицы. Asmatrix(data, dtype=None) Возвращает данные, которые не были скопированы. Эквивалент матрицы ((data, dtype, copy=False) Bmat(obj, ldict=None, gdict=None) Используйте строку, встроенную последовательность или матрицу (например, array) для построения матрицы. Эта команда позволяет создавать матрицы из других объектов. В ней используются параметры ldict и gdict, которые являются словарями локальных и модульных параметров, только когда obj является строкой.

  A=np.mat('2 2; 2 2'); B=np.mat('1 1; 1 1');
  print(np.bmat('A B; B A'))
    [[2 2 1 1]
     [2 2 1 1]
     [1 1 2 2]
     [1 1 2 2]]

Перевод автора: su frank