Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 복소수 계수로 르장드르 급수의 근 계산하기

Python에서 르장드르(Legendre) 급수의 근을 계산하려면 numpy.polynomial 모듈의 legendre.legroots() 메서드를 사용하면 됩니다. 이 메서드는 급수의 근들을 배열 형태로 반환하며, 모든 근이 실수라면 결과도 실수 배열로, 하나라도 허수가 포함되어 있다면 복소수 배열로 반환됩니다. 매개변수 c는 급수의 계수를 담고 있는 1차원 배열입니다.

처리 순서

먼저 필요한 라이브러리를 임포트합니다.

from numpy.polynomial import legendre as L

복소수 허용 단위 j를 정의한 뒤, (-j, j)를 계수로 갖는 르장드르 급수의 근을 계산합니다.

j = complex(0,1)
print("Result...\n",L.legroots((-j, j)))

결과 배열의 데이터 타입(dtype)을 확인합니다.

print("\nType...\n",L.legroots((-j, j)).dtype)

결과 배열의 형태(shape)를 확인합니다.

print("\nShape...\n",L.legroots((-j, j)).shape)

전체 예제 코드

from numpy.polynomial import legendre as L

# 르장드르 급수의 근을 계산하려면 polynomial.legendre.legroots() 메서드를 사용합니다.
# 이 메서드는 급수의 근들로 이루어진 배열을 반환하며,
# 모든 근이 실수이면 결과도 실수, 그렇지 않으면 복소수입니다.

# 매개변수 c는 계수를 담은 1차원 배열입니다.
j = complex(0,1)
print("Result...\n",L.legroots((-j, j)))

# 데이터 타입 확인
print("\nType...\n",L.legroots((-j, j)).dtype)

# 형태(shape) 확인
print("\nShape...\n",L.legroots((-j, j)).shape)

실행 결과

Result...
    [1.+0.j]

Type...
complex128

Shape...
(1,)

결과 해석

계수가 (-j, j)인 르장드르 급수의 근은 [1.+0.j], 즉 실수부가 1이고 허수부가 0인 복소수 값입니다. 입력 계수에 허수가 포함되어 있기 때문에 결과 배열의 데이터 타입은 complex128로 지정되며, 근이 하나이므로 배열의 형태는 (1,)입니다. 만약 모든 계수가 실수였다면 반환되는 배열 역시 실수형(float)이 되었을 것입니다.