Python Numpy.linalg.norm() 함수
Minahil Noor
2023년1월30일
-
numpy.linalg.norm()
의 구문 -
예제 코드:
numpy.linalg.norm()
-
예제 코드: 2 차원 배열의 노름을 찾기위한
numpy.linalg.norm()
-
예제 코드:
axis
매개 변수를 사용하여 벡터 노름과 행렬 노름을 찾기위한numpy.linalg.norm()
-
예제 코드:
ord
매개 변수를 사용하는numpy.linalg.norm()
Python NumPy numpy.linalg.norm()
함수는 행렬 노름 또는 벡터 노름의 값을 찾습니다. . 매개 변수 ord
는 함수가 행렬 노름 또는 벡터 노름을 찾을 지 여부를 결정합니다. 몇 가지 정의 된 값이 있습니다.
numpy.linalg.norm()
의 구문
numpy.linalg.norm(x, ord=None, axis=None, keepdims=False)
매개 변수
x |
그것은 배열과 같은 구조입니다. 표준 값을 찾는 데 사용되는 입력 배열입니다. axis 매개 변수의 기본값은None 이므로ord 가None 이면 배열은 1 차원 또는 2 차원이어야합니다. |
ord |
함수의 반환 값은이 매개 변수에 따라 다릅니다. 그것은 규범의 순서를 정의합니다. 여러 값이 있습니다. 여기를 확인하세요. |
axis |
정수, None 또는 정수의 튜플2 개입니다. 정수이면 함수가 벡터 노름을 찾을 축을 나타냅니다. 기본값은 None 으로 함수가 행렬 노름 또는 벡터 노름을 찾습니다. 2 tuple 정수 값이면 함수는 행렬 노름 값을 반환합니다. |
keepdims |
부울 매개 변수입니다. 기본값은 False 입니다. 값이 True 이면 크기가 1 인 표준 축의 치수를 표시합니다. |
반환
float
값 또는 N 차원 배열의 형태로 행렬 또는 벡터의 놈을 반환합니다.
예제 코드: numpy.linalg.norm()
이 함수를 사용하여 1 차원 배열의 표준을 찾습니다.
from numpy import linalg as la
import numpy as np
x = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
norm = la.norm(x)
print("The value of norm is:")
print(norm)
출력:
The value of norm is:
257.4800963181426
norm
의 값인 float
값을 반환했습니다.
예제 코드: 2 차원 배열의 노름을 찾기위한numpy.linalg.norm()
이제 2 차원 배열을 전달합니다.
from numpy import linalg as la
import numpy as np
x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
norm = la.norm(x)
print("The value of norm is:")
print(norm)
출력:
The value of norm is:
129.35223229616102
ord
매개 변수를None
이 아닌 다른 값으로 설정하고 1 차원도 2 차원도 아닌 배열을 전달하면axis
매개 변수가None
이므로 함수는ValueError
를 생성합니다.
from numpy import linalg as la
import numpy as np
x = np.array([[[4, 2], [6, 4]], [[5, 8], [7, 3]]])
norm = la.norm(x, "nuc")
print("The value of norm is:")
print(norm)
출력:
Traceback (most recent call last):
File "C:\Test\test.py", line 6, in <module>
norm = la.norm(x,'nuc')
File "<__array_function__ internals>", line 5, in norm
File "D:\WinPython\WPy64-3820\python-3.8.2.amd64\lib\site-packages\numpy\linalg\linalg.py", line 2557, in norm
raise ValueError("Improper number of dimensions to norm.")
ValueError: Improper number of dimensions to norm.
예제 코드: axis
매개 변수를 사용하여 벡터 노름과 행렬 노름을 찾기위한numpy.linalg.norm()
먼저 벡터 노름을 찾을 것입니다.
from numpy import linalg as la
import numpy as np
x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
norm = la.norm(x, axis=0)
print("The vector norm is:")
print(norm)
출력:
The vector norm is:
[41.78516483 80.95060222 91.83136719]
이 함수는 계산 된 벡터 노름으로 N 차원 배열을 반환했습니다.
이제 행렬 노름을 계산합니다. axis
매개 변수를 정수 값의 2-tuple
로 전달합니다.
from numpy import linalg as la
import numpy as np
x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
norm = la.norm(x, axis=(0, 1))
print("The value of matrix norm is:")
print(norm)
출력:
The value of matrix norm is:
129.35223229616102
예제 코드: ord
매개 변수를 사용하는numpy.linalg.norm()
ord
매개 변수에는 여러 값이 있습니다.
from numpy import linalg as la
import numpy as np
x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
norm = la.norm(x, "fro")
print("The value of matrix norm is:")
print(norm)
출력:
The value of matrix norm is:
129.35223229616102
이 함수는Frobenius
행렬 표준의 값을 생성했습니다.
from numpy import linalg as la
import numpy as np
x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
norm = la.norm(x, "nuuc")
print("The value of matrix norm is:")
print(norm)
출력:
The value of matrix norm is:
152.28781231351272
이 함수는 행렬 표준을 생성했습니다. 특이 값의 합입니다.