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

Python에서 복잡한 점 배열을 사용하여 르장드르 다항식의 방데르몽드 행렬 생성

<시간/>

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

매개변수 x는 포인트 배열을 반환합니다. 복잡한 요소가 있는지 여부에 따라 dtype이 float64 또는 complex128로 변환됩니다. x가 스칼라이면 1차원 배열로 변환됩니다. 매개변수 deg는 결과 행렬의 차수입니다.

단계

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

numpy를 np로 가져오기 from numpy.polynomial 가져오기 범례를 L로

배열 생성 -

x =np.array([-2.+2.j, -1.+2.j, 0.+2.j, 1.+2.j, 2.+2.j]) 

배열 표시 -

print("우리 배열...\n",c)

치수 확인 -

print("\n배열의 차원...\n",c.ndim)

데이터 유형 가져오기 -

print("\n배열 개체의 데이터 유형...\n",c.dtype)

모양 가져오기 -

print("\n배열 개체의 모양...\n",c.shape)

르장드르 다항식의 의사 Vandermonde 행렬을 생성하려면 Python에서 polynomial.legvander() 메서드를 사용하십시오 -

print("\n결과...\n",L.legvander(x, 2))

예시

numpy를 np로 가져오기 from numpy.polynomial import legendre as L# 배열 생성x =np.array([-2.+2.j, -1.+2.j, 0.+2.j, 1.+ 2.j, 2.+2.j])# Display the arrayprint("Our Array...\n",x)# Check the Dimensionsprint("\nDimensions of our Array...\n",x.ndim )# Get Datatypeprint("\n배열 개체의 데이터 유형...\n",x.dtype)# Get Shapeprint("\n배열 개체의 모양...\n",x.shape)# 생성하려면 르장드르 다항식의 의사 Vandermonde 행렬은 Python Numpyprint("\nResult...\n",L.legvander(x, 2))에서 polynomial.legvander() 메서드를 사용합니다.

출력

우리의 배열... [-2.+2.j -1.+2.j 0.+2.j 1.+2.j 2.+2.j]우리 배열의 차원...1Datatype 배열 객체의...complex128배열 객체의 모양...(5,)결과... [[ 1. +0.j -2. +2.j -0.5-12.j] [ 1. +0.j -1. +2.j -5. -6.j] [ 1. +0.j 0. +2.j -6.5 +0.j] [ 1. +0.j 1. +2.j -5. +6.j] [ 1. +0.j 2. +2.j -0.5+12.j]]