이번 글에서는 복소수(Complex Number)에 적용할 수 있는 acos() 함수에 대해 알아보겠습니다. C++에서 복소수는 <complex> 헤더 파일을 포함하여 사용할 수 있으며, 이 헤더 안에는 복소수 전용 acos() 함수도 함께 정의되어 있습니다.
일반적으로 사용하는 acos() 함수가 실수의 아크코사인(역코사인)을 계산한다면, 복소수 버전은 복소수의 역코사인 값을 반환합니다. 즉, 입력 매개변수로 복소수를 받고, 그 결과로 해당 복소수의 아크코사인을 복소수 형태로 출력합니다.
복소수 acos() 함수의 기본 동작
이 함수의 원형은 다음과 같이 템플릿으로 정의되어 있습니다.
template<class T> complex<T> acos(const complex<T>& z);
매개변수로 전달된 복소수 z의 역코사인을 계산하며, 결과값의 실수부는 [0, π] 범위 내에 위치합니다.
예제 코드
다음 예제를 통해 복소수에 대한 acos() 함수의 사용 방법과 출력 결과를 확인해 보겠습니다.
코드
#include<iostream>
#include<complex>
using namespace std;
main() {
complex<double> c1(5, 2);
// 복소수에 대한 acos() 함수 호출
cout << "The acos() of " << c1 << " is " << acos(c1);
}실행 결과
The acos() of (5,2) is (0.386565,-2.37055)
결과 해석
위 예제에서 실수부 5, 허수부 2를 가지는 복소수 (5, 2)를 입력으로 주었더니, acos() 함수는 실수부 약 0.386565, 허수부 약 -2.37055인 복소수를 결과로 반환했습니다. 이처럼 복소수 연산의 결과 역시 하나의 복소수로 나타나는 것을 확인할 수 있습니다.
정리
C++의 <complex> 헤더에 포함된 acos() 함수를 활용하면 별도의 수학적 구현 없이 복소수의 역코사인을 간편하게 계산할 수 있습니다. 복소수 삼각 함수가 필요한 신호 처리, 공학 계산 등의 분야에서 유용하게 활용됩니다.