넘파이 행렬 분배법칙
넘파이 행렬 분배법칙¶ 분배법칙 설명¶ 행렬의 곱셉에서 행렬의 순서가 바뀌면 연살 결과가 달라지거나 연산이 되지 않는다. 즉, 교환법칙은 성립하지 않는다. AB != BA 하지만 덧셈에 대한 분배법칙은 성립한다. A(B + C) = AB + AC (A + B)C = AC + BC 넘파이를 활용한 분배법칙 적용¶ In [1]: import numpy as np a = np.array([[2, 2], [3, 3]]) b = np.array([[4, 4], [5, 5]]) c = np.array([[6, 6], [7, 7]]) In [2]: # AB != BA a@b == b@a Out[2]: array([[False, False], [False, False]]) In [4]: # A(B + C) = AB +..
2023. 8. 15.
파이썬 엘레먼트 와이즈 및 브로드케스팅 연산
파이썬 엘레먼트 와이즈 및 브로드케스팅 연산¶ element-wise 연산 : 두 벡터 혹은 행렬에서 같은 위치에 있는 값끼리 덧셈 혹은 뺄셈을 하는 연산입니다. In [1]: import numpy as np # 벡터 element-wise 연산 a = np.array([78, 79, 34, 31, 20]) b = np.array([2, 1, 6, 9, 10]) a+b, a-b Out[1]: (array([80, 80, 40, 40, 30]), array([76, 78, 28, 22, 10])) In [2]: # 행렬 element-wise 연산 a = np.array([[15, 15, 15], [18, 18, 18], [15, 15, 15]]) b = np.array([[5, 5, 5], [2, 2,..
2023. 8. 13.
넘파이 내적 (inner product)
넘파이 내적 (inner product)¶ In [1]: # 예시 행렬 생성 import numpy as np # 4 X 3 a = np.array([[3, 3, 3], [2, 2, 2], [5, 5, 5], [3, 3, 3]]) # 3 X 2 b = np.array([[2, 2], [3, 3], [5, 5]]) np.dot 혹은 @ 를 이용하여 파이썬에서 내적을 할 수 있다. In [2]: np.dot(a, b) Out[2]: array([[30, 30], [20, 20], [50, 50], [30, 30]]) In [3]: a@b Out[3]: array([[30, 30], [20, 20], [50, 50], [30, 30]]) In [4]: # 조건이 맞지 않으면 에러를 반환합니다 # 4 X 3 a..
2023. 8. 13.
파이썬 넘파이 대각행렬(diagonal matrix), 항등행렬(identity matrix). np.diag, np.identity, np.eye
파이썬 넘파이 대각행렬(diagonal matrix), 항등행렬(identity matrix).¶ In [1]: import numpy as np In [2]: # diagonal matrix np.diag([4,2,6,3,6]) Out[2]: array([[4, 0, 0, 0, 0], [0, 2, 0, 0, 0], [0, 0, 6, 0, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 6]]) In [3]: #identity matrix np.identity(5) Out[3]: array([[1., 0., 0., 0., 0.], [0., 1., 0., 0., 0.], [0., 0., 1., 0., 0.], [0., 0., 0., 1., 0.], [0., 0., 0., 0., 1.]]) In..
2023. 8. 13.