Python NumPyのhermite.hermval()で点xにおけるエルミート級数を評価する方法
エルミート級数を特定の点 x で評価したい場合、Python NumPy の numpy.polynomial.hermite.hermval() メソッドを使用します。本記事では、このメソッドの各パラメータの意味と、多次元の係数配列に対して tensor=False を指定してブロードキャスト評価を行う手順を、コード例とともにわかりやすく解説します。
hermval() メソッドのパラメータ
第1引数:x(評価する点)
x がリストやタプルとして渡された場合、自動的に ndarray に変換されます。それ以外の場合はそのまま変更されず、スカラーとして扱われます。いずれの場合も、x またはその要素は、自身同士および係数配列 c の要素との加算・乗算をサポートしている必要があります。
第2引数:c(係数配列)
c は次数 n の項の係数が c[n] に格納されるように並べられた係数の配列です。c が多次元である場合、残りのインデックスは複数の多項式を表します。特に2次元の場合、係数は c の「列」に格納されていると考えることができます。
第3引数:tensor(テンソル評価の切り替え)
tensor を True にすると、係数配列の形状は右側に1が追加されて拡張されます。追加される次元の数は x の次元数と同じです(スカラーの次元は0として扱われます)。その結果、c の各列の係数が x のすべての要素に対して個別に評価されます。一方、False を指定すると、x は評価時に c の列方向へブロードキャストされます。このキーワードは c が多次元の場合に特に有用で、デフォルト値は True です。
実装手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import hermite as H
次に、多次元の係数配列を作成します。
c = np.arange(4).reshape(2,2)
作成した配列を表示します。
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.hermval() メソッドを使って点 [1, 2] におけるエルミート級数を評価します。ここでは tensor=False を指定し、x を係数配列の列にブロードキャストしています。
print("\nResult...\n",H.hermval([1,2],c, tensor = False))完全なコード例
import numpy as np
from numpy.polynomial import hermite as H
# 多次元の係数配列を作成
c = np.arange(4).reshape(2,2)
# 配列を表示
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.hermval() で点xにおけるエルミート級数を評価
print("\nResult...\n",H.hermval([1,2],c, tensor = False))出力結果
Our Array... [[0 1] [2 3]] Dimensions of our Array... 2 Datatype of our Array object... int64 Shape of our Array object... (2, 2) Result... [ 4. 13.]
このように、tensor=False を指定することで、点 x = [1, 2] が係数配列 c の各列にブロードキャストされ、それぞれの列に対応するエルミート級数の値が一度に計算されます。結果として得られる [4., 13.] は、2つの多項式それぞれを x=1 と x=2 で評価した値に対応します。
-
NumPyのchebval()で係数列にブロードキャストされた点xのチェビシェフ級数を評価する方法
チェビシェフ級数を指定した点 x で評価するには、Python の NumPy が提供する chebyshev.chebval() メソッドを使用します。この記事では、各パラメータの意味と、多次元係数配列に対して tensor=False を指定して評価する具体的な手順を解説します。 chebval() メソッドのパラメータ 第1引数:x(評価する点) x がリストまたはタプルの場合は ndarray に変換され、それ以外の場合はそのままスカラーとして扱われます。どちらの場合でも、x またはその要素は、自身および係数配列 c の要素との加算・乗算をサポートしている必要があります。 第2引
-
Python NumPyのpolyvalfromroots()で根から多項式を評価する方法 ― tensor=Falseでxをrの列にブロードキャスト
根(解)で指定された多項式を任意の点 x で評価したい場合は、Python の NumPy が提供する polynomial.polyvalfromroots() メソッドを使用します。この記事では、各引数の意味と、tensor=False を指定した際に x が r の列にブロードキャストされる仕組みについて、具体的なコード例とともに解説します。polyvalfromroots() の主な引数第1引数:x評価を行う点を指定します。x がリストやタプルの場合は ndarray に変換され、それ以外の場合はそのままスカラーとして扱われます。どちらの場合でも、x(またはその要素)は自身および r