2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

RubyAdvent Calendar 2022

Day 23

Rubyにこんな機能が欲しい

Last updated at Posted at 2022-12-22

Rubyを完全に理解した勢の@dosaidonです。さて、来年に向けてこんな機能がRubyに欲しいを二つほど書いてみました。

超多次元のデータ構造

RubyのArrayは異常に良くできている。複素数をサポートしているのも良い。一方で、1次元の列ベクトルと行ベクトル、2次元のマトリックス、3次元以上のテンソルとかの数値計算に必要なデータ構造とクラスの話が無いのが気になる。「たのしいRuby」は入門書のせいかもしれないが一次元のArray(列ベクトルでも行ベクトルでもないリスト)は出てくるが2次元以上のn次元のデータ構造の話がいくら読んでも出てこないので入れて欲しい。
さらに、超多次元のデータ構造にDataFrameのようなラベルでのアクセスがあるともっと嬉しい。なお、DataFrameは2次元の行列データに行ラベルと列ラベルが追加されたもので、まあエクセルの表みたいなデータ構造のこと。

2年4組
前期
行ラベル/列ラベル 算数 国語 理科 社会
青木一郎     99  85  95  70
佐藤二郎     69  87  85  55
山田三郎     99  85  93  -

2年4組
後期
行ラベル/列ラベル 算数 国語 理科 社会
青木一郎     99  78  95  70
佐藤二郎     69  58  70  64
山田三郎     99  69  93  80

データ構造があれば計算するクラスやメソッドは自分で作れるけど、基本的なデータ構造を作るのは難しい。

p seiseki_hyou["算数"]["青木一郎".."山田三郎"]["前期"]["2年4組"].average

科目、名前、クラス、前期後期の成績データがあるとして、こんなのが簡単に出来ると嬉しい。次元nはメモリが許す限り制限無しが良い。

マトリックスの並列計算

$x=\left( A^{T}\cdot A\right) ^{-1}A^{T}b$

こんなやつをGPU、CPUを沢山積んだMacを使いRubyのRactorで高速に解きたい。

以上、Rubyにこんな機能が欲しい二つでした。

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?