複素数型

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

複素数型 (: complex data type) とは、いくつかのプログラミング言語において標準で用意されているデータ型の1つで、複素数の表現および演算を取り扱うものである。


複素数演算[編集]

複素数型の変数や値は通常、2つの浮動小数点数によって表される。複素数型をサポートする言語では通常、そのような値を表記するための特別な記法を用意し、また算術演算子 ('+', '−', '×', '/') を複素数を扱えるように拡張する。これらは通常、コンパイラによってFPU命令の列やライブラリ呼び出しに翻訳される。言語によっては、文字列変換、等価比較などの操作をサポートすることもある。数学と同様、言語によってはしばしば、浮動小数点数を虚部が0の複素数型と等価であるものと解釈する。

実装[編集]

  • FORTRANCOMPLEX
  • C言語では、C99 標準ライブラリヘッダの <complex.h> に複素数演算に必要なデータ型や関数の定義が含まれる。
  • C++ 標準ライブラリには、complex クラステンプレートと複素関数<complex> ヘッダに含まれる。
  • Go言語では組み込み型に complex64 (実部、虚部ともに32ビット単精度型) と complex128 (実部、虚部ともに64ビット倍精度型) がある。
  • Perl はコアモジュールの Math::Complex で複素数をサポートする。
  • Python は組み込みの complex 型で複素数をサポートする。虚数リテラルは数値の最後に j と付けることで表す。複素関数は標準ライブラリモジュールの cmath で提供される。 [1]
  • Ruby は標準ライブラリモジュール complex に含まれる Complex クラスで複素数をサポートする。
  • OCaml は標準ライブラリモジュールの Complex を通して複素数をサポートする。
  • Haskell は標準ライブラリモジュールの Data.Complex (以前は Complex) を通して複素数をサポートする。
  • Java では、Apache Commons Math に含まれる Complex クラスを通して複素数をサポートする。
  • Common Lisp: ANSI 標準では成分が浮動小数点数か任意長整数からなる複素数をサポートする。基本的な数学関数は、適用可能な限りにおいて、複素数においても定義される。例えば -1 の平方根は複素数となる。
 ? (sqrt -1)
#C(0 1)            ; the result of (sqrt -1)
  • Scheme: 複素数と複素関数 (例: sin) は言語仕様に含まれている。これは R5RS ではオプションだったが、R6RS では実装が必須となっている。
  • .NET Framework では、バージョン 4.0 より System.Numerics.Complex で提供される。

歴史[編集]

COMPLEX 型は FORTRAN IVより導入された。[2]


参照[編集]

  1. ^ Python v2.6.5 documentation
  2. ^ A guide to Fortran IV programming Daniel D. McCracken - 1972 - 288 pages. "The capability provided by Fortran complex operations is a great savings in programming effort in certain problems. "