Pythonを使ったユーザーサブルーチンの作成

MotionSolveのユーザーサブルーチンはPythonで記述することができます。これによりユーザーは、複雑な現象を強力な記述言語で表すことができます。

MotionSolve 2020より、インストールには、ActiveStateのPython 3.5が含まれています。これには、ユーザーのサブルーチンで使用される2つの主要なPythonパッケージ、NumPy(http://numpy.scipy.org/)と SciPy(http://scipy.org) が含まれます。

NumPyは、Pythonを用いた科学計算用の基本パッケージで、数ある中でも、下記を含みます:
  • 強力なN次元配列オブジェクト
  • 非常に高度な関数
  • C/C++およびFortranコードを統合するためのツール
  • 有益な線形代数、フーリエ変換、および乱数機能

これら明らかな科学技術用途に加え、NumPyは、汎用データの効率的な多次元コンテナとしても使用できます。代数データタイプを定義することが可能です。これにより、NumPyは広範なデータベースとシームレスかつスピーディに統合できます。NumPyはBSDライセンスのもとで認証されており、ほとんど制限なく再使用することが可能です。

SciPyは数学的アルゴリズムの集合体で、Python用のNumPy拡張機能上に構築されている便利な関数です。SciPyは、ユーザーにデータの操作と表示用の高度なコマンドとクラスを触れさせることで、インタラクティブなPythonセッションの多大なパワーを与えます。SciPyの使用により、Pythonは、MATLABなどのシステムに匹敵するデータ処理およびシステムプロトタイピング環境に形を変えます。

Python内でSciPyを使用することによる付加的な利点は、強力なプログラミング言語が高度なプログラムと特化されたアプリケーションの開発にも利用できる点です。SciPyで書かれた科学アプリケーションは、世界中の開発者により作成された非常に多くのドメイン内で追加のモジュールを開発することからの恩恵を受けます。ウェブとデータベースサブルーチンおよびクラスへの並行プログラミングからの全てを、ユーザーが使用できるようになり、全てSciPy内の数学的ライブラリに加えて利用できます。

これは、MotionSolveユーザーサブルーチン内で使用可能となっています。参照用として、Pythonユーザーサブルーチンのサンプルが、<installation_directory>\hwsolvers\motionsolve\usersub\py_srcに用意されています。