Bagikan melalui


<complex>

Menentukan templat complex kelas kontainer dan templat pendukungnya.

Persyaratan

Header: <kompleks>

Namespace: std

Keterangan

Bilangan kompleks adalah pasangan bilangan riil yang diurutkan. Dalam istilah geometris murni, bidang kompleks adalah bidang dua dimensi nyata. Kualitas khusus dari bidang kompleks yang membedakannya dari bidang nyata adalah karena memiliki struktur aljabar tambahan. Struktur aljabar ini memiliki dua operasi mendasar:

  • Tambahan, didefinisikan sebagai (a, b) + (c, d) = (a + c, b + d)

  • Perkalian, didefinisikan sebagai (a, b) * (c, d) = (ac - bd, ad + bc)

Kumpulan bilangan kompleks dengan operasi penambahan kompleks dan perkalian kompleks adalah bidang dalam arti aljabar standar:

  • Operasi penambahan dan perkalian bersifat komutatif dan asosiatif dan perkalian mendistribusikan lebih dari penambahan persis seperti halnya dengan penambahan dan perkalian nyata pada bidang bilangan riil.

  • Bilangan kompleks (0, 0) adalah identitas aditif dan (1, 0) adalah identitas multiplikatif.

  • Inversi aditif untuk bilangan kompleks (a, b) adalah (-a, -b), dan inversi multiplikatif untuk semua angka kompleks tersebut kecuali (0, 0) adalah

    (a/(a2 + b2), -b/(a2 + b2))

Dengan mewakili bilangan kompleks z = (a, b) dalam bentuk z = a + bi, di mana i2 = -1, aturan untuk aljabar kumpulan bilangan riil dapat diterapkan ke kumpulan bilangan kompleks dan komponennya. Contohnya:

(1 + 2i) * (2 + 3i) = 1 * (2 + 3i) + 2i * (2 + 3i) = (2 + 3i) + (4i + 6i2) = (2 - 6) + (3 + 4)i = -4 + 7 i

Sistem bilangan kompleks adalah bidang, tetapi bukan bidang yang diurutkan. Tidak ada pengurutan bilangan kompleks karena ada untuk bidang bilangan riil dan subsetnya, sehingga ketidaksetaraan tidak dapat diterapkan pada angka kompleks karena ke angka riil.

Ada tiga bentuk umum yang mewakili bilangan kompleks z:

  • Kartesius: z = a bi +

  • Polar: z = r (cos p + i sin p)

  • Eksponensial: z = r * e ip

Istilah yang digunakan dalam representasi standar dari bilangan kompleks ini disebut sebagai berikut:

  • Komponen Kartesius nyata atau bagian nyata a.

  • Komponen Kartesius imajiner atau bagian imajiner b.

  • Modulus atau nilai absolut dari bilangan kompleks r.

  • Argumen atau sudut fase p dalam radian.

Kecuali ditentukan lain, fungsi yang dapat mengembalikan beberapa nilai diperlukan untuk mengembalikan nilai utama untuk argumen mereka yang lebih besar dari -π dan kurang dari atau sama dengan +π untuk membuatnya tetap bernilai tunggal. Semua sudut harus diekspresikan dalam radian, di mana ada 2π radian (360 derajat) dalam lingkaran.

Anggota

Fungsi

Nama Deskripsi
abs Menghitung modulus bilangan kompleks.
acos
acosh
arg Mengekstrak argumen dari bilangan kompleks.
asin
asinh
atan
atanh
conj Mengembalikan konjugasi kompleks dari bilangan kompleks.
cos Mengembalikan kosinus bilangan kompleks.
cosh Mengembalikan kosinus hiperbolik dari bilangan kompleks.
exp Mengembalikan fungsi eksponensial dari bilangan kompleks.
imag Mengekstrak komponen imajiner dari bilangan kompleks.
log Mengembalikan logaritma alami dari bilangan kompleks.
log10 Mengembalikan logaritma basis 10 dari bilangan kompleks.
norm Mengekstrak norma bilangan kompleks.
polar Mengembalikan bilangan kompleks, yang sesuai dengan modulus dan argumen tertentu, dalam bentuk Kartesius.
pow Mengevaluasi bilangan kompleks yang diperoleh dengan menaikkan basis yang merupakan bilangan kompleks ke kekuatan bilangan kompleks lainnya.
proj
real Mengekstrak komponen riil dari bilangan kompleks.
sin Mengembalikan sinus bilangan kompleks.
sinh Mengembalikan sinus hiperbolik dari bilangan kompleks.
sqrt Mengembalikan akar kuadrat dari bilangan kompleks.
tan Mengembalikan tangen bilangan kompleks.
tanh Mengembalikan tangen hiperbolik dari bilangan kompleks.

Operator

Nama Deskripsi
operator!= Pengujian untuk ketidaksetaraan antara dua bilangan kompleks, satu atau keduanya mungkin termasuk dalam subset jenis untuk bagian nyata dan imajiner.
operator* Mengalikan dua bilangan kompleks, satu atau keduanya mungkin termasuk dalam subset jenis untuk bagian nyata dan imajiner.
operator+ Menambahkan dua bilangan kompleks, satu atau keduanya mungkin termasuk dalam subset jenis untuk bagian nyata dan imajiner.
operator- Mengurangi dua angka kompleks, satu atau keduanya mungkin termasuk dalam subset jenis untuk bagian nyata dan imajiner.
operator/ Membagi dua bilangan kompleks, satu atau keduanya mungkin termasuk dalam subset jenis untuk bagian nyata dan imajiner.
operator<< Fungsi templat yang menyisipkan bilangan kompleks ke dalam aliran output.
operator== Pengujian untuk kesetaraan antara dua bilangan kompleks, satu atau keduanya mungkin termasuk dalam subset jenis untuk bagian nyata dan imajiner.
operator>> Fungsi templat yang mengekstrak nilai kompleks dari aliran input.

Kelas

Nama Deskripsi
complex<double> Templat kelas khusus secara eksplisit menjelaskan objek yang menyimpan sepasang objek yang diurutkan, kedua jenis double, di mana yang pertama mewakili bagian nyata dari bilangan kompleks dan yang kedua mewakili bagian imajiner.
complex<float> Templat kelas khusus secara eksplisit menjelaskan objek yang menyimpan sepasang objek yang diurutkan, kedua jenis float, di mana yang pertama mewakili bagian nyata dari bilangan kompleks dan yang kedua mewakili bagian imajiner.
complex<long double> Templat kelas khusus secara eksplisit menjelaskan objek yang menyimpan sepasang objek yang diurutkan, kedua jenis long double, di mana yang pertama mewakili bagian nyata dari bilangan kompleks dan yang kedua mewakili bagian imajiner.
complex Templat kelas menjelaskan objek yang digunakan untuk mewakili sistem bilangan kompleks dan melakukan operasi aritmatika yang kompleks.

Harfiah

Header <kompleks> menentukan literal yang ditentukan pengguna berikut. Harfiah membuat bilangan kompleks dengan bagian nyata dari nol dan bagian imajiner yang memiliki nilai parameter input.

Deklarasi Deskripsi
constexpr complex<long double> operator""il(long double d)
constexpr complex<long double> operator""il(unsigned long long d)
Kembali: 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)
Mengembalikan: 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)
Mengembalikan: complex<float>{0.0f, static_cast<float>(d)}.

Lihat juga

Referensi file header
Keamanan utas di pustaka standar C++