Python TypeError: unsupported operand type(s) for +: 'complex' and 'builtin_function_or_method'の解消法

実現したいこと

Pythonで複素数同士の掛け算を実現したい

発生している問題・分からないこと

振幅と位相からcmath.rectという関数で複素数を計算し,複素数の掛け算を実行しようとするとエラーが発生する.複素数の掛け算は*でいいはずなのですが,cmath.rectという関数を使って,さらに計算をすることがいけないのでしょうか?

エラーメッセージ

error

1TypeError: unsupported operand type(s) for *: 'complex' and 'builtin_function_or_method'

該当のソースコード

h1 = cmath.rect(f1[i],p1[i]) h1_conj = cmath.rect(f2[i],p2[i]).conjugate h2 = cmath.rect(f1[i],p1[i]) h2_conj = cmath.rect(f1[i],p1[i]).conjugate A += h1 * h1_conj B += h1 * h1_conj C += h2 * h2_conj

試したこと・調べたこと

上記の詳細・結果

TypeError: unsupported operand type(s) for *: 'complex' and 'builtin_function_or_method'のエラーコードで類似の問題が発生している人を探したが,見当たらなかった.
掛け算以外にも,h1 * h1_conjの演算子を+にして,足し算等でも実行してみたが,同様のエラーが発生した.

補足

特になし

コメントを投稿

0 コメント