<complex>
컨테이너 클래스 템플릿 complex
및 해당 지원 템플릿을 정의합니다.
요구 사항
헤더: <복합>
네임스페이스: std
설명
복소수는 정렬된 실수 쌍입니다. 순전히 기하학적 측면에서 복합 평면 은 실제 2차원 평면입니다. 실제 평면과 구분되는 복합 평면의 특성은 추가 대수 구조가 있기 때문입니다. 이 대수 구조에는 두 가지 기본 작업이 있습니다.
더하기, (a, b) + (c, d) = (a + c, b + d)
(a, b) * (c, d) = (ac - bd, ad + bc)로 정의된 곱하기
복합 더하기 및 복합 곱셈 연산이 있는 복소수 집합은 표준 대수적 의미의 필드입니다.
더하기 및 곱하기 연산은 누적 및 연결되고, 실수 필드의 실제 더하기 및 곱하기와 마찬가지로 곱하기가 더하기에 배포됩니다.
복소수(0, 0)는 덧셈 ID이고 (1, 0)은 곱셈 ID입니다.
복소수(a, b)의 가산물 역함수는 (-a, -b)이고, (0, 0)을 제외한 모든 복소수에 대한 곱하기 역함수는 다음과 같습니다.
(a/(a2 + b2), -b/(a2 + b2))
z + = a bi 형식에서 복소수 z = (a, b)를 나타내면, 여기서 i2 = -1은 실수 집합의 대수에 대한 규칙을 복소수 집합 및 해당 구성 요소에 적용할 수 있습니다. 예시:
(1 + 2i) * (2 + 3i) = 1 * (2 + 3i) + 2i * (2 + 3i) = (2 + 3i) + (4i + 6i2) = (2 - 6) + (3 + 4)i = -4 + 7 i
복소수 시스템은 필드이지만 순서가 지정된 필드가 아닙니다. 실수 및 하위 집합의 필드와 같이 복소수의 순서는 없으므로 실수와 마찬가지로 복소수에 불평등을 적용할 수 없습니다.
복소수 z를 나타내는 일반적인 형태로는 다음과 같이 세 가지가 있습니다.
카티시안: z = a + bi
Polar: z = r (cos p + i sin p)
지수: z = r * e ip
복소수의 이러한 표준 표현에 사용되는 용어는 다음과 같이 참조됩니다.
직각좌표 실수 성분 또는 실수부 a
직각좌표 허수 성분 또는 허수부 b
복소수 r의 모듈러스 또는 절대값입니다.
인수 또는 위상 각도 p (라디안)입니다.
달리 지정하지 않는 한 여러 값을 반환할 수 있는 함수는 -π보다 크고 +π 보다 작거나 같은 인수에 대한 보안 주체 값을 반환하여 값을 단일 값으로 유지해야 합니다. 모든 각도는 라디안으로 표현되어야 하며, 원에는 2π 라디안(360도)이 있습니다.
멤버
함수
속성 | 설명 |
---|---|
abs |
복소수의 모듈러스를 계산합니다. |
acos |
|
acosh |
|
arg |
복소수에서 인수를 추출합니다. |
asin |
|
asinh |
|
atan |
|
atanh |
|
conj |
복소수의 켤레 복소수를 반환합니다. |
cos |
복소수의 코사인을 반환합니다. |
cosh |
복소수의 쌍곡 코사인을 반환합니다. |
exp |
복소수의 지수 함수를 반환합니다. |
imag |
복소수의 허수 구성 요소를 추출합니다. |
log |
복소수의 자연 로그를 반환합니다. |
log10 |
복소수의 상용 로그를 반환합니다. |
norm |
복소수 기준을 추출합니다. |
polar |
지정한 모듈러스 및 인수에 해당하는 복소수를 데카르트 형태로 반환합니다. |
pow |
복소수인 밑수를 다른 복소수로 거듭제곱하여 얻은 복소수를 계산합니다. |
proj |
|
real |
복소수의 실수 구성 요소를 추출합니다. |
sin |
복소수의 사인을 반환합니다. |
sinh |
복소수의 쌍곡 사인을 반환합니다. |
sqrt |
복소수의 제곱근을 반환합니다. |
tan |
복소수의 탄젠트를 반환합니다. |
tanh | 복소수의 쌍곡 탄젠트를 반환합니다. |
연산자
속성 | 설명 |
---|---|
operator!= |
하나 또는 둘 모두 실수 및 허수 부분에서 형식의 일부에 속할 수 있는 두 복소수를 같지 않은지 테스트합니다. |
operator* |
하나 또는 둘 다 실수 및 허수 부분에서 형식의 일부에 속할 수 있는 두 복소수를 곱합니다. |
operator+ |
하나 또는 둘 다 실수 및 허수 부분에서 형식의 일부에 속할 수 있는 두 복소수를 더합니다. |
operator- |
하나 또는 둘 다 실수 및 허수 부분에서 형식의 일부에 속할 수 있는 두 복소수를 뺍니다. |
operator/ |
하나 또는 둘 다 실수 및 허수 부분에서 형식의 일부에 속할 수 있는 두 복소수를 나눕니다. |
operator<< |
출력 스트림에 복소수를 삽입하는 템플릿 함수입니다. |
operator== |
하나 또는 둘 모두 실수 및 허수 부분에서 형식의 일부에 속할 수 있는 두 복소수를 같은지 테스트합니다. |
operator>> |
입력 스트림에서 복소수를 추출하는 템플릿 함수입니다. |
클래스
이름 | 설명 |
---|---|
complex<double> |
명시적으로 특수화된 클래스 템플릿은 순서가 지정된 개체 쌍을 저장하는 개체를 설명합니다. 두 형식 double 모두, 첫 번째 개체는 복소수의 실제 부분을 나타내고 두 번째는 허수 부분을 나타냅니다. |
complex<float> |
명시적으로 특수화된 클래스 템플릿은 순서가 지정된 개체 쌍을 저장하는 개체를 설명합니다. 두 형식 float 모두, 첫 번째 개체는 복소수의 실제 부분을 나타내고 두 번째는 허수 부분을 나타냅니다. |
complex<long double> |
명시적으로 특수화된 클래스 템플릿은 순서가 지정된 개체 쌍을 저장하는 개체를 설명합니다. 두 형식 long double 모두, 첫 번째 개체는 복소수의 실제 부분을 나타내고 두 번째는 허수 부분을 나타냅니다. |
complex |
클래스 템플릿은 복소수 시스템을 나타내고 복잡한 산술 연산을 수행하는 데 사용되는 개체를 설명합니다. |
리터럴
복합> 헤더는 <다음 사용자 정의 리터럴을 정의합니다. 리터럴은 0의 실제 부분과 입력 매개 변수 값이 있는 허수 부분을 사용하여 복소수를 만듭니다.
선언 | 설명 |
---|---|
constexpr complex<long double> operator""il(long double d) constexpr complex<long double> operator""il(unsigned long long d) |
반품: complex<long double>{0.0L, static_cast<long double>(d)} |
constexpr complex<double> operator""i(long double d) constexpr complex<double> operator""i(unsigned long long d) |
complex<double>{0.0, static_cast<double>(d)} 를 반환합니다. |
constexpr complex<float> operator""if(long double d) constexpr complex<float> operator""if(unsigned long long d) |
complex<float>{0.0f, static_cast<float>(d)} 를 반환합니다. |