Python에서 배열 입력의 요소별 제곱(element-wise square)을 반환하려면 numpy.square() 메서드를 사용합니다. 이 메서드는 입력 x에 대해 x*x 연산을 수행한 결과를 반환하며, 결과는 입력과 동일한 shape과 dtype을 가집니다. 만약 x가 스칼라라면 결과 역시 스칼라가 됩니다.
numpy.square()의 주요 매개변수
첫 번째 매개변수 x는 제곱을 계산할 입력 데이터입니다.
두 번째 매개변수 out은 결과가 저장될 위치입니다. 이 값을 지정하면 입력들이 브로드캐스팅될 수 있는 shape이어야 하며, 지정하지 않거나 None으로 두면 새로 할당된 배열이 반환됩니다. 튜플 형태로 전달할 경우(키워드 인자로만 가능) 길이는 출력의 개수와 같아야 합니다.
세 번째 매개변수 where는 입력 전체에 브로드캐스팅되는 조건입니다. 조건이 True인 위치에는 ufunc의 결과가 out 배열에 저장되고, 그 외의 위치에서는 out 배열이 원래 값을 유지합니다. 단, 기본값인 out=None으로 초기화되지 않은 배열이 생성된 경우, 조건이 False인 위치의 값은 초기화되지 않은 상태로 남게 됩니다.
구현 단계
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np
array() 메서드를 사용하여 NumPy 배열을 생성하고, 복소수 타입의 요소들을 추가합니다.
arr = np.array([[3 + 4j, 5 + 7j], [2 + 6j, -2j]])
생성된 배열을 화면에 출력합니다.
print("Our Array...\n", arr)배열의 차원을 확인합니다.
print("\nDimensions of our Array...\n", arr.ndim)배열 객체의 데이터 타입을 확인합니다.
print("\nDatatype of our Array object...\n", arr.dtype)numpy.square() 메서드를 사용하여 배열 입력의 요소별 제곱을 반환합니다.
print("\nResult...\n", np.square(arr))전체 예제 코드
import numpy as np
# array() 메서드로 NumPy 배열 생성
# 복소수 타입의 요소 추가
arr = np.array([[3 + 4j, 5 + 7j], [2 + 6j, -2j]])
# 배열 출력
print("Our Array...\n", arr)
# 차원 확인
print("\nDimensions of our Array...\n", arr.ndim)
# 데이터 타입 확인
print("\nDatatype of our Array object...\n", arr.dtype)
# numpy.square()로 요소별 제곱 계산
print("\nResult...\n", np.square(arr))실행 결과
Our Array... [[ 3.+4.j 5.+7.j] [ 2.+6.j -0.-2.j]] Dimensions of our Array... 2 Datatype of our Array object... complex128 Result... [[ -7.+24.j -24.+70.j] [-32.+24.j -4. +0.j]]
실행 결과를 보면 복소수 각 요소의 제곱이 올바르게 계산된 것을 확인할 수 있습니다. 예를 들어 (3+4j)² = 9 + 24j - 16 = -7+24j처럼 실수부와 허수부가 모두 포함된 복소수 형태로 결과가 반환됩니다.