Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで複素数の平方根を求める方法【cmathライブラリの使い方】

Pythonで複素数の平方根を求めるには?

Pythonでは、cmathライブラリを使うことで複素数の平方根を簡単に求めることができます。cmathは「complex mathematics(複素数学)」の略で、複素数を扱うためのPython標準ライブラリです。

通常のmathモジュールは負の数の平方根を計算しようとするとエラー(ValueError)が発生しますが、cmathモジュールなら負の数や複素数に対しても正しく平方根を計算できます。そのため、複素数を含む数学的な処理を行う際にはcmathが便利です。

基本的な使い方

cmathモジュールからsqrt関数をインポートして使用します。以下に、複素数 0.2 + 0.5j の平方根を求める具体例を示します。

サンプルコード

from cmath import sqrt

a = 0.2 + 0.5j
print(sqrt(a))

実行結果

(0.6076662244659689+0.4114100635092987j)

このように、虚部を持つ複素数 0.2 + 0.5j の平方根が、実部と虚部からなる別の複素数として出力されます。戻り値は常に複素数型(complex)になる点に注意してください。

負の数の平方根も計算できる

cmathのもう一つの利点は、負の実数の平方根も問題なく扱えることです。たとえば -1 の平方根は虚数単位 i(Pythonでは j と表記)ですが、mathモジュールではエラーになります。

import cmath

print(cmath.sqrt(-1))   # 実行結果: 1j
print(cmath.sqrt(-4))   # 実行結果: 2j

このように、cmathライブラリを使えば複素数・負の数を含む平方根の計算をシンプルなコードで実現できます。科学技術計算や信号処理など、複素数を扱う場面でぜひ活用してください。

  1. Pythonで数の2乗が2つの数の積と等しくなるトリプレットの総数を求める方法

    問題の概要 2つの整数配列 nums1 と nums2 が与えられたとき、次の2つのルールを満たすトリプレット (i, j, k) の総数を求めることを考えます。 型1: nums1[i]^2 = nums2[j] × nums2[k] を満たすトリプレット。ただし 0 ≤ i < len(nums1)、かつ 0 ≤ j < k < len(nums2) 型2: nums2[i]^2 = nums1[j] × nums1[k] を満たすトリプレット。ただし 0 ≤ i < len(nums2)、かつ 0 ≤ j < k < len(nums1) 例として

  2. Excelで数値の平方根を求める3つの方法【SQRT・POWER・指数演算子】

    Microsoft Excelは、複雑な計算を効率的に行える強力なツールです。Excelを日常的に使っている方なら、数学的な計算処理に触れる機会も多いのではないでしょうか。しかし、意外とシンプルな計算でつまずくこともあります。その代表例が「平方根の計算」です。この記事では、Excelで数値の平方根を求める3つの方法をわかりやすく解説します。 Excelで平方根を計算する基本 SQRT関数、POWER関数、そして指数演算子(^)を使えば、Excelで簡単に平方根を計算できます。それぞれの特徴と使い方を順番に見ていきましょう。 1. SQRT関数を使って平方根を求める SQRT関数は、Excelに