FC2ブログ

サラリーマンのすらすらIT日記

IT関連を中心とした日々を綴ります。
2012/03/21

Rubyは標準で複素数も扱える

「Ruby Way」を読んでいると、複素数の話題が載っていました。Rubyでは複素数が使えるんですね。

Fortranは科学技術計算用に作られたものなので、標準で複素数が扱えます。他の言語はあまり知りませんが、複素数を扱えない言語の方が多いかと思います。PHPはこちらによると、PEARで使えるようです。

「Ruby Way」に載っているのを参考にやってみました。


#!/usr/local/bin/ruby
#
require 'complex' #(1)

a = 3+2.im #(2)
b = 5-7*Complex::I #(3)
p a*b #(4) (29-11i)

c = Math::sqrt(1.im) #(5)
p c #(6) (0.7071067811865476+0.7071067811865476i)

d = Math::log(1.im) #(7)
p d #(8) (0.0+1.5707963267948966i)

(1)複素数を使うには、complexをrequireします。
(2)虚数部はimメソッドで簡単に書けます。
(3)虚数単位はComplex::Iで指定できます。
(4)複素数の掛け算もOK。(29-11i)と表示されます。この表記は数学と同じですがカッコがつきます。
(5)複素数のルートは...
(6)計算できています。
(7)複素数の対数関数は、本当は多価関数ですが...
(8)Rubyでは主値を返します。

私の場合、Rubyで複素数を使うことはないと思いますが(他の言語でも使わないだろう)、備忘録のために書いておきました。

スポンサーサイト



コメント

コメントの投稿

  • URL
  • コメント
  • パスワード
  • 秘密
  • 管理者にだけ表示を許可する

トラックバック

トラックバックURL:http://sookibizviz.blog81.fc2.com/tb.php/1141-ce52b395

■  カレンダー

07 | 2020/08 | 09
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

■  プロフィール

sookibizviz

Author:sookibizviz
仕事の内容やソフトの紹介を交えながら、日々の悪戦苦闘を綴っていきます。

■  最新記事

■  最新コメント

■  最新トラックバック

■  月別アーカイブ

■  カテゴリ

未分類 (64)
BizViz (24)
IT (1119)
計量 (76)
環境 (26)
数学 (181)
ニュース (46)
本 (187)
音楽 (113)
囲碁 (5)
将棋 (26)
ブログ (14)
日記 (19)

■  FC2カウンター

■  検索フォーム

■  RSSリンクの表示

■  QRコード

QRコード