Python - numpy - матричные операции

Автор:Изобретатели количественного измерения - мечты, Создано: 2017-01-12 12:47:58, Обновлено:

Python numpy Матричные операции

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

  • Объекты матрицы

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

    • 1) Объекты матриц могут быть созданы с помощью строки в стиле Matlab, то есть строки, разделенной строками, разделенными числами.

    • 2) Объекты матриц всегда двумерны. Это имеет далеко идущие последствия, например, возвращение значения m.ravel (() является двумерным, а возвращение значения, выбранного членом, также является двумерным, поэтому поведение последовательности будет отличаться по своей сути от поведения матрицы.

    • 3) Умножение типа матрицы охватывает умножение матриц, используя умножение матриц. Когда вы получаете возвращенные значения матриц, убедитесь, что вы уже понимаете значение этих функций. В частности, факт того, что функция asanarray ((m)) возвращает матрицу, если это m-матрица.

    • 4) Операции на матрице типа "А" также охватывают предыдущие операции на матрице типа "А" с использованием матрицы "А". На основании этого факта напомним, что если использовать матрицу типа "А" в качестве параметра, то вызов "asanarray" ((...) будет таким же, как и выше.

    • 5) матрица имеет по умолчанию array_priority 10.0, поэтому комбинация narray и матричных объектов всегда возвращает матрицу.

    • 6) Матрицы имеют несколько уникальных свойств, которые облегчают вычисления:

      • (a).T - возвращается к собственному местоположению
      • (b).H - возвращается к собственному резонансному перемещению
      • ©.I - возвращение собственной обратной матрицы
      • (d).A - один из видов 2D-ареорий, возвращающих свои данные (без копирования)

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

  • Пример 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)) Преобразует данные, переданные с параметром data, в матрицы. Если dtype None, то тип данных будет определяться содержанием данных. Если copy True, то будет копироваться данные из data, иначе будет использоваться исходный буфер данных. Если не найден буфер данных, то, конечно, будет копироваться данные. Мэтт Это просто прозвище матрицы. Asmatrix ((data, dtype=None)) Возвращает данные, которые не были скопированы. Bmat ((obj, ldict=None, gdict=None) Используйте строку, последовательность нестей или матрицу (array) для построения матрицы. Эта команда позволяет создавать матрицы из других объектов. При этом, когда obj является строкой, используются параметры ldict и gdict, которые являются локальными и модульными словарями.

  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]]

Перевод автора: Су Франк


Больше информации