1

私は連続体の力学を扱ってきましたが、別のテンソルに関してテンソルの導関数を取得する必要がある多くの操作があります。私はそれを象徴的に、コンピューター上でやってみたいと思っています。

たとえば、弾性テンソル c = d(2nd PK stress) / d(strain tensor) ですが、2nd PK 応力テンソルとひずみテンソルはどちらも 3x3 行列であり、結果の弾性テンソルは 3x3x3x3 4 次テンソルです。

sympy を使用しようとしましたが、サポートされるのは行列 (次数 2 のテンソル) だけのようです。numpy の ndarray は単純に sympy ではありません。

以前は matlab を使用していましたが、matlab でも動作する方法を認識しています。

したがって、この目的で使用できるツールはありますか? Mathematica はそれを行うことができますか?

よろしくお願いします!

-ショーン

4

1 に答える 1

2

Python でこれを行う方法は、numpy 配列を使用しdtype=objectて、数値の代わりに sympy 式を入力できるようにすることです。ただし、すべての便利なメソッドを自分で作成する必要があります (ただし、numpy 配列に対して既に実装されている sympy 関数をループするだけで、非常に単純になります)。

必要なシンボリック パッケージをインストールすれば、これは明らかに Mathematica でも実行できます。また、Matlab でも実行できます。

Mathematica にはテンソル解析用のパッケージもありますが、あなたが説明している問題にはやり過ぎです。同じように、SymPy には微分幾何やテンソル解析のパッケージがいろいろありますが、やはりやり過ぎです。

于 2013-10-04T13:58:29.637 に答える