<complex>
Definuje šablonu complex
třídy kontejneru a její podpůrné šablony.
Požadavky
Hlavička: <komplexní>
Namespace: std
Poznámky
Komplexní číslo je seřazený pár skutečných čísel. V čistě geometrických pojmech je složitá rovina skutečnou dvourozměrnou rovinou. Zvláštní vlastnosti komplexní roviny, které ji odlišují od skutečné roviny, jsou způsobeny jeho další algebraickou strukturou. Tato algebraická struktura má dvě základní operace:
Sčítání definované jako (a, b) + (c, d) = (a + c, b + d)
Násobení definované jako (a, b) * (c, d) = (ac - bd, ad bc) +
Sada komplexních čísel s operacemi komplexního sčítání a komplexního násobení jsou pole ve standardním algebraickém smyslu:
Operace sčítání a násobení jsou kommutativní a asociativní a násobení distribuují přes sčítání přesně tak, jak to dělá s reálným sčítáním a násobením v poli skutečných čísel.
Komplexní číslo (0, 0) je přídatná identita a (1, 0) je multiplikativní identita.
Přídavná inverzní funkce pro komplexní číslo (a, b) je (-a, -b) a násobení inverzní pro všechna taková komplexní čísla s výjimkou (0, 0) je
(a/(a 2 + b 2);-b/(a2 + b2))
Při reprezentaci komplexního čísla z = (a, b) ve tvaru z = a + bi, kde i2 = -1 lze pravidla pro algebru sady reálných čísel použít na množinu komplexních čísel a na jejich součásti. Příklad:
(1 + 2i) * (2 + 3i) = 1 * (2 + 3i) + 2i * (2 + 3i) = (2 + 3i) + (4i + 6i2) = (2 - 6) + (3 + 4)i = -4 + 7 i
Systém komplexních čísel je pole, ale nejedná se o uspořádané pole. Neexistuje žádné řazení komplexních čísel, protože pole skutečných čísel a jejích podmnožina není možné použít, takže nerovnosti se nedají použít na komplexní čísla, protože se jedná o reálná čísla.
Existují tři běžné formy reprezentace komplexního čísla z:
Kartézský: z = a bi +
Polar: z = r (cos p + i sin p)
Exponenciální hodnota: z = r * e ip
Termíny používané v těchto standardních reprezentacích komplexního čísla se označují takto:
Skutečná kartézská komponenta nebo skutečná část a.
Imaginární kartézská součást nebo imaginární část b.
Moduly nebo absolutní hodnota komplexního čísla r.
Argument nebo úhel fáze p v radiánech.
Pokud není uvedeno jinak, funkce, které můžou vrátit více hodnot, musí vrátit hodnotu objektu zabezpečení pro své argumenty větší než -π a menší než nebo rovno +π, aby měly jednu hodnotu. Všechny úhly musí být vyjádřeny v radiánech, kde jsou v kruhu 2π radiány (360 stupňů).
Členové
Funkce
Název | Popis |
---|---|
abs |
Vypočítá moduly komplexního čísla. |
acos |
|
acosh |
|
arg |
Extrahuje argument ze komplexního čísla. |
asin |
|
asinh |
|
atan |
|
atanh |
|
conj |
Vrátí komplexní konjugování komplexního čísla. |
cos |
Vrátí kosinus komplexního čísla. |
cosh |
Vrátí hyperbolický kosinus komplexního čísla. |
exp |
Vrátí exponenciální funkci komplexního čísla. |
imag |
Extrahuje imaginární komponentu komplexního čísla. |
log |
Vrátí přirozený logaritmus komplexního čísla. |
log10 |
Vrátí logaritmus komplexního čísla o základu 10. |
norm |
Extrahuje normu komplexního čísla. |
polar |
Vrátí komplexní číslo, které odpovídá zadanému modulu a argumentu v kartézské podobě. |
pow |
Vyhodnotí komplexní číslo získané zvýšením základu, který je komplexním číslem na mocninu jiného komplexního čísla. |
proj |
|
real |
Extrahuje skutečnou komponentu komplexního čísla. |
sin |
Vrátí sinus komplexního čísla. |
sinh |
Vrátí hyperbolický sinus komplexního čísla. |
sqrt |
Vrátí druhou odmocninu komplexního čísla. |
tan |
Vrátí tangens komplexního čísla. |
tanh | Vrátí hyperbolický tangens komplexního čísla. |
Operátory
Název | Popis |
---|---|
operator!= |
Testy nerovnosti mezi dvěma komplexními čísly, jedno nebo obojí, které mohou patřit podmnožině typu pro skutečné a imaginární části. |
operator* |
Vynásobí dvě komplexní čísla, jedno nebo obojí, které mohou patřit do podmnožina typu pro skutečné a imaginární části. |
operator+ |
Sečte dvě komplexní čísla, jedno nebo obojí, které mohou patřit do podmnožině typu pro skutečné a imaginární části. |
operator- |
Odečte dvě komplexní čísla, jedno nebo obojí, které mohou patřit do podmnožina typu pro skutečné a imaginární části. |
operator/ |
Rozdělí dvě složitá čísla, jedno nebo obě, které mohou patřit do podmnožina typu pro skutečné a imaginární části. |
operator<< |
Funkce šablony, která vloží komplexní číslo do výstupního datového proudu. |
operator== |
Testuje rovnost mezi dvěma komplexními čísly, jedním nebo oběma, z nichž může patřit podmnožině typu pro skutečné a imaginární části. |
operator>> |
Funkce šablony, která extrahuje komplexní hodnotu ze vstupního datového proudu. |
Třídy
Název | Popis |
---|---|
complex<double> |
Explicitně specializovaná šablona třídy popisuje objekt, který ukládá seřazený pár objektů, oba typy double , kde první představuje skutečnou část komplexního čísla a druhá představuje imaginární část. |
complex<float> |
Explicitně specializovaná šablona třídy popisuje objekt, který ukládá seřazený pár objektů, oba typy float , kde první představuje skutečnou část komplexního čísla a druhá představuje imaginární část. |
complex<long double> |
Explicitně specializovaná šablona třídy popisuje objekt, který ukládá seřazený pár objektů, oba typy long double , kde první představuje skutečnou část komplexního čísla a druhá představuje imaginární část. |
complex |
Šablona třídy popisuje objekt použitý k reprezentaci komplexního číselného systému a provádění složitých aritmetických operací. |
Literály
Komplexní <> hlavička definuje následující uživatelsky definované literály. Literály vytvoří komplexní číslo se skutečnou částí nuly a imaginární částí, která má hodnotu vstupního parametru.
Deklarace | Popis |
---|---|
constexpr complex<long double> operator""il(long double d) constexpr complex<long double> operator""il(unsigned long long d) |
Vrací: 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) |
Vrátí: 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) |
Vrátí: complex<float>{0.0f, static_cast<float>(d)} . |
Viz také
Referenční informace k souborům hlaviček
Zabezpečení vláken ve standardní knihovně jazyka C++