開発
complex型を考えてみる
Shoma Saito
こんにちは。アルバイトの齋藤です!
今回は少し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型をバリバリ使ってます!というサービスとかアプリはあんまりないのかもしれませんね
よっぽど変わった人が、ある関数を可視化や可聴化するために使う時はありますが、、、
詳しくはないのですが、機械学習などの分野でも虚数は使われてないと思いますし、、、
もしバリバリ使っているものがあれば教えて下さい!!!
競技プログラミングでは二次元の点(x, y)を表すために、complexを使うことがありますね
演算も便利にできますし。