더북(TheBook)

이 수식은 말로 표현하면 “요소별로 q와 c를 곱한 것을 모두 더한다.”입니다. 이보다 더 축약하면 수량과 단가 곱의 총합이라고 할 수 있겠네요. 이 책에서 다루는 수준에서는 이를 점곱의 동의어로 사용하겠습니다.

자, NumPy를 이용한 코드를 좌변에 써 보고, 수식을 우변에 써 보았습니다.

 

이를 때로는 qc로 줄여서 쓰기도 합니다. 점곱을 사용한다는 것을 강조하고 여러분이 기억할 수 있게 하는 차원에서 q•c처럼 점곱의 기호로 점(•)을 쓰겠습니다. 요소별 계산을 편하게 구현하려면 파이썬의 zip 함수를 사용해 보세요. 여러 개의 시퀀스에 들어 있는 값을 순서대로 함께 처리하는 데 유용합니다.

 

In [13]:

for q_i, c_i in zip(quantity, costs):
    print("{:2d} {:5.2f} --> {:5.2f}".format(q_i, c_i, q_i * c_i))

print("Total:",
    sum(q*c for q,c in zip(quantity,costs)))
 2  12.50 --> 25.00
12   0.50 --> 6.00
 3   1.75 --> 5.25
Total: 36.25

 

보통은 NumPy의 np.dot으로 점곱을 쉽게 사용할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.