Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 Laguerre 다항식의 Pseudo Vandermonde 행렬과 점의 x, y 배열 생성

<시간/>

Laguerre 다항식의 의사 Vandermonde 행렬을 생성하려면 Python Numpy에서 thelaguerre.lagvander2d()를 사용합니다. 이 메서드는 의사 Vandermonde 행렬을 반환합니다. 반환된 행렬의 모양은 x.shape + (deg + 1,)입니다. 여기서 마지막 인덱스는 해당하는 Laguerre 다항식의 차수입니다. dtype은 변환된 x와 동일합니다.

매개변수 x, y는 포인트 배열을 반환합니다. 복잡한 요소가 있는지 여부에 따라 dtype이 float64 또는 complex128로 변환됩니다. x가 스칼라이면 1차원 배열로 변환됩니다. 매개변수 deg는 [x_deg, y_deg] 형식의 최대 각도 목록입니다.

단계

먼저 필요한 라이브러리를 가져옵니다 -

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

numpy.array() 메서드를 사용하여 동일한 모양의 점 좌표 배열을 만듭니다. -

x = np.array([1, 2])
y = np.array([3, 4])

배열 표시 -

print("Array1...\n",x)
print("\nArray2...\n",y)

데이터 유형 표시 -

print("\nArray1 datatype...\n",x.dtype)
print("\nArray2 datatype...\n",y.dtype)

두 배열의 차원을 확인하십시오 -

print("\nDimensions of Array1...\n",x.ndim)
print("\nDimensions of Array2...\n",y.ndim)

두 배열의 모양을 확인하십시오 -

print("\nShape of Array1...\n",x.shape)
print("\nShape of Array2...\n",y.shape)

Laguerre 다항식의 의사 Vandermonde 행렬을 생성하려면 Python Numpy에서 laguerre.lagvander2d() 사용 -

x_deg, y_deg = 2, 3
print("\nResult...\n",L.lagvander2d(x,y, [x_deg, y_deg]))

예시

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

# Create arrays of point coordinates, all of the same shape using the numpy.array() method
x = np.array([1, 2])
y = np.array([3, 4])

# Display the arrays
print("Array1...\n",x)
print("\nArray2...\n",y)

# Display the datatype
print("\nArray1 datatype...\n",x.dtype)
print("\nArray2 datatype...\n",y.dtype)


# Check the Dimensions of both the array
print("\nDimensions of Array1...\n",x.ndim)
print("\nDimensions of Array2...\n",y.ndim)

# Check the Shape of both the array
print("\nShape of Array1...\n",x.shape)
print("\nShape of Array2...\n",y.shape)

# To generate a pseudo Vandermonde matrix of the Laguerre polynomial, use the laguerre.lagvander2d() in Python Numpy

x_deg, y_deg = 2, 3
print("\nResult...\n",L.lagvander2d(x,y, [x_deg, y_deg]))

출력

Array1...
   [1 2]

Array2...
   [3 4]

Array1 datatype...
int64

Array2 datatype...
int64

Dimensions of Array1...
1

Dimensions of Array2...
1

Shape of Array1...
(2,)

Shape of Array2...
(2,)

Result...
   [[ 1. -2.        -0.5 1.          0.   -0.
     -0. 0.         -0.5 1.          0.25 -0.5 ]
   [ 1. -3.          1.  2.33333333 -1.     3.
    -1. -2.33333333 -1.  3.         -1.    -2.33333333]]