day2 - Numpy의 기능

‍김혜은·2022년 1월 8일
0

22winter_AI_bootcamp

목록 보기
7/15

- 영벡터 만들기 zeros

영벡터 : 원소가 모두 0인 행렬
np.zeros(2) >> 0벡터가 2개인 1차원 배열 생성

np.zeros((3,3)) >> 3x3의 0행렬 생성 (튜플 형태로 넣어야함)

일벡터 만들기 ones

일벡터 : 원소가 모두 1인 행렬
np.ones(2) >> 1벡터가 2개인 1차원 배열 생성
np.ones((3,3)) >> 3x3 1로 채워진 행렬 생성

대각 행렬 만들기 diag

대각행렬 (diagonal) : 대각성분을 제외한 원소가 모두 0인 행렬
np.diag((2,4)) >> 대각성분이 2,4인 대각행렬 생성

항등행렬 만들기 eye

항등행렬 (identity) : 대각 성분이 모두 1인 대각행렬
np.eye(2) >> 2x2 항등 행렬
np.eye(2, dtype = int) >> 2x2 항등 행렬 (data type이 int임)

행렬 곱 dot, @

행렬 x 행렬 (dot product)
mat1 = np.array([[1,2,3], [4,5,6]])
mat2 = np.array([[3,1],[0,2]])
mat1.dot(mat2) >> 메소드 dot
mat1 @ mat2 >> 연산자 @

트레이스 trace

trace : 대각 성분들의 합
np.trace()

위 행렬의 trace는 1 + 5 + 9 = 15

행렬식 np.linalg.det

행렬식 : determinant
np.linalg.det() >> linear allgebra + determinant
a.linalg.det() << 이렇게 쓰면 안됨
행렬식은 정방행렬만 구할 수 있다.

ab = np.array([[1,2],[3,4]])
np.linalg.det(ab)
-2.0000000000000004

역행렬 np.linalg.inv

역행렬 : inverse matrix
np.linalg.inv() 사용

고유값과 고유벡터 np.linalg.eig

고유값 (eigenvalue) : 특정 벡터와 방향이 같지만 크기가 다른 벡터에 대해 그 확장 비율(ratio)를 고유값(람다)라고 한다. 람다는 스칼라값이다.
고유벡터 (eigenvector) : spend 되는 영역을 고유벡터라고 한다.
np.linalg.eig(a)

profile
R=VD 다양한 도구를 갖춘 상태에서 다방면으로 문제를 인식하고 상황에 맞는 최적의 솔루션을 낼 수 있는 개발자

0개의 댓글

관련 채용 정보