2

配列変数を記号的に扱う方法があるかどうか疑問に思っています(sympyのようなものですが、数値変数ではなく配列用です)。次のような配列式を持つことができるように

f1 = 3*A[i] + 4*B[i][j] - 7 == 0

または、ネストされた配列関係など、さらに高度なもの

f2= 3 * A[C[i][j]] == B[i] + 3

A、B を記号的に扱うことで、substitution を使用して A、B の内容を変更できます。たとえば、次のようになります。

f1.subs(A=[1,2,3,4],B=[[1,2],[3,4]])

次に、f1 と f2 などを追加できます。

4

1 に答える 1

2

タグから判断すると、主に Python ソリューションに関心があると思われます。

配列式をシンボリックに構築するプロジェクトがいくつかあります。見ることをお勧めします

  • Theano - コード生成用の配列式を構築します。主に機械学習アプリケーションに使用されますが、かなり一般的なプロジェクトです。
  • SymPy 行列式- 行列に制限されていますが、線形代数に関する特別な知識の一部を処理します。
  • SymPy インデックス
  • Blaze - Continuum の人々から生まれた新しいプロジェクト。

Python を使いたくない場合は、Mathematica のxActを見ることができます 。

アプリケーションによっては、ここに挙げていないプロジェクトが他にもたくさんあります。記号線形代数は非常に活発な分野です。ただし、各プロジェクトは特定のアプリケーションを念頭に置いて設計される傾向があります。

于 2012-11-30T16:15:12.973 に答える