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

Python에서 복잡한 점 배열을 사용하여 체비쇼프 다항식의 Vandermonde 행렬 생성

<시간/>

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

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

단계

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

numpy를 np로 가져오기from numpy.polynomial 가져오기 chebyshev를 C로

배열 생성 -

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

배열 표시 -

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

치수 확인 -

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

데이터 유형 가져오기 -

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

모양 가져오기 -

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

Chebyshev 다항식의 Vandermonde 행렬을 생성하려면 chebyshev.chebvander() -

print("\n결과...\n",C.chebvander(x, 2))

예시

 numpy를 np로 가져오기 from numpy.polynomial 가져오기 chebyshev를 C#으로 생성 arrayx =np.array([-2.+2.j, -1.+2.j, 0.+2.j, 1.+2 .j, 2.+2.j])# 배열을 표시합니다.print("우리의 배열...\n",x)# Dimensionsprint를 확인합니다("\n차원의 배열...\n",x.ndim) # Get Datatypeprint("\nDatatype of our Array object...\n",x.dtype)# Get Shapeprint("\nShape of our Array object...\n",x.shape)# Chebyshev 다항식의 Vandermonde 행렬, Python Numpy에서 chebyshev.chebvander() 사용# 이 메서드는 Vandermonde 행렬을 반환합니다. 반환된 행렬의 모양은 x.shape + (deg + 1,)입니다. 여기서 마지막 인덱스는 해당 Chebyshev 다항식의 차수입니다. dtype은 변환된 x와 동일합니다.# 매개변수 a는 점의 배열입니다. 복잡한 요소가 있는지 여부에 따라 dtype이 float64 또는 complex128로 변환됩니다. x가 스칼라이면 1차원 배열로 변환됩니다.# 매개변수 deg는 결과 행렬의 차수입니다.print("\nResult...\n",C.chebvander(x, 2))

출력

우리의 배열...[-2.+2.j -1.+2.j 0.+2.j 1.+2.j 2.+2.j]우리 배열의 차원...1데이터 유형 배열 객체의...complex128배열 객체의 모양...(5,)결과...[[ 1. +0.j -2. +2.j -1.-16.j][ 1. +0.j -1. +2.j -7. -8.j][ 1. +0.j 0. +2.j -9. +0.j][ 1. +0.j 1. +2.j -7. +8.j][ 1. +0.j 2. +2.j -1.+16.j]]