Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Số phức trong Python
Python không chỉ hỗ trợ các số thực mà còn làm việc với cả số phức. Điều này đặc biệt hữu ích trong các bài toán toán học phức tạp. Python cung cấp các công cụ mạnh mẽ để xử lý và thao tác với số phức.

Số phức được tạo thành từ hai phần: phần thực và phần ảo. Trong Python, bạn có thể tạo số phức trực tiếp hoặc sử dụng hàm complex. Cú pháp của số phức là dạng (x + yj), trong đó:
-
x là phần thực,
-
y là phần ảo,
Bài viết này được đăng tại [free tuts .net]
-
j là đơn vị số ảo (căn bậc hai của -1).
Cú pháp hàm complex trong Python
complex([real[, imag]])
real: Phần thực (bắt buộc), mặc định là 0. Có thể truyền vào dạng chuỗi (ví dụ:'1+1j') và trong trường hợp này, phần ảo sẽ bị bỏ qua.imag: Phần ảo (tùy chọn), mặc định là 0.
Ví dụ về tạo số phức
z = complex(5, 7)
print("Kết quả:", z)
# Kết quả: (5+7j)
z = complex(3)
print("Kết quả:", z)
# Kết quả: (3+0j)
z = complex()
print("Kết quả:", z)
# Kết quả: 0j
z = complex('1+1j')
print("Kết quả:", z)
# Kết quả: 1+1j
Các thuộc tính của số phức
Python cung cấp các thuộc tính để truy cập thông tin của số phức:
z = 3 + 4j
print("Phần thực:", z.real)
# Kết quả: 3.0
print("Phần ảo:", z.imag)
# Kết quả: 4.0
print("Số liên hợp:", z.conjugate())
# Kết quả: 3-4j
Ghi chú: Số ảo tuân theo quy tắc:
j² = -1
Các phép toán số học trên số phức trong python
Giống như số thực, bạn có thể thực hiện các phép toán như cộng, trừ, nhân, chia với số phức:
z1 = 6 + 7j
z2 = 1 + 4j
print("Phép cộng:", z1 + z2)
print("Phép trừ:", z1 - z2)
print("Phép nhân:", z1 * z2)
print("Phép chia:", z1 / z2)
Kết quả:
- Phép cộng:
(7+11j) - Phép trừ:
(5+3j) - Phép nhân:
(-22+31j) - Phép chia:
(2-1j)
Lưu ý: Số phức không hỗ trợ phép chia lấy phần nguyên (
//) và các toán tử so sánh (<,>,<=,>=).
Thư viện cmath trong python
Thư viện cmath hỗ trợ các phép toán toán học nâng cao cho số phức như lượng giác, logarit, hàm mũ, v.v.
Ví dụ:
import cmath
z = 4 + 2j
# Hàm mũ
print("e^z:", cmath.exp(z))
# Logarit
print("log2(z):", cmath.log(z, 2))
# Hàm lượng giác
print("sin(z):", cmath.sin(z))
print("cos(z):", cmath.cos(z))
# Hàm hyperbolic
print("sinh(z):", cmath.sinh(z))
print("asinh(z):", cmath.asinh(z))
Các hàm khác trong python
Thư viện cmath còn cung cấp các hàm để kiểm tra tính chất của số phức:
import cmath # Kiểm tra số hữu hạn print(cmath.isfinite(4 + 1j)) # True # Kiểm tra số vô hạn print(cmath.isinf(4 + 1j)) # False # Kiểm tra giá trị NaN print(cmath.isnan(4 + 1j)) # False
Hằng số trong cmath
import cmath
print("pi:", cmath.pi) # 3.141592653589793
print("e:", cmath.e) # 2.718281828459045
print("Vô cực dương:", cmath.inf) # inf
print("NaN:", cmath.nan) # nan
Kết bài
Thư viện cmath cung cấp các công cụ mạnh mẽ để làm việc với số phức, giúp bạn thực hiện nhiều phép toán từ cơ bản đến nâng cao. Qua bài viết này, bạn đã nắm được cách tạo, sử dụng, và thao tác với số phức trong Python cũng như ứng dụng thư viện cmath.

Các kiểu dữ liệu trong C ( int - float - double - char ...)
Thuật toán tìm ước chung lớn nhất trong C/C++
Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
ComboBox - ListBox trong lập trình C# winforms
Random trong Python: Tạo số random ngẫu nhiên
Lệnh cin và cout trong C++
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng