4
집중하다
1076
수행원

파이썬 -- numpy 행렬 연산

만든 날짜: 2017-01-12 12:47:58, 업데이트 날짜:
comments   0
hits   4036

파이썬 – numpy 행렬 연산

참고: NumPy는 Numarray의 후계자이며 NumArray의 대용으로 사용된다. SAGE는 NumPy와 다른 여러 도구들을 기반으로 통합된 수학 소프트웨어 패키지이며, 마그마, Maple, Mathematica, Matlab과 같은 도구를 대체하는 것을 목표로 한다. 오늘은 NumPy에 대한 소개를 찾아서 NumPy 역행렬을 사용해보려고 했는데, 중국어 자료를 찾을 수 없었고, 포럼에서 어떤 누리꾼이 어떻게 Python로 행렬 역행렬을 할 수 있는지 물어보았는데, 아무도 대답하지 않았다. 그래서 NumPy의 공식 문서를 찾아서, 그 중 작은 섹션이 행렬 객체에 대한 소개를 담고 있어서, 그 부분을 중국어로 번역해서 조금 작은 기여를 했다. 시간이 짧아서, 철자 오류를 확인하지 못했는데, 문제가 있었다. 죄송합니다.

  • #### 1 , 매트릭스 (Matrix) 객체

매트릭스 타입은 ndarray 타입의 후계자이며, 따라서 ndarray의 모든 데이터 속성과 방법을 포함하고 있다. 매트릭스 타입과 ndarray 타입에는 여섯 가지 중요한 차이점이 있다. 매트릭스 객체로서 arrays를 동작시키면, 이러한 차이점은 예상치 못한 결과를 초래한다.

    1. 매트릭스 객체는 Matlab 스타일의 문자열을 사용하여 만들 수 있습니다. 즉, 빈 공간으로 분리 된 열과 분호로 분리 된 문자열입니다.
    1. 매트릭스 객체는 항상 2차원이다. 이것은 m.ravel () 의 반환 값이 2차원이고, 구성원이 선택한 반환 값도 2차원이며, 따라서 서열의 행동은 array와 본질적으로 다릅니다.
    1. matrix 타입의 곱셈은 array의 곱셈을 덮고, matrix의 곱셈 연산을 사용한다. matrix의 반환값을 수신할 때, 이러한 함수의 의미를 이해했음을 확인한다. 특히, 사실 함수asanyarray(m) 는 m가 matrix이라면 하나의 matrix을 반환한다.
    1. 매트릭스 타입의 연산도 이전 연산, 즉 매트릭스의 을 사용한다. 이 사실에 따라, 다시 상기시켜 주자면, 만약 매트릭스의 을 arguments로 사용한다면, 위의 것과 동일하게asanarray ((…) 를 호출한다.
    1. 행렬의 기본 array_priority는 10.0이므로 ndarray와 matrix 객체를 혼합한 연산은 항상 행렬을 반환한다.
    1. 행렬에는 계산을 더 쉽게 하는 몇 가지 특수한 속성이 있다.
    • (a) .T – 자기 변환으로 돌아갑니다

    • (b) .H – 자기 자기 공전전환으로 돌아갑니다.

    • © .I – 자기 역행렬로 돌아갑니다.

    • (d) .A – 자신의 데이터를 반환하는 2차원 배열의 한 뷰 (((어떤 복사본도 만들지 않습니다)

    매트릭스 클래스는 ndarray의 Python 하위 클래스이며, 이 구현을 학습하여 자신의 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 ) 매트릭스 (matrix) 로 변환한다. dtype가 None인 경우, 데이터 타입은 데이터의 내용에 의해 결정된다. copy가 True인 경우, 데이터의 데이터를 복사한다. 그렇지 않으면 원래의 데이터 버퍼가 사용된다. 데이터의 버퍼 영역이 발견되지 않은 경우, 물론 데이터의 복사도 이루어진다. Mat 매트릭스의 다른 이름입니다. Asmatrix(data, dtype=None) 복사되지 않은 데이터를 반환한다. matrix ((data, dtype, copy=False) 에 해당한다. Bmat(obj, ldict=None, gdict=None) 문자열, 嵌入式序列 또는 array을 사용하여 매트릭스를 구성한다. 이 명령어는 다른 객체로부터 매트릭스를 구축하는 것을 허용한다. obj가 문자열일 때만 argumentsldict와 gdict를 사용한다. 이 두개의 arguments는 로컬과 모듈의 사전이다. 만약 당신이 그것들을 제공하지 않는다면, 그것들은 시스템에서 제공될 것이다.

  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