1

内積は次の方法で見つけることができることを理解しています。

>>> vector1 = (2,3,5)
>>> vector2 = (3,4,6)
>>> sum(p*q for p,q in zip(vector1, vector2))
48

しかし、私はタプルの内積を見つけようとしています:

>>> vector3 = ((2,2),(3,3),(5,5))
>>> vector4 = ((3,3),(4,4),(6,6))

numpy を使用せずにこれを行う方法。

のようなステートメントを使用することはできませんsum(p*q for p,q in zip(vector3, vector4))か?

同じことをしようとすると、次のようなエラーが発生したためです。

>>> vector3 = ((2,2),(3,3),(5,5))
>>> vector4 = ((3,3),(4,4),(6,6))
>>> sum(p*q for p,q in zip(vector3, vector4))

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    sum(p*q for p,q in zip(vector1, vector2))
  File "<pyshell#5>", line 1, in <genexpr>
    sum(p*q for p,q in zip(vector3, vector4))
TypeError: can't multiply sequence by non-int of type 'tuple'
>>> 

これを解決するには?

4

2 に答える 2