Python의 과학 컴퓨팅을위한 기본 패키지 인 Numpy는 선형 대수 작업에 광범위하게 사용됩니다. 다차원 배열 객체를 제공하고 이러한 배열에서 작동 할 방대한 수준의 수준의 수학적 함수 모음을 제공합니다. 다음은 선형 대수에 Numpy를 사용하는 몇 가지 주요 방법입니다.
np.array()
함수를 사용하여 행렬을 만들 수 있습니다. 예를 들어, A = np.array([[1, 2], [3, 4]])
2x2 행렬을 만듭니다.C = AB
또는 D = A @ B
( @
연산자 사용)입니다.A_transpose = AT
과 같은 .T
사용하여 행렬을 전환 할 수 있습니다.np.dot()
함수는 두 배열의 도트 제품을 계산하는 반면 np.inner()
내부 제품을 계산합니다.np.linalg.norm()
사용하여 벡터 규범을 계산할 수 있습니다. 예를 들어, norm_of_vector = np.linalg.norm(vector)
입니다.np.add()
, np.subtract()
, np.multiply()
및 np.divide()
와 같은 함수를 사용하여 요소 별 작업을 지원합니다.Numpy는 이러한 기능을 활용하여 효율적이고 강력한 선형 대수 작업을 용이하게하여 과학 계산 및 데이터 분석을위한 필수 도구입니다.
Numpy는 numpy.linalg
모듈의 일부인 선형 방정식 시스템을 해결하기위한 여러 기능을 제공합니다. 특정 기능은 다음과 같습니다.
선형 방정식 해결 : 함수 np.linalg.solve(a, b)
는 알 수없는 x
의 선형 시스템 a * x = b
를 해결합니다. 여기서 a
정사각형 행렬이어야하며 b
벡터 또는 행렬 일 수 있습니다.
<code class="python">import numpy as np a = np.array([[3, 1], [1, 2]]) b = np.array([9, 8]) x = np.linalg.solve(a, b)</code>
최소 제곱 문제 해결 : 과도하게 결정된 시스템의 경우 np.linalg.lstsq(a, b)
사용하여 최소 제곱 솔루션을 찾을 수 있습니다.
<code class="python">import numpy as np a = np.array([[1, 2], [4, 5], [7, 8]]) b = np.array([3, 6, 9]) x, residuals, rank, s = np.linalg.lstsq(a, b, rcond=None)</code>
QR 분해로 선형 최소 제곱 해결 : 함수 np.linalg.lstsq()
내부적으로 QR 분해를 사용합니다. 또는 np.linalg.qr()
사용하여 QR 분해를 수동으로 수행하고 시스템을 해결할 수 있습니다.
<code class="python">import numpy as np a = np.array([[1, 2], [4, 5], [7, 8]]) b = np.array([3, 6, 9]) q, r = np.linalg.qr(a) x = np.linalg.solve(r, qT @ b)</code>
이러한 기능은 잘 정립 된 문제에서 과도한 정해진 문제에 이르기까지 다양한 종류의 선형 시스템을 다루는 것이 편리합니다.
EigenValue Decomposition은 선형 대수의 핵심 개념이며 Numpy는 np.linalg.eig()
함수를 사용 하여이 작업을 수행하는 것이 간단하게 만듭니다. 이 함수는 사각형 매트릭스의 고유 값과 고유 벡터를 계산합니다.
사용 방법은 다음과 같습니다.
고유 값 분해 수행 : np.linalg.eig(matrix)
사용하여 분해를 수행하십시오.
<code class="python">import numpy as np A = np.array([[1, -2], [2, -3]]) eigenvalues, eigenvectors = np.linalg.eig(A)</code>
이것은 두 개의 배열을 반환합니다. 고유 값을 포함하는 eigenvalues
값 및 해당 고유 벡터를 포함하는 eigenvectors
.
eigenvalues
배열에는 대각선의 고유 값이 포함되어 있으며 eigenvectors
어레이에는 고유 벡터가 열로 고유 한 벡터를 포함합니다. 원래 행렬 재구성 : 공식 A = V * D * V^-1
사용하여 고유 값 및 고유 벡터를 사용하여 원래 행렬을 재구성 할 수 있습니다. 여기서 V
는 고유 벡터의 행렬이고 D
고유 값의 대각선 행렬입니다.
<code class="python">import numpy as np A_reconstructed = eigenvectors @ np.diag(eigenvalues) @ np.linalg.inv(eigenvectors)</code>
고유 값 분해는 안정성 분석, 미분 방정식 및 신호 처리를 포함한 다양한 응용 분해에 필수적입니다.
예, Numpy는 선형 대수 및 그 응용 분야에서 결정적인 결정 요인 및 역전을 계산하기위한 효율적인 기능을 제공합니다.
결정 요인 계산 : 함수 np.linalg.det(matrix)
사각형 행렬의 결정 요인을 계산합니다.
<code class="python">import numpy as np A = np.array([[1, 2], [3, 4]]) det_A = np.linalg.det(A)</code>
이것은 행렬 A
의 결정 요인을 계산합니다. 결정 요인은 정사각형 행렬에 대해서만 정의됩니다.
매트릭스 역전 계산 : 함수 np.linalg.inv(matrix)
사각형 행렬의 역수를 계산합니다.
<code class="python">import numpy as np A = np.array([[1, 2], [3, 4]]) A_inv = np.linalg.inv(A)</code>
이것은 행렬 A
의 역수를 반환합니다. 매트릭스는 정사각형이어야하며 비 소싱이어야합니다 (즉, 결정 요인은 0이 아닌 사람이어야합니다).
이 기능 모두 성능에 최적화되어 있으며 일반적으로 과학 컴퓨팅에 사용됩니다. 그들은 효율적인 알고리즘을 활용하여 정확하고 빠른 계산을 보장하여 Numpy를 결정 요인 및 역전과 관련된 선형 대수 작업을위한 훌륭한 도구로 만듭니다.
위 내용은 선형 대수 작업에 Numpy를 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!