Python NumPyのherm2poly()でエルミート級数を多項式に変換する方法
エルミート級数を多項式に変換するには、PythonのNumPyが提供する hermite.herm2poly() メソッドを使用します。このメソッドは、低次から高次の順に並べられたエルミート級数の係数を格納した配列を受け取り、同じ内容を「標準」基底で表した等価な多項式の係数配列(こちらも低次から高次の順)へと変換します。
herm2poly()メソッドの基本
herm2poly() の戻り値は、低次項から高次項の順に並んだ、等価な多項式(「標準」基底)の係数を含む1次元配列です。
引数 c には、低次項から高次項の順に並べられたエルミート級数の係数を含む1次元配列を指定します。
なお、ここで扱うエルミート多項式とは、物理学や確率論などで用いられる直交多項式の一種です。NumPyでは numpy.polynomial.hermite モジュールとして実装されており、級数形式と通常の多項式形式を相互に変換できます。
変換の手順
ステップ1: 必要なライブラリをインポートする
import numpy as np from numpy.polynomial import hermite as H
ステップ2: numpy.array()で配列を作成する
c = np.array([1, 2, 3, 4, 5])
ステップ3: 配列を表示する
print("Our Array...\n",c)ステップ4: 次元を確認する
print("\nDimensions of our Array...\n",c.ndim)ステップ5: データ型を確認する
print("\nDatatype of our Array object...\n",c.dtype)ステップ6: 形状を確認する
print("\nShape of our Array object...\n",c.shape)ステップ7: herm2poly()でエルミート級数を多項式に変換する
print("\nResult (hermite to polynomial)...\n",H.herm2poly(c))完全なコード例
import numpy as np
from numpy.polynomial import hermite as H
# numpy.array()メソッドで配列を作成
c = np.array([1, 2, 3, 4, 5])
# 配列を表示
print("Our Array...\n",c)
# 次元を確認
print("\nDimensions of our Array...\n",c.ndim)
# データ型を取得
print("\nDatatype of our Array object...\n",c.dtype)
# 形状を取得
print("\nShape of our Array object...\n",c.shape)
# hermite.herm2poly()メソッドでエルミート級数を多項式に変換
print("\nResult (hermite to polynomial)...\n",H.herm2poly(c))実行結果
Our Array... [1 2 3 4 5] Dimensions of our Array... 1 Datatype of our Array object... int64 Shape of our Array object... (5,) Result (hermite to polynomial)... [ 55. -44. -228. 32. 80.]
このように、入力したエルミート級数の係数 [1, 2, 3, 4, 5] が、標準基底における多項式の係数 [55, -44, -228, 32, 80] へと正しく変換されていることがわかります。逆方向の変換を行いたい場合は、hermite.poly2herm() メソッドを使用してください。
-
【Python】NumPyのpolyder()メソッドで多項式を微分する方法
PythonのNumPyで多項式を微分するには、numpy.polynomial.polynomial.polyder()メソッドを使用します。このメソッドは、指定した軸(axis)に沿って多項式の係数cをm回微分した結果を返します。各反復処理のたびに結果はscl(スケーリング係数)で乗算され、これは変数の線形変換を行う際に役立ちます。 引数cは、各軸に沿って次数の低い順から高い順に並べられた係数の配列です。例えば、[1,2,3]は「1 + 2*x + 3*x**2」という多項式を表し、axis=0がx、axis=1がyの場合、[[1,2],[1,2]]は「1 + 1*x + 2*y + 2*
-
Python・NumPyで点xにおけるエルミート級数を評価する方法
PythonのNumPyライブラリでは、hermite.hermval() メソッドを使用することで、指定した点xにおけるエルミート級数を評価できます。本記事では、このメソッドのパラメータの詳細と、実際のコード例をわかりやすく解説します。hermite.hermval()メソッドのパラメータ第1引数: x評価を行う点を指定します。xがリストまたはタプルの場合はndarrayに変換され、それ以外の場合はスカラーとしてそのまま扱われます。いずれの場合も、xまたはその要素は、自身および係数cの要素との加算・乗算をサポートしている必要があります。第2引数: C係数の配列です。次数nの項に対応する係数が