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

Python NumPyのpolytrim()で多項式の小さな末尾の係数を削除する方法


多項式から小さな末尾の係数を削除するには、Python NumPyのpolynomial.polytrim()メソッドを使用します。このメソッドは、末尾のゼロを削除した1次元配列を返します。結果として得られる級数が空になる場合は、単一のゼロを含む級数が返されます。

ここでいう「小さい」とは「絶対値が小さい」ことを意味し、パラメータtolによって制御されます。「末尾」とは最高次の係数を指します。例えば、[0, 1, 1, 0, 0](0 + x + x**2 + 0*x**3 + 0*x**4 を表す配列)の場合、3次と4次の係数の両方が「トリミング(削除)」されます。パラメータcは、低次から高次の順に並べられた係数の1次元配列です。パラメータtolを指定すると、絶対値がtol以下の末尾(最高次)の要素が削除されます。

手順

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

import numpy as np
from numpy.polynomial import polyutils as pu

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)

多項式から小さな末尾の係数を削除するには、Python NumPyのpolynomial.polytrim()メソッドを使用します。このメソッドは、末尾のゼロを削除した1次元配列を返します。結果として得られる級数が空になる場合は、単一のゼロを含む級数が返されます。

print("\nResult...\n",pu.trimcoef((c)))

サンプルコード

import numpy as np
from numpy.polynomial import polyutils as pu

# 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)

# 多項式から小さな末尾の係数を削除するには、
# Python NumPyのpolynomial.polytrim()メソッドを使用
print("\nResult...\n",pu.trimcoef((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.]

  1. Python NumPyのpolyder()で特定の軸に沿って多項式を微分する方法

    PythonのNumPyでは、polynomial.polyder()メソッドを使うことで多項式を微分できます。このメソッドは、指定した軸(axis)に沿って多項式の係数cをm回微分した結果を返します。各反復処理のたびに、結果はscl(スケーリング係数)と掛け合わされます。このスケーリング係数は、変数の線形変換を行う際に使用されます。polyder()メソッドの引数について係数配列cは、各軸に沿って次数の低いものから高いものへと並べられます。例えば、[1,2,3]は「1 + 2*x + 3*x**2」という多項式を表し、[[1,2],[1,2]]はaxis=0がx、axis=1がyである場合、

  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 となります。解法のアプローチこの問題は、以下の手順で解くことができ