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

Python NumPyのlagtrim()を使ってラゲール多項式の小さな末尾係数を削除する方法

ラゲール多項式から小さな末尾の係数を削除するには、PythonのNumPyに用意されているlaguerre.lagtrim()メソッドを使用します。このメソッドは、末尾の不要な係数(ゼロなど)を取り除いた1次元配列を返します。もし処理の結果として級数が空になってしまう場合は、単一のゼロのみを含む級数が返されます。

ここでいう「小さい」とは「絶対値が小さい」という意味であり、その基準はパラメータtolによって制御されます。また「末尾(trailing)」とは最高次数側の係数を指します。例えば、[0, 1, 1, 0, 0](これは 0 + x + x² + 0x³ + 0x⁴ を表します)という配列の場合、3次と4次の係数が「トリミング(削除)」の対象となります。

主なパラメータは以下の通りです。

  • c: 係数を格納した1次元配列。低次から高次の順に並べます。
  • tol: 絶対値がこの値以下である末尾の要素が削除されます。

実行手順

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

import numpy as np
from numpy.polynomial import laguerre as L

numpy.array()メソッドを使って配列を作成します。これが係数の1次元配列になります。

c = np.array([0,5,0, 0,9,0])

作成した配列を表示します。

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)

ラゲール多項式から小さな末尾の係数を削除するために、laguerre.lagtrim()メソッドを呼び出します。

print("\nResult...\n",L.lagtrim(c))

サンプルコード

import numpy as np
from numpy.polynomial import laguerre as L

# numpy.array()メソッドで配列を作成
# これが係数の1次元配列になる
c = np.array([0,5,0, 0,9,0])

# 配列を表示
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)

# lagtrim()メソッドで小さな末尾係数を削除
print("\nResult...\n",L.lagtrim(c))

実行結果

Our Array...
    [0 5 0 0 9 0]

Dimensions of our Array...
1

Datatype of our Array object...
int64

Shape of our Array object...
(6,)

Result...
    [0. 5. 0. 0. 9.]

実行結果を見ると、入力配列 [0, 5, 0, 0, 9, 0] の末尾にあるゼロ(最高次数の係数)が削除され、[0. 5. 0. 0. 9.] という配列が返されていることがわかります。なお、戻り値のデータ型は浮動小数点数(float)になっている点にも注意してください。

  1. Python NumPyのpolyval()メソッドで点xにおける多項式を評価する方法

    PythonのNumPyライブラリでは、polynomial.polyval()メソッドを使うことで、指定した点xにおいて多項式を簡単に評価できます。この記事では、polyval()の各パラメータの意味と、実際のコード例を使った使い方を詳しく解説します。polyval()メソッドのパラメータ第1引数: x多項式を評価する対象となる点です。リストやタプルを渡した場合はndarrayに変換され、それ以外の場合はスカラーとしてそのまま扱われます。いずれの場合も、xまたはその要素が、自身および係数cの要素との間で加算・乗算をサポートしている必要があります。第2引数: c多項式の係数を格納した配列です。

  2. Pythonでソート済み配列から重複要素を削除する方法

    ここでは、ソート済みのリストから重複する要素をすべて削除し、その後の配列の長さ(ユニークな要素の個数)を返す問題を扱います。重要な制約として、O(1)の追加メモリで実行する必要があります。つまり、新しい配列を作成せずに、元の配列をインプレース(in-place)で操作しなければなりません。問題の例例えば、次のような入力が与えられたとします。A = [1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5, 5, 6]この場合、重複を除いたユニークな要素は「1, 2, 3, 4, 5, 6」の6つなので、出力は 6 となります。解法のアプローチこの問題は、以下の手順で解くことができ