Giải Phương Trình Đa Thức

Giải phương trình đa thức trực tuyến miễn phí. Tìm nghiệm thực và phức của phương trình đa thức bất kỳ bậc nào. Giải phương trình bậc 1, 2, 3 và cao hơn.

Công cụ giải phương trình đa thức tìm tất cả nghiệm thực và phức của phương trình đa thức bất kỳ bậc nào.

Phương trình đa thức là gì?

Phương trình đa thức là phương trình có dạng:

anxn + an-1xn-1 + ... + a1x + a0 = 0

trong đó n là số nguyên không âm (bậc của đa thức), và a₀, a₁, ..., aₙ là các hệ số với aₙ ≠ 0.

Công cụ giải đa thức hoạt động như thế nào?

Máy tính này sử dụng các phương pháp số để tìm nghiệm đa thức:

  • Bậc 1: Giải trực tiếp bằng công thức phương trình tuyến tính
  • Bậc 2: Công thức nghiệm bậc hai cho nghiệm chính xác
  • Bậc 3: Công thức Cardano hoặc phương pháp số
  • Bậc 4 trở lên: Thuật toán tìm nghiệm số (phương pháp Newton-Raphson)

Ứng dụng của phương trình đa thức

Phương trình đa thức là nền tảng trong toán học và xuất hiện trong nhiều lĩnh vực:

  • Vật lý: Phương trình chuyển động, hàm sóng và cơ học lượng tử
  • Kỹ thuật: Xử lý tín hiệu, hệ thống điều khiển và phân tích kết cấu
  • Kinh tế: Hàm chi phí, tối ưu hóa doanh thu và mô hình thị trường
  • Đồ họa máy tính: Khớp đường cong và nội suy
  • Hóa học: Tính toán cân bằng và động học phản ứng

"Bậc" của đa thức nghĩa là gì?

Bậc là lũy thừa cao nhất của x trong đa thức. Với 3x² + 5x − 7, hạng tử cao nhất là 3x², nên bậc là 2 (bậc hai). Với 2x⁵ − x + 1, hạng tử cao nhất là 2x⁵, nên bậc là 5 (bậc năm). Bậc quyết định một số thứ: số nghiệm (luôn đúng bằng n, có kể bội), số điểm cực trị tối đa trên đồ thị (tối đa n−1), và hành vi ở vô cực (với |x| lớn, đa thức hành xử như hạng tử cao nhất). Khi nhập hệ số vào công cụ này, bạn nhập theo thứ tự bậc giảm — trước tiên là hệ số của xⁿ, sau đó xⁿ⁻¹, ..., cuối cùng là hằng số.

Vì sao Định lý cơ bản của đại số đảm bảo có n nghiệm?

Định lý cơ bản của đại số (FTA), được Carl Friedrich Gauss chứng minh năm 1799, phát biểu rằng mọi đa thức khác hằng với hệ số phức có ít nhất một nghiệm phức. Bằng cách rút lần lượt từng nghiệm, một đa thức bậc n luôn có thể viết thành tích của n nhân tử bậc nhất (x − r₁)(x − r₂)...(x − rₙ), nên nó có đúng n nghiệm khi đếm cả bội. Một số nghiệm có thể trùng (đa thức x² − 2x + 1 = (x−1)² có nghiệm 1 bội 2), và nghiệm phức của đa thức có hệ số thực luôn xuất hiện theo cặp liên hợp (nếu 2+3i là nghiệm thì 2−3i cũng là nghiệm). Vì vậy đa thức hệ số thực bậc lẻ luôn có ít nhất một nghiệm thực.

Một đa thức có thể chỉ có nghiệm phức không?

Có, nếu đa thức có hệ số thực và bậc chẵn. Ví dụ đơn giản nhất là x² + 1 = 0, nghiệm là +i và −i — đều thuần ảo, không có nghiệm thực. Quy luật tổng quát: x⁴ + 1 = 0 có bốn nghiệm phức và không có nghiệm thực, x⁶ + 1 = 0 có sáu nghiệm phức không có thực. Về hình học, điều này tương ứng với đồ thị đa thức không cắt trục x. Với mọi đa thức hệ số thực bậc lẻ, phải có ít nhất một nghiệm thực (vì đồ thị kéo dài đến +∞ ở một phía và −∞ ở phía kia, nên phải cắt 0 đâu đó). Đây là lý do mọi phương trình bậc ba luôn có ít nhất một nghiệm thực — kiến thức hữu ích khi gặp bài toán bậc ba trong vật lý hoặc kỹ thuật.

Khác biệt giữa công thức Cardano và phương pháp số là gì?

Công thức Cardano (cho bậc ba) và Ferrari (cho bậc bốn) là biểu thức đại số dạng đóng cho nghiệm chính xác theo hệ số, giống công thức nghiệm bậc hai. Chúng tồn tại nhưng cực kỳ phức tạp và không ổn định về số — công thức Cardano có thể cho ra giá trị trung gian phức ngay cả khi mọi nghiệm cuối cùng đều thực (gọi là "casus irreducibilis"), buộc phải dùng mẹo lượng giác để lấy lại số có nghĩa. Với bậc 5 trở lên, định lý Abel-Ruffini (1824) chứng minh không tồn tại công thức nghiệm tổng quát bằng căn thức. Do đó, các bộ giải hiện đại dùng phương pháp số lặp — Newton-Raphson, Durand-Kerner, Bairstow — hội tụ về nghiệm với độ chính xác tùy ý trong thời gian hữu hạn. Đánh đổi: phương pháp số cho số thập phân chính xác tùy ý nhưng không cho dạng ký hiệu. Cần dạng ký hiệu thì dùng CAS như Wolfram hoặc Maxima.

Phương pháp Durand-Kerner mà công cụ này dùng là gì?

Durand-Kerner (còn gọi là Weierstrass) là phương pháp lặp xấp xỉ đồng thời cả n nghiệm của đa thức, thay vì tìm từng nghiệm một. Nó bắt đầu với n dự đoán khác nhau phân tán trong mặt phẳng phức (thường trên một đường tròn có bán kính bị chặn bởi hệ số đa thức qua chặn Cauchy) và cập nhật mỗi dự đoán bằng công thức r_i ← r_i − p(r_i) / ∏(r_i − r_j) với j ≠ i. Phương pháp có hội tụ bậc hai gần nghiệm — số chữ số đúng gần như nhân đôi sau mỗi lần lặp — và khác Newton-Raphson, nó tìm mọi nghiệm song song mà không cần khử bậc sau mỗi nghiệm. Đây là phương pháp chủ lực của hầu hết bộ tìm nghiệm đa thức sản phẩm, gồm roots() của MATLAB, roots của NumPy, và công cụ này.

Tại sao đôi khi bộ giải trả phần ảo rất nhỏ cho các nghiệm lẽ ra là thực?

Sai số làm tròn trong số học dấu chấm động. Đa thức như x² − 4x + 4 = (x−2)² đáng lẽ cho nghiệm kép x = 2, nhưng bộ giải số có thể tính ra x = 2,0000000001 + 0,0000000003i — phần ảo bé tí chỉ là rác làm tròn, không phải thành phần phức thật. Công cụ áp ngưỡng nhỏ (thường 1e-10 tương đối so với độ lớn hệ số) và làm tròn các phần ảo gần-không về 0 trước khi hiển thị. Nếu thấy kết quả kiểu "0,000000001 + 0,000000001i", hãy coi như bằng 0. Muốn nghiệm chính xác, cần hệ đại số ký hiệu làm việc với số học chính xác, nhưng các đáp số dấu chấm động ở đây chính xác đến khoảng 12-14 chữ số thập phân, quá đủ cho mọi mục đích kỹ thuật và vật lý.

Nếu hệ số cao nhất bằng 0 thì sao?

Thì đa thức thực chất bậc thấp hơn cái bạn nhập. Nếu thiết lập đa thức bậc 3 thành 0x³ + 2x² − x + 1 = 0, hệ số 0 ở đầu nghĩa là nó thực chất là bậc hai 2x² − x + 1 = 0, không phải bậc ba. Công cụ phát hiện trường hợp này và từ chối giải, hiện lỗi — vì giải "bậc 3 với hệ số cao nhất bằng 0" là mơ hồ (vài thư viện coi là đa thức bậc thấp hơn, vài thư viện coi là không xác định). Hãy bỏ hệ số 0 đầu và giảm bậc khớp với hạng tử cao nhất khác 0 thực sự.

Có giải được đa thức bậc 100 hay cao hơn không?

Về nguyên tắc có, kèm theo cảnh báo. Phương pháp Durand-Kerner hội tụ với bậc bất kỳ, và máy tính hiện đại giải tìm nghiệm đa thức bậc 100 trong vài mili giây. Vấn đề thực tế là điều kiện số: đa thức bậc cao với nghiệm gần nhau hoặc trùng nhau cực kỳ nhạy với làm tròn hệ số — đa thức Wilkinson (bậc 20 với nghiệm 1, 2, ..., 20) là ví dụ giáo khoa nổi tiếng, ở đó thay đổi 10⁻⁹ ở một hệ số làm vài nghiệm dịch hơn 1,0. Với đa thức bậc trên 50 mà hệ số nhạy, có thể thấy sai số lớn dù thuật toán vẫn hội tụ. Nếu thực sự cần bậc cao đến vậy cho công việc nghiêm túc, hãy chuyển sang phương pháp thiết kế riêng — phương pháp trị riêng ma trận đồng hành, hoặc tìm nghiệm ký hiệu trong số học chính xác. Cho dùng thông thường (kỹ thuật, bài tập, vật lý đến tối đa bậc 10), công cụ này quá đủ.