<complex>
Definiuje szablon complex
klasy kontenera i jego szablony pomocnicze.
Wymagania
Nagłówek: <złożony>
Przestrzeń nazw: std
Uwagi
Liczba zespolona to uporządkowana para liczb rzeczywistych. W czysto geometrycznych kategoriach złożona płaszczyzna jest rzeczywistą, dwuwymiarową płaszczyzną. Specjalne cechy złożonej płaszczyzny, które odróżniają ją od rzeczywistej płaszczyzny, są spowodowane posiadaniem dodatkowej struktury algebraicznej. Ta struktura algebraiczna ma dwie podstawowe operacje:
Dodawanie, zdefiniowane jako (a, b) + (c, d) = (a + c, b + d)
Mnożenie, zdefiniowane jako (a, b) * (c, d) = (ac - bd, ad + bc)
Zestaw liczb zespolonych z operacjami złożonego dodawania i mnożenia złożonego to pole w standardowym sensie algebraicznym:
Operacje dodawania i mnożenia są zmutacyjne i kojarzenie i mnożenie rozkłada się na dodanie dokładnie tak samo jak w przypadku rzeczywistego dodawania i mnożenia na polu liczb rzeczywistych.
Liczba zespolona (0, 0) jest tożsamością addycyjną, a (1, 0) jest tożsamością mnożenia.
Odwrotność dodawania dla liczby zespolonej (a, b) to (-a, -b), a odwrotność mnożenia dla wszystkich takich liczb zespolonych z wyjątkiem (0, 0) jest
(a/(a2 + b2), -b/(a2 + b2))
Reprezentując liczbę zespolone z = (a, b) w postaci z + = a bi, gdzie i2 = -1, reguły algebry zestawu liczb rzeczywistych można zastosować do zestawu liczb zespolonych i ich składników. Na przykład:
(1 + 2i) * (2 + 3i) = 1 * (2 + 3i) + 2i * (2 + 3i) = (2 + 3i) + (4+ 6i2) = (2 - 6) + (3 + 4)i = -4 + 7 i
System liczb zespolonych jest polem, ale nie jest uporządkowanym polem. Nie ma kolejności liczb zespolonych, ponieważ istnieje pole liczb rzeczywistych i jego podzbiorów, więc nierówności nie mogą być stosowane do liczb zespolonych, ponieważ są to liczby rzeczywiste.
Istnieją trzy typowe formy reprezentowania liczby zespolonej z:
Kartezjański: z = a bi +
Polar: z = r (cos p + i sin p)
Wykładniczo: z = r * e ip
Terminy używane w tych standardowych reprezentacjach liczby zespolonej są określane w następujący sposób:
Prawdziwy składnik kartezjański lub prawdziwa część a.
Wyimaginowany składnik kartezjański lub wyimaginowana część b.
Modulo lub wartość bezwzględna liczby zespolonej r.
Argument lub kąt fazy p w radianach.
Jeśli nie określono inaczej, funkcje, które mogą zwracać wiele wartości, są wymagane do zwrócenia wartości głównej dla ich argumentów większych niż -π i mniejszych lub równych +π, aby zachować ich pojedynczą wartość. Wszystkie kąty muszą być wyrażone w radianach, gdzie w okręgu znajduje się 2 radiany (360 stopni).
Elementy członkowskie
Funkcje
Nazwa/nazwisko | opis |
---|---|
abs |
Oblicza modulo liczby zespolonej. |
acos |
|
acosh |
|
arg |
Wyodrębnia argument z liczby zespolonej. |
asin |
|
asinh |
|
atan |
|
atanh |
|
conj |
Zwraca sprzężenie zespolone liczby zespolonej. |
cos |
Zwraca cosinus liczby zespolonej. |
cosh |
Zwraca cosinus hiperboliczny liczby zespolonej. |
exp |
Zwraca funkcję wykładniczą liczby zespolonej. |
imag |
Wyodrębnia wyimaginowany składnik liczby zespolonej. |
log |
Zwraca logarytm naturalny liczby zespolonej. |
log10 |
Zwraca logarytm podstawowy 10 liczby zespolonej. |
norm |
Wyodrębnia normę liczby zespolonej. |
polar |
Zwraca liczbę zespolonej, która odpowiada określonemu modulusowi i argumentowi w formie kartezjańskiej. |
pow |
Oblicza liczbę zespolona uzyskaną przez podniesienie podstawy, która jest liczbą zespolona do potęgi innej liczby zespolonej. |
proj |
|
real |
Wyodrębnia rzeczywisty składnik liczby zespolonej. |
sin |
Zwraca sinus liczby zespolonej. |
sinh |
Zwraca sinus hiperboliczny liczby zespolonej. |
sqrt |
Zwraca pierwiastek kwadratowy liczby zespolonej. |
tan |
Zwraca tangens liczby zespolonej. |
Tanh | Zwraca tangens hiperboliczny liczby zespolonej. |
Operatory
Nazwa/nazwisko | opis |
---|---|
operator!= |
Testuje nierówność między dwiema liczbami zespolonymi, z których jedna lub obie mogą należeć do podzbioru typu dla rzeczywistych i wyimaginowanych części. |
operator* |
Mnoży dwie liczby zespolone, z których jedna lub obie mogą należeć do podzbioru typu dla rzeczywistych i wyimaginowanych części. |
operator+ |
Dodaje dwie liczby zespolone, z których jedna lub obie mogą należeć do podzbioru typu dla rzeczywistych i wyimaginowanych części. |
operator- |
Odejmuje dwie liczby zespolone, z których jedna lub obie mogą należeć do podzbioru typu dla rzeczywistych i wyimaginowanych części. |
operator/ |
Dzieli dwie liczby zespolone, z których jedna lub obie mogą należeć do podzbioru typu dla rzeczywistych i wyimaginowanych części. |
operator<< |
Funkcja szablonu, która wstawia liczbę zespolona do strumienia wyjściowego. |
operator== |
Testuje równość między dwiema liczbami zespolonymi, z których jedna lub obie mogą należeć do podzbioru typu dla rzeczywistych i wyimaginowanych części. |
operator>> |
Funkcja szablonu, która wyodrębnia złożoną wartość ze strumienia wejściowego. |
Klasy
Nazwa/nazwisko | opis |
---|---|
complex<double> |
Jawnie wyspecjalizowany szablon klasy opisuje obiekt, który przechowuje uporządkowaną parę obiektów, zarówno typu double , gdzie pierwszy reprezentuje rzeczywistą część liczby zespolonej, a drugi reprezentuje część wyimaginowaną. |
complex<float> |
Jawnie wyspecjalizowany szablon klasy opisuje obiekt, który przechowuje uporządkowaną parę obiektów, zarówno typu float , gdzie pierwszy reprezentuje rzeczywistą część liczby zespolonej, a drugi reprezentuje część wyimaginowaną. |
complex<long double> |
Jawnie wyspecjalizowany szablon klasy opisuje obiekt, który przechowuje uporządkowaną parę obiektów, zarówno typu long double , gdzie pierwszy reprezentuje rzeczywistą część liczby zespolonej, a drugi reprezentuje część wyimaginowaną. |
complex |
Szablon klasy opisuje obiekt używany do reprezentowania złożonego systemu liczb i wykonywania złożonych operacji arytmetycznych. |
Literały
Nagłówek <złożony> definiuje następujące literały zdefiniowane przez użytkownika. Literały tworzą liczbę zespolona z rzeczywistą częścią zera i wyimaginowaną częścią, która ma wartość parametru wejściowego.
Deklaracja | opis |
---|---|
constexpr complex<long double> operator""il(long double d) constexpr complex<long double> operator""il(unsigned long long d) |
Zwroty: 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) |
Zwraca wartość: 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) |
Zwraca wartość: complex<float>{0.0f, static_cast<float>(d)} . |
Zobacz też
Odwołanie do plików nagłówka
Bezpieczeństwo wątków w standardowej bibliotece języka C++