2.1. Giới thiệu về đa thức

Định nghĩa 2.1 (Đa thức một biến)

Đa thức theo một biến \(x\) là hàm số có dạng

\[P(x) = a_n x^n + a_{n-1} x^{n-1} + \cdots + a_1 x + a_0.\]

Các số \(a_i\) được gọi là hệ số (hay coefficient, коэффициент).

Hệ số bậc cao nhất là \(a_n\). Hệ số tự do là \(a_0\).

Biểu thức \(a_k x^k\) được gọi là hạng tử bậc \(k\). Hạng tử bậc cao nhất là \(a_n x^n\).

  1. Nếu \(a_i \in \mathbb{R}\) thì ta nói \(P(x)\) là đa thức với hệ số thực.

  2. Nếu \(a_i \in \mathbb{Q}\) thì ta nói \(P(x)\) là đa thức với hệ số hữu tỷ.

  3. Nếu \(a_i \in \mathbb{Z}\) thì ta nói \(P(x)\) là đa thức với hệ số nguyên.

Định nghĩa 2.2 (Bậc của đa thức)

Nếu \(a_n \neq 0\) thì số tự nhiên \(n\) được gọi là bậc của đa thức (hay degree, степень) và ta kí hiệu \(\deg P = n\).

2.2. So sánh, cộng, trừ và nhân hai đa thức một biến

Hai đa thức

\[P(x) = a_m x^m + a_{m-1} x^{m-1} + \cdots + a_1 x + a_0\]

\[Q(x) = b_n x^n + b_{n-1} x^{n-1} + \cdots + b_1 x + b_0\]

bằng nhau khi và chỉ khi \(m = n\), và \(a_k = b_k\) với mọi \(k = 0, 1, \ldots, m\).

Khi cộng và trừ hai đa thức \(P(x)\)\(Q(x)\) ta thực hiện theo từng hệ số của \(x^k\), nghĩa là

\[P(x) \pm Q(x) = \sum_{k=0}^{\max(m, n)} (a_k \pm b_k) \ x^k.\]

Ví dụ 2.1

Xét hai đa thức

\[\begin{split}P(x) & = x^3 - 4 x^2 - 5 x + 3, \\ Q(x) & = x^4 - 3 x^3 + 5 x^2 - x - 1.\end{split}\]

Lúc này hệ số của hai đa thức \(P(x)\)\(Q(x)\)

\[\begin{split}a_4 = 0, a_3 = 1, a_2 = -4, a_1 = -5, a_0 = 3, \\ b_4 = 1, b_3 = -3, b_2 = 5, b_1 = -1, b_0 = -1.\end{split}\]

Như vậy ta có tổng và hiệu

\[\begin{split}P(x) + Q(x) & = (0 + 1) \cdot x^4 + [1 + (-3)] \cdot x^3 + (-4 + 5) \cdot x^2 + [-5 + (-1)] \cdot x + [3 + (-1)] \\ & = x^4 - 2 x^3 + x^2 - 6x + 2. \\ P(x) - Q(x) & = (0 - 1) \cdot x^4 + [1 - (-3)] \cdot x^3 + (-4 - 5) \cdot x^2 + [-5 - (-1)] \cdot x + [3 - (-1)] \\ & = -x^4 + 4x^3 - 9x^2 - 4x + 4.\end{split}\]

Khi nhân hai đa thức \(P(x)\)\(Q(x)\) ta nhận được đa thức bậc \(m+n\)

\[R(x) = \sum_{k=0}^{m+n} c_k x^k\]

với hệ số \(c_k\) được xác định bởi

\[c_k = \sum_{i=0}^k a_i b_{k-i}.\]

Chú ý 2.1

Nếu đa thức \(P(x)\) nhận mọi giá trị \(x \in \mathbb{R}\) làm nghiệm thì \(P(x) \equiv 0\).

Định lý 2.1 (Bậc của tổng, hiệu và tích của các đa thức)

Cho \(P(x)\)\(Q(x)\) là các đa thức bậc \(m\)\(n\) tương ứng. Khi đó

  1. \(\deg (P \pm Q) \leqslant \max(m, n)\), trong đó

    • Nếu \(\deg P \neq \deg Q\) thì dấu bằng xảy ra.

    • Nếu \(\deg P = \deg Q\), hay \(m = n\), thì \(\deg(P \pm Q)\) có thể nhận bất kì giá trị nào nhỏ hơn hoặc bằng \(m\).

  2. \(\deg (P \cdot Q) = m + n\).

Ví dụ 2.2

Xét đa thức \(P(x) = -x + 1\)\(Q(x) = x + 1\). Khi đó

\[\deg P = 1, \quad \deg Q = 1\]

\[P(x) + Q(x) = 2, \quad P(x) - Q(x) = -2x.\]

Như vậy

\[ \begin{align}\begin{aligned}\deg (P+Q) = 0 < \max(\deg P, \deg Q),\\\deg (P-Q) = 1 = \max(\deg P, \deg Q).\end{aligned}\end{align} \]

2.3. Phép chia đa thức một biến

Khi chia đa thức \(A(x)\) cho đa thức \(B(x)\), ta tìm đa thức \(Q(x)\)\(R(x)\) sao cho

\[A(x) = Q(x) \cdot B(x) + R(x), \ \text{và} \ 0 \leqslant \deg R(x) < \deg B(x).\]

Phân tích trên còn được gọi là phép chia Euclid cho đa thức.

Xét phép chia đa thức \(x^3 + 4 x^2 - 3\) cho đa thức \(x - 2\). Tương tự phép chia hai số nguyên, đa thức \(x^3 + 4 x^2 - 3\) là đa thức bị chia, \(x - 2\) là đa thức chia, và ta cần tìm thương và số dư.

Đầu tiên, ta viết tất cả hệ số của đa thức bị chia, bao gồm các hệ số \(0\):

\[x^3 + 4 x^2 - 0 x - 3,\]

và viết lên sơ đồ.

../../_images/univariate-01.jpg

Bước 1. Ta chia hạng tử có bậc cao nhất của đa thức bị chia là \(x^3\) cho đa thức chia là \(x\) và nhận được \(x^3 : x = x^2\). Ta viết \(x^2\) vào phần thương (ở trên cùng).

../../_images/univariate-02.jpg

Bước 2. Ta nhân phần tử vừa nhận được của thương là \(x^2\) cho đa thức chia, tức là

\[x^2 \cdot (x - 2) = x^3 - 2 x^2,\]

và viết xuống hàng dưới.

../../_images/univariate-03.jpg

Bước 3. Ta trừ đa thức chia cho \(x^3 - 2 x^2\).

../../_images/univariate-04.jpg

Lặp lại các bước 1, 2, 3 nhưng hạng tử lớn nhất hiện tại là \(6x^2\).

Bước 1a. Ta chia \(6x^2\) cho hạng tử bậc cao nhất của số chia và được \(6x^2 : x = 6x\). Ta viết \(+6x\) vào phần thương ở trên cùng.

../../_images/univariate-05.jpg

Bước 2a. Ta nhân \(6x\) cho đa thức chia

\[6x \cdot (x - 2) = 6 x^2 - 12 x,\]

và viết xuống hàng dưới.

../../_images/univariate-06.jpg

Bước 3a. Ta trừ đa thức chia, lúc này là \(6x^2\), cho tích vừa tìm được.

../../_images/univariate-07.jpg

Tiếp tục lặp lại bước 1, 2, 3.

../../_images/univariate-08.jpg
../../_images/univariate-09.jpg
../../_images/univariate-10.jpg

Sau khi thực hiện phép trừ ở bước cuối ta có đa thức thương \(x^2 + 6x + 12\) và đa thức dư \(21\) có bậc là \(0\), nhỏ hơn bậc của đa thức chia \(x - 2\)\(1\).

2.4. Phép chia đa thức nhiều biến

Ở phần này kí hiệu \(\mathrm{LT}(f)\) là leading term của đa thức nhiều biến theo thứ tự đơn thức (monomial order) cho trước (lex, deglex, ...).

Input: hàm \(f\) và các hàm \(g_1\), ..., \(g_a\) trên vành đa thức \(K[x_1, \ldots, x_n]\) với trường \(K\) và thứ tự đơn thức nào đó.

Output: số dư \(r\) và các đa thức \(q_1\), ..., \(q_a\) thỏa mãn

  1. Không có đơn thức nào của \(r\) chia hết \(\mathrm{LT}(g_i)\) với mọi \(i\).

  2. \(\mathrm{LT}(g_i \cdot q_i) \leqslant \mathrm{LT}(f)\).

Khi đó

\[f = r + q_1 g_1 + \cdots + q_a g_g.\]

Thuật toán 2.1

  1. Khởi tạo

    • \(p \gets f\)

    • \(f\), \(q_1\), ..., \(q_a \gets 0\)

    • \(i \gets 1\)

  2. While \(p \neq 0\) do

    • if \(\mathrm{LT}(g_i) \mid \mathrm{LT}(p)\) then

      • \(t \gets \mathrm{LT}(p) / \mathrm{LT}(g_i)\)

      • \(q_i \gets q_i + t\)

      • \(p \gets p - t \cdot g_i\)

      • \(i \gets 1\)

    • \(i \gets i + 1\)

    • if \(i = a + 1\) then

      • \(r \gets r + \mathrm{LT}(p)\)

      • \(p \gets p - \mathrm{LT}(p)\)

      • \(i \gets 1\)

  3. Return \(r\), \(q_1\), ..., \(q_a\)

Lưu ý:

  • thứ tự đơn thức ảnh hưởng kết quả thuật toán;

  • \(r \neq 0\) không có nghĩa \(f\) không là tổ hợp tuyến tính của các đa thức \(g_i\).