Python
 Computer >> コンピューター >  >> プログラミング >> Python

NumPyのchebval()で係数列にブロードキャストされた点xのチェビシェフ級数を評価する方法

チェビシェフ級数を指定した点 x で評価するには、Python の NumPy が提供する chebyshev.chebval() メソッドを使用します。この記事では、各パラメータの意味と、多次元係数配列に対して tensor=False を指定して評価する具体的な手順を解説します。

chebval() メソッドのパラメータ

第1引数:x(評価する点)

x がリストまたはタプルの場合は ndarray に変換され、それ以外の場合はそのままスカラーとして扱われます。どちらの場合でも、x またはその要素は、自身および係数配列 c の要素との加算・乗算をサポートしている必要があります。

第2引数:c(係数の配列)

c は、次数 n の項に対応する係数が c[n] に格納されるよう並べられた係数配列です。c が多次元である場合、残りのインデックスは複数の多項式を表します。特に2次元の場合、係数は c のに格納されていると考えることができます。

第3引数:tensor(テンソル展開の有無)

tensor を True にすると、係数配列の形状が x の各次元に応じて右側に1を追加して拡張されます(スカラーは次元0として扱われます)。その結果、c のすべての係数列が x のすべての要素に対して評価されます。一方、False を指定すると、評価時に x が c の列方向へブロードキャストされます。このキーワードは、c が多次元の場合に特に有用です。デフォルト値は True です。

実行手順

まず、必要なライブラリをインポートします。

import numpy as np
from numpy.polynomial import chebyshev as C

次に、係数用の多次元配列を作成します。

c = np.arange(6).reshape(3,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)

最後に、chebyshev.chebval() メソッドを使って、点 x=[1, 2] におけるチェビシェフ級数を評価します。ここでは tensor=False を指定し、x を係数配列の列方向にブロードキャストしています。

print("\nResult (chebval)...\n",C.chebval([1,2],c,tensor=False))

サンプルコード全体

import numpy as np
from numpy.polynomial import chebyshev as C

# 係数用の多次元配列を作成
c = np.arange(6).reshape(3,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)

# chebval()で点x=[1,2]のチェビシェフ級数を評価(tensor=Falseでブロードキャスト)
print("\nResult (chebval)...\n",C.chebval([1,2],c,tensor=False))

実行結果

Our Array...
    [[0 1]
    [2 3]
    [4 5]]

Dimensions of our Array...
2

Datatype of our Array object...
int64

Shape of our Array object...
(3, 2)

Result (chebval)...
    [ 6. 42.]

このように、tensor=False を指定することで、評価点 x が係数配列 c の列方向にブロードキャストされ、各列ごとにチェビシェフ級数の値が効率的に計算されます。

  1. Python NumPyのchebval()で点xにおけるチェビシェフ級数を評価し、tensor引数で係数配列の形状を拡張する方法

    PythonのNumPyライブラリを使用して、指定した点 x におけるチェビシェフ級数を評価するには、numpy.polynomial.chebyshev モジュールの chebval() メソッドを利用します。この記事では、chebval() の各パラメータの意味と、特に tensor 引数による係数配列の形状拡張の挙動について、具体的なコード例とともに解説します。 chebval()メソッドのパラメータ 第1引数:x(評価する点) チェビシェフ級数を評価する対象となる点です。x がリストやタプルとして渡された場合、自動的にndarrayに変換されます。それ以外の場合はスカラーとしてその

  2. Python NumPyのpolyvalfromroots()で根から多項式を評価する方法 ― tensor=Falseでxをrの列にブロードキャスト

    根(解)で指定された多項式を任意の点 x で評価したい場合は、Python の NumPy が提供する polynomial.polyvalfromroots() メソッドを使用します。この記事では、各引数の意味と、tensor=False を指定した際に x が r の列にブロードキャストされる仕組みについて、具体的なコード例とともに解説します。polyvalfromroots() の主な引数第1引数:x評価を行う点を指定します。x がリストやタプルの場合は ndarray に変換され、それ以外の場合はそのままスカラーとして扱われます。どちらの場合でも、x(またはその要素)は自身および r