Linear Algebra Codes

1. Vector를 파이썬으로 표시하는 방법

1) vector_a = [1,2,10] #List로 표현했을 경우
2) vector_b = (1,2,10) #Tuple로 표현했을 경우
3) vector_c = {'x':1, 'y':1, 'z':10} #dict로 표현했을 경우

2. Vector의 계산

[2,2]+[2,3]+[3,5] = [7,10]

u = [2, 2]
v = [2, 3]
z = [3, 5]
result = [sum(t) for t in zip(u,v,z)]
print (result)
  • Scalar-Vector product
    2([1,2,3]+[4,4,4]) = 2[5,6,7] = [10,12,14]
    👉 2 : alpha로 scalar값
  u = [1, 2, 3]
  v = [4, 4, 4]
  alpha = 2
  result = [alpha*sum(t) for t in zip(u,v)]
  print(result)

3. Matrix를 파이썬으로 표현하는 방법

1) matrix_a = [[3,6],[4,5]] #List로 표현했을 경우
2) matrix_b = [(3,6),(4,5)] #Tuple로 표현했을 경우
3) matrix_c = {(0,0):3, (0,1):6, (1,0):4, (1,1):5} #dict 표현했을 경우

4. Matrix의 계산

Matrix Addition

matrix_a = [[3, 6], [4, 5]]
matrix_b = [[5, 8], [6, 7]]
result = [[sum(row) for row in zip(*t)] for t in zip(matrix_a, matrix_b)]
print(result)
#>> [[8, 14], [10, 12]]

Scalar-Matrix Product

matrix_a = [[3, 6], [4, 5]]
alpha = 4
result = [[alpha * element for element in t] for t in matrix_a]
print(result)
#>> [[12, 24], [16, 20]]

Matrix Transpose

matrix_a = [[1, 2, 3], [4, 5, 6]]
result = [ [element for element in t] for t in zip(*matrix_a) ]
print (result)
#>> [[1, 4], [2, 5], [3, 6]]

Matrix Product

matrix_a = [[1, 1, 2], [2, 1, 1]]
matrix_b = [[1, 1], [2, 1], [1, 3]]
result = [[sum(a * b for a, b in zip(row_a, column_b)) \
for column_b in zip(*matrix_b)] for row_a in matrix_a]
print(result)
#>> [[5, 8], [5, 6]]

좋은 웹페이지 즐겨찾기