Eyes, JAPAN Blog > complex型を考えてみる

complex型を考えてみる

Shoma Saito

この記事は1年以上前に書かれたもので、内容が古い可能性がありますのでご注意ください。

こんにちは。アルバイトの齋藤です!

今回は少しcomplex型について挙げていきたいと思います

 

complex型とは?

文字通り、複素数型のことです

Golangを例にすると、標準で32bitまたは64bitの浮動小数値を実部と虚部で持つ、complex64とcomplex128という型が標準で用意されています

 

なぜcomplex型に注目するのか

普段、アルバイトでSwiftを書くことが多いのですが、Swiftには標準で複素数をサポートしていなかったのですm(__)m

自分は最近数学にハマっていて、何かしら可視化しようと思ったときに、complex型を作るしかなく、果たしてcomplex型はフロントエンド側で使われるものなのか疑問に思ったんですね

 

標準でサポートされている言語とは?

自分で調べた限りなので他にも存在しているかも知れませんが代表的なものを挙げると、

Golang、C、C++、Python、Perl、Haskell、Ruby

などがありました

個人的には、Swiftがあってもいんじゃないか…とは思ってますが、どちらかというとこれらの言語は

主にサーバーサイドで使われるような言語なのでは?

と思ってきました

 

Swiftで実装するべきか否か

単純にPlaygroundとかで遊ぶ分には実装してもいいとは思いますが、iOSアプリとして考えた場合、どうなんでしょうね…?

線形代数的に考えて、何かしらのUIViewとかCALayerとかのアフィン変換するには使えそうです

でもそのようなアニメーションがあるアプリはSpriteKitとかを使った2Dゲーム以外にあるのか疑問です(SpriteKitで回転するには、SKAction.rotateByAngleなどを使うとよさそうです)

 

結局は

complex型をバリバリ使ってます!というサービスとかアプリはあんまりないのかもしれませんね

よっぽど変わった人が、ある関数を可視化や可聴化するために使う時はありますが、、、

詳しくはないのですが、機械学習などの分野でも虚数は使われてないと思いますし、、、

 

もしバリバリ使っているものがあれば教えて下さい!!!

One response to “complex型を考えてみる”

  1. Yuki Ito says:

    競技プログラミングでは二次元の点(x, y)を表すために、complexを使うことがありますね
    演算も便利にできますし。