Pythonでの複素数の使用[終了]


111

私は数学の初心者です。今、私はPythonのデータ型に深く入り込んでいます。複素数の使い方がわかりません。Pythonでの複素数の使用例を教えてください。


1
あなたは数学に不慣れだと言いますが、やりたいことを数学表記で書けますか?
mmmmmm 2011

14
これは閉鎖されるべきではなかったと思います。また、Pythonが数学、統計、Rなどで一般的な直感的な 'i'構文よりも、エンジニアリングで一般的な 'j'虚数構文を使用していることも混乱しました。
Mittenchops 2013年

Pythonでの合法的なdocbugはhelp(complex)、例を示さないようです。help(10進数) `
smci

回答:


188

Pythonでは、数字の後に「j」または「J」を付けて想像上のものにすることができるため、複雑なリテラルを簡単に記述できます。

>>> 1j
1j
>>> 1J
1j
>>> 1j * 1j
(-1+0j)

「j」という接尾辞は、変数「i」が通常電流に使用される電気工学から来ています。(ここに理由が見つかりました。

複素数の型はcomplexであり、必要に応じて型をコンストラクタとして使用できます。

>>> complex(2,3)
(2+3j)

複素数には、いくつかの組み込みアクセサーがあります。

>>> z = 2+3j
>>> z.real
2.0
>>> z.imag
3.0
>>> z.conjugate()
(2-3j)

いくつかの組み込み関数は複素数をサポートします:

>>> abs(3 + 4j)
5.0
>>> pow(3 + 4j, 2)
(-7+24j)

標準モジュールにcmathは、複素数を処理するより多くの関数があります。

>>> import cmath
>>> cmath.sin(2 + 3j)
(9.15449914691143-4.168906959966565j)

8
「i」は、数学者、物理学者、およびほぼすべての他の科学者によっても使用されます。それでも十分に混乱しない場合、「i」を使用して1の「正」の平方根を表す一方、「j」は1の「負」の平方根を表します。したがって、i == -jです。FYJ ...
jvriesem 2016

13

複素数の次の例は、最後にエラーメッセージを含めて自明である必要があります

>>> x=complex(1,2)
>>> print x
(1+2j)
>>> y=complex(3,4)
>>> print y
(3+4j)
>>> z=x+y
>>> print x
(1+2j)
>>> print z
(4+6j)
>>> z=x*y
>>> print z
(-5+10j)
>>> z=x/y
>>> print z
(0.44+0.08j)
>>> print x.conjugate()
(1-2j)
>>> print x.imag
2.0
>>> print x.real
1.0
>>> print x>y

Traceback (most recent call last):
  File "<pyshell#149>", line 1, in <module>
    print x>y
TypeError: no ordering relation is defined for complex numbers
>>> print x==y
False
>>> 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.