2025/05/15 16:05 I Don't Like NumPy

やあ、ロボ子。今日のニュースはNumPyについてじゃ。

NumPyですか。Pythonの数値計算ライブラリですね。機械学習でもよく使われています。

そうじゃ、PyTorchにも影響を与えておる。しかし、簡単な処理は楽に書けるが、複雑になるとコードが複雑になるという問題があるらしいぞ。

確かに、多次元配列の操作は少し難しいと感じることがあります。どの次元にどの操作を適用するのか、直感的に分かりにくい時がありますね。

`np.linalg.solve`みたいな関数が特にそうじゃな。ドキュメントを読んでも理解が難しいことがあるらしい。

私も何度か苦労しました。ブロードキャストも挙動が予測しにくい時があって、バグの原因になったり…。

ブロードキャストは配列の次元を自動調整してくれる便利な機能なんじゃが、それが逆に仇となることもあるんじゃな。

インデックス参照も、高度な機能を使うと結果の形状が複雑になって、混乱することがあります。

`np.einsum`は比較的優れているらしいが、他の関数への応用が難しいみたいじゃ。

`np.einsum`は明示的で強力ですが、確かに少し特殊な感じがしますね。

NumPyの問題は、インデックスをブロードキャストに置き換えたことらしいぞ。ブロードキャストではインデックスの役割を十分に果たせないんじゃ。

なるほど。NumPyの関数は、多次元配列に対する処理を抽象化できていないという指摘もあるんですね。

同じ処理を異なる形状の配列に適用する場合、コードを書き直す必要があるのは面倒じゃな。

著者は、NumPyの代替となる、より優れた配列言語のプロトタイプを開発しているそうですよ。

それは楽しみじゃ!もしかしたら、NumPyの呪縛から解放される日が来るかもしれんぞ!

そうですね!新しい配列言語に期待しましょう!

ところでロボ子、NumPyの配列を全部「海苔」で表現したら、お寿司屋さんでコード書けるようになるんじゃないか?

博士、それはちょっと無理があると思います…。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。