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

Python NumPy의 emath.arctanh()로 역쌍곡선 탄젠트(arctanh) 계산하기

Python에서 numpy.emath.arctanh() 메서드를 사용하면 역쌍곡선 탄젠트(inverse hyperbolic tangent)를 손쉽게 계산할 수 있습니다. 이 함수는 arctanh(x)의 주요값(principal value)을 반환합니다.

반환 결과는 입력값 x에 따라 달라집니다.

  • 실수 x이고 |x| < 1인 경우: 실수를 반환합니다.
  • |x| > 1이거나 x가 복소수인 경우: 복소수를 반환합니다.
  • x = 1이면 inf, x = -1이면 -inf를 반환합니다.

메서드는 입력된 x 값(또는 값들)에 대한 역쌍곡선 탄젠트를 반환합니다. x가 스칼라면 결과도 스칼라이며, 배열을 입력하면 배열이 반환됩니다. 첫 번째 매개변수는 arctanh 값을 구하고자 하는 대상 값입니다.

단계별 진행

1. 필요한 라이브러리 임포트

먼저 NumPy 라이브러리를 임포트합니다.

import numpy as np

2. NumPy 배열 생성

array() 메서드를 사용해 배열을 만듭니다. 여기서는 실수 0과 허수 1j, 2j를 포함한 배열을 생성합니다.

arr = np.array([0, 1j, 2j])

3. 배열 출력 및 정보 확인

생성한 배열과 자료형(dtype), 차원(ndim), 요소 개수(size)를 확인할 수 있습니다.

print("Array...\n", arr)
print("\nOur Array type...\n", arr.dtype)
print("\nOur Array Dimensions...\n", arr.ndim)
print("\nNumber of elements...\n", arr.size)

4. 역쌍곡선 탄젠트 계산

numpy.emath.arctanh() 메서드를 호출하여 각 요소의 역쌍곡선 탄젠트를 계산합니다.

print("\nResult...\n", np.emath.arctanh(arr))

전체 예제 코드

import numpy as np

# array() 메서드로 NumPy 배열 생성
arr = np.array([0, 1j, 2j])

# 배열 출력
print("Array...\n", arr)

# 배열의 자료형 확인
print("\nOur Array type...\n", arr.dtype)

# 배열의 차원 확인
print("\nOur Array Dimensions...\n", arr.ndim)

# 배열의 요소 개수 확인
print("\nNumber of elements...\n", arr.size)

# numpy.emath.arctanh()로 역쌍곡선 탄젠트 계산
print("\nResult...\n", np.emath.arctanh(arr))

실행 결과

Array...
[0.+0.j 0.+1.j 0.+2.j]

Our Array type...
complex128

Our Array Dimensions...
1

Number of elements...
3

Result...
[0.+0.j 0.+0.78539816j 0.+1.10714872j]

실행 결과를 보면 실수 0은 실수 0으로, 허수 1j와 2j는 각각 복소수 형태의 역쌍곡선 탄젠트 값으로 변환된 것을 확인할 수 있습니다. 이처럼 numpy.emath.arctanh()는 입력 범위에 따라 자동으로 실수 또는 복소수 결과를 처리해 주기 때문에 일반적인 np.arctanh()보다 유연하게 활용할 수 있습니다.