선형 대수학에서 배열(행렬)의 행렬식(determinant)을 계산하려면 Python NumPy에서 제공하는 np.linalg.det() 함수를 사용하면 됩니다. 이 함수의 첫 번째 매개변수 a는 행렬식을 계산할 입력 배열이며, 함수는 계산된 행렬식 값을 반환합니다.
행렬식이란?
행렬식은 정사각형 행렬에 대해 정의되는 스칼라 값으로, 해당 행렬이 나타내는 선형 변환이 공간의 부피를 얼마나 확대 또는 축소하는지를 나타냅니다. 행렬식이 0이면 역행렬이 존재하지 않는다는 의미이므로, 연립 방정식 풀이나 역행렬 계산 등 다양한 수학적 문제에서 중요한 역할을 합니다.
단계별 진행 과정
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np
배열을 생성합니다.
arr = np.array([[ 5, 10], [12, 18]])
배열을 화면에 출력합니다.
print("Our Array...\n",arr)배열의 차원(ndim)을 확인합니다.
print("\nDimensions of our Array...\n",arr.ndim)배열의 데이터 타입(dtype)을 확인합니다.
print("\nDatatype of our Array object...\n",arr.dtype)배열의 형태(shape)를 확인합니다.
print("\nShape of our Array object...\n",arr.shape)NumPy의 np.linalg.det() 함수를 사용하여 배열의 행렬식을 계산합니다.
print("\nResult (determinant)...\n",np.linalg.det(arr))전체 예제 코드
import numpy as np
# 배열 생성
arr = np.array([[ 5, 10], [12, 18]])
# 배열 출력
print("Our Array...\n",arr)
# 차원 확인
print("\nDimensions of our Array...\n",arr.ndim)
# 데이터 타입 확인
print("\nDatatype of our Array object...\n",arr.dtype)
# 형태 확인
print("\nShape of our Array object...\n",arr.shape)
# np.linalg.det()를 사용하여 행렬식 계산
print("\nResult (determinant)...\n",np.linalg.det(arr))실행 결과
Our Array... [[ 5 10] [12 18]] Dimensions of our Array... 2 Datatype of our Array object... int64 Shape of our Array object... (2, 2) Result (determinant)... -30.000000000000014
참고 사항
실행 결과가 정확히 -30이 아닌 -30.000000000000014로 표시된 것을 확인할 수 있습니다. 이는 컴퓨터가 실수를 부동 소수점 방식으로 처리하기 때문에 발생하는 미세한 오차입니다. 필요하다면 round() 함수나 numpy.round()를 사용하여 결과를 반올림할 수 있습니다. 또한 np.linalg.det()는 항상 실수(float) 타입의 값을 반환한다는 점도 기억해 두면 좋습니다.