.. raw:: html
.. _sec_integral_calculus:
Giải tích Tích phân
===================
.. raw:: html
Phép vi phân mới chỉ là một nửa nội dung của môn giải tích truyền thống.
Một nửa quan trọng khác, phép tích phân, bắt nguồn từ một câu hỏi có vẻ
không mấy liên quan, “Diện tích của phần bên dưới đường cong này là bao
nhiêu?” Dù vậy, phép tích phân lại liên hệ mật thiết tới phép vi phân
thông qua *định lý cơ bản của giải tích* (*fundamental theorem of
calculus*).
.. raw:: html
Ở mức độ kiến thức học máy ta thảo luận trong cuốn sách này, ta không
cần thiết phải hiểu sâu sắc về phép tích phân. Tuy nhiên, chúng tôi sẽ
giới thiệu khái quát để đặt nền tảng cho bất kỳ ứng dụng nào ta sẽ gặp
sau này.
.. raw:: html
Diễn giải Hình học
------------------
.. raw:: html
Giả sử ta có hàm :math:`f(x)`. Để đơn giản, giả sử :math:`f(x)` không âm
(không cho ra số bé hơn không). Điều chúng ta muốn tìm hiểu là: diện
tích của phần được giới hạn giữa :math:`f(x)` và trục :math:`x` là bao
nhiêu?
.. code:: python
%matplotlib inline
from d2l import mxnet as d2l
from IPython import display
from mpl_toolkits import mplot3d
from mxnet import np, npx
npx.set_np()
x = np.arange(-2, 2, 0.01)
f = np.exp(-x**2)
d2l.set_figsize()
d2l.plt.plot(x, f, color='black')
d2l.plt.fill_between(x.tolist(), f.tolist())
d2l.plt.show()
.. figure:: output_integral-calculus_vn_1b8b09_1_0.svg
.. raw:: html
Trong đa số trường hợp, diện tích của vùng này sẽ là vô cực hoặc không
xác định (ví dụ như hàm :math:`f(x) = x^{2}`), nên ta thường nói về diện
tích trong một khoảng giữa hai cận, ví dụ :math:`a` và :math:`b`.
.. code:: python
x = np.arange(-2, 2, 0.01)
f = np.exp(-x**2)
d2l.set_figsize()
d2l.plt.plot(x, f, color='black')
d2l.plt.fill_between(x.tolist()[50:250], f.tolist()[50:250])
d2l.plt.show()
.. figure:: output_integral-calculus_vn_1b8b09_3_0.svg
.. raw:: html
Ta sẽ ký hiệu phần diện tích này với dấu tích phân như dưới đây:
.. math::
\mathrm{Area}(\mathcal{A}) = \int_a^b f(x) \;dx.
.. raw:: html
Ta có thể sử dụng bất kì ký hiệu nào vì biến tích phân bên trong là tùy
ý, cũng giống như biến chỉ số của phép tổng trong :math:`\sum`:
.. math::
\int_a^b f(x) \;dx = \int_a^b f(z) \;dz.
.. raw:: html
Có một cách truyền thống để hiểu rõ hơn cách ta có thể xấp xỉ phép tích
phân: ta có thể tưởng tượng cắt phần giữa :math:`a` và :math:`b` thành
:math:`N` lát theo chiều dọc. Nếu :math:`N` lớn, ta có thể xấp xỉ phần
diện tích mỗi lát bằng một hình chữ nhật, và sau đó tính tổng các diện
tích để có được phần diện tích phía dưới đường cong. Hãy cùng lập trình
và xét qua một ví dụ. Ta sẽ biết cách tính được giá trị thật sự của phép
tích phân ở mục sau.
.. code:: python
epsilon = 0.05
a = 0
b = 2
x = np.arange(a, b, epsilon)
f = x / (1 + x**2)
approx = np.sum(epsilon*f)
true = np.log(2) / 2
d2l.set_figsize()
d2l.plt.bar(x.asnumpy(), f.asnumpy(), width=epsilon, align='edge')
d2l.plt.plot(x, f, color='black')
d2l.plt.ylim([0, 1])
d2l.plt.show()
f'approximation: {approx}, truth: {true}'
.. figure:: output_integral-calculus_vn_1b8b09_5_0.svg
.. parsed-literal::
:class: output
'approximation: 0.79448557, truth: 0.34657359027997264'
.. raw:: html
Một vấn đề đó là trong khi cách này có thể làm một cách số học, ta chỉ
có thể sử dụng cách tiếp cận phân tích này cho các hàm cực đơn giản như
.. math::
\int_a^b x \;dx.
.. raw:: html
Bất kì hàm số nào hơi phức tạp hơn một chút như trong ví dụ trình bày ở
đoạn mã trên
.. math::
\int_a^b \frac{x}{1+x^{2}} \;dx.
.. raw:: html
nằm ngoài phạm vi ta có thể giải quyết bằng phương pháp này.
.. raw:: html
Thay vào đó, ta sẽ tiếp cận theo hướng khác. Ta sẽ làm việc một cách
trực quan với khái niệm diện tích, và học công cụ tính toán chính được
dùng để tính tích phân: *định lý cơ bản của giải tích*. Đây sẽ là nền
tảng của ta trong quá trình học tích phân.
.. raw:: html
Định lý Cơ bản của Giải tích
----------------------------
.. raw:: html
Để đào sâu hơn nữa vào lý thuyết tích phân, chúng tôi xin phép giới
thiệu hàm
.. math::
F(x) = \int_0^x f(y) dy.
.. raw:: html
Hàm này tính diện tích giữa :math:`0` và :math:`x` tùy thuộc vào việc
:math:`x` thay đổi như thế nào. Để ý rằng đây là tất cả những gì ta cần,
bởi vì
.. math::
\int_a^b f(x) \;dx = F(b) - F(a).
.. raw:: html
Đây là một ký hiệu toán học biểu diễn diện tích khoảng giữa hai cận bằng
hiệu diện tích của khoảng có cận xa hơn trừ đi diện tích của khoảng có
cận gần hơn như trong :numref:`fig_area-subtract`.
.. raw:: html
.. _fig_area-subtract:
.. figure:: ../img/sub-area.svg
Minh họa tại sao ta có thể đơn giản bài toán tính diện tích dưới
đường cong giữa hai điểm thành bài toán tính toán phần diện tích phía
bên trái của một điểm.
.. raw:: html
Vì thế, ta có thể tính tích phân trong khoảng bất kỳ bằng việc tìm
:math:`F(x)`.
.. raw:: html
Để làm điều này, hãy xem xét một thí nghiệm. Như thường làm trong giải
tích, hãy tưởng tượng điều gì sẽ xảy ra khi ta dịch chuyển :math:`x` một
khoảng nhỏ. Bằng nhận xét phía trên, ta có
.. math::
F(x+\epsilon) - F(x) = \int_x^{x+\epsilon} f(y) \; dy.
.. raw:: html
Điều này cho ta biết hàm số :math:`F(x)` thay đổi bằng với diện tích
phía dưới một đoạn cực nhỏ của hàm :math:`f(y)`.
.. raw:: html
Đây là lúc mà ta cần xấp xỉ. Nếu nhìn vào phần diện tích nhỏ đó, ta thấy
phần diện tích này gần với diện tích của một hình chữ nhật với chiều cao
là giá trị tại :math:`f(x)` và chiều rộng là :math:`\epsilon`. Thật vậy,
khi :math:`\epsilon \rightarrow 0` phép xấp xỉ này càng chính xác. Vì
thế, ta có thể kết luận
.. math::
F(x+\epsilon) - F(x) \approx \epsilon f(x).
.. raw:: html
Tuy nhiên, ta có thể để ý rằng: phương trình này có dạng giống với khi
ta tính đạo hàm của :math:`F`! Vì thế ta có được một sự thật khá bất ngờ
rằng:
.. math::
\frac{dF}{dx}(x) = f(x).
.. raw:: html
Đây chính là *định lý cơ bản của giải tích*. Ta có thể viết nó dưới dạng
mở rộng là
.. math:: \frac{d}{dx}\int_{-\infty}^x f(y) \; dy = f(x).
:label: eq_ftc
.. raw:: html
Nó lấy ý tưởng về tìm kiếm diện tích (một *tiên nghiệm* khá khó), và
giảm tải thành một mệnh đề đạo hàm (một khái niệm toán học đã được
nghiên cứu sâu). Một lưu ý cuối là định lý này không cho ta biết dạng
thực sự của :math:`F(x)`. Thực chất, :math:`F(x) + C` với :math:`C` bất
kỳ đều có đạo hàm như nhau. Đây là sự thật chúng ta chấp nhận trong lý
thuyết tích phân. Đáng mừng là khi làm việc với tích phân hữu hạn, phần
hằng số bị loại bỏ, và vì thế không ảnh hưởng đến kết quả.
.. math::
\int_a^b f(x) \; dx = (F(b) + C) - (F(a) + C) = F(b) - F(a).
.. raw:: html
Công thức trên có thể khá trừu tượng và vô nghĩa, nhưng nó cho ta một
góc nhìn mới trong việc tính tích phân. Cách tiếp cận của ta không còn
là phải “cắt ra và cộng lại” để tính diện tích, mà chỉ cần tìm một hàm
số có đạo hàm là hàm hiện có! Đây là một điều tuyệt vời vì giờ ta có thể
liệt kê hàng loạt các phép tích phân phức tạp chỉ bằng cách đảo ngược
lại bảng trong :numref:`sec_derivative_table`. Ví dụ, ta biết đạo hàm
của :math:`x^{n}` là :math:`nx^{n-1}`. Vì thế, bằng cách sử dụng định lý
cơ bản :eq:`eq_ftc`, ta có:
.. math::
\int_0^{x} ny^{n-1} \; dy = x^n - 0^n = x^n.
.. raw:: html
Tương tự, ta biết đạo hàm của :math:`e^{x}` là chính nó, nên:
.. math::
\int_0^{x} e^{x} \; dx = e^{x} - e^{0} = e^x - 1.
.. raw:: html
Bằng cách này, ta có thể phát triển toàn bộ lý thuyết tích phân bằng
cách tự do tận dụng những ý tưởng từ giải tích vi phân. Mỗi quy tắc tích
phân đều bắt nguồn từ đây.
.. raw:: html
.. _integral_example:
Quy tắc Đổi biến
----------------
.. raw:: html
Cũng như vi phân, có một số quy tắc giúp việc tính tích phân dễ xử lý
hơn. Thật ra, mọi quy tắc trong giải tích vi phân (như quy tắc tích, quy
tắc tổng, và quy tắc dây chuyền) đều có một quy luật tương ứng cho giải
tích tích phân (lần lượt là tích phân từng phần, tích phân của tổng, và
quy tắc đổi biến số). Trong mục này, ta sẽ tìm hiểu quy tắc được cho là
quan trọng nhất trong danh sách trên: quy tắc đổi biến số.
.. raw:: html
Đầu tiên, giả sử ta có một hàm tích phân:
.. math::
F(x) = \int_0^x f(y) \; dy.
.. raw:: html
Giả sử ta muốn biết hàm này trông như thế nào khi kết hợp nó với một hàm
nữa để có được :math:`F(u(x))`. Bằng quy tắc dây chuyền, ta có
.. math::
\frac{d}{dx}F(u(x)) = \frac{dF}{du}(u(x))\cdot \frac{du}{dx}.
.. raw:: html
Ta có thể biến nó thành một mệnh đề tích phân bằng cách sử dụng định lý
cơ bản :eq:`eq_ftc` ở trên, để có
.. math::
F(u(x)) - F(u(0)) = \int_0^x \frac{dF}{du}(u(y))\cdot \frac{du}{dy} \;dy.
.. raw:: html
Biết rằng :math:`F` chính nó là một tích phân giúp vế bên trái có thể
được viết lại là
.. math::
\int_{u(0)}^{u(x)} f(y) \; dy = \int_0^x \frac{dF}{du}(u(y))\cdot \frac{du}{dy} \;dy.
.. raw:: html
Tương tự, :math:`F` là một tích phân nên theo định lý cơ bản
:eq:`eq_ftc`, :math:`\frac{dF}{dx} = f`, do đó:
.. math:: \int_{u(0)}^{u(x)} f(y) \; dy = \int_0^x f(u(y))\cdot \frac{du}{dy} \;dy.
:label: eq_change_var
.. raw:: html
Đây là quy tắc *đổi biến số*.
.. raw:: html
Để có một chứng minh trực quan hơn, xét chuyện gì sẽ xảy ra khi ta lấy
tích phân hàm :math:`f(u(x))` giữa :math:`x` và :math:`x+\epsilon`. Với
:math:`\epsilon` nhỏ, tích phân này xấp xỉ :math:`\epsilon f(u(x))`,
phần diện tích của hình chữ nhật tương ứng. Bây giờ, hãy so sánh với
tích phân của :math:`f(y)` từ :math:`u(x)` tới :math:`u(x+\epsilon)`. Ta
biết rằng
:math:`u(x+\epsilon) \approx u(x) + \epsilon \frac{du}{dx}(x)`, vậy nên
phần diện tích của hình chữ nhật này xấp xỉ
:math:`\epsilon \frac{du}{dx}(x)f(u(x))`. Do đó, để đồng hóa diện tích
hai hình chữ nhật này, ta phải nhân phần thứ nhất với
:math:`\frac{du}{dx}(x)` như minh họa trong
:numref:`fig_rect-transform`.
.. raw:: html
.. _fig_rect-transform:
.. figure:: ../img/rect-trans.svg
Minh họa cho biến đổi của một hình chữ nhật mỏng dưới sự thay đổi
biến số.
.. raw:: html
Điều này cho ta biết
.. math::
\int_x^{x+\epsilon} f(u(y))\frac{du}{dy}(y)\;dy = \int_{u(x)}^{u(x+\epsilon)} f(y) \; dy.
.. raw:: html
Đây là quy tắc đổi biến số được biểu diễn cho một hình chữ nhật nhỏ.
.. raw:: html
Chọn :math:`u(x)` và :math:`f(x)` một cách thích hợp sẽ cho phép tính
những tích phân cực kỳ phức tạp. Ví dụ, nếu ta chọn :math:`f(y) = 1` và
:math:`u(x) = e^{-x^{2}}` (có nghĩa là
:math:`\frac{du}{dx}(x) = -2xe^{-x^{2}}`)):
.. math::
e^{-1} - 1 = \int_{e^{-0}}^{e^{-1}} 1 \; dy = -2\int_0^{1} ye^{-y^2}\;dy,
.. raw:: html
và khi sắp xếp lại ta có
.. math::
\int_0^{1} ye^{-y^2}\; dy = \frac{1-e^{-1}}{2}.
.. raw:: html
Nhận xét về Quy ước Ký hiệu
---------------------------
.. raw:: html
Những độc giả tinh mắt sẽ nhận thấy điều kì lạ từ những phép tính trên.
Ví dụ như
.. math::
\int_{e^{-0}}^{e^{-1}} 1 \; dy = e^{-1} -1 < 0,
.. raw:: html
có thể âm. Khi nghĩ về các diện tích, có thể là hơi lạ khi ta thấy một
giá trị âm, vậy nên nó đáng để ta tìm hiểu kĩ hơn về các quy ước này.
.. raw:: html
Các nhà toán học có khái niệm về diện tích có dấu. Điều này thể hiện
theo hai cách. Đầu tiên, với :math:`f(x)` nhỏ hơn 0, thì diện tích cũng
sẽ âm. Ví dụ:
.. math::
\int_0^{1} (-1)\;dx = -1.
.. raw:: html
Thứ hai, tích phân tiến từ phải sang trái, thay vì từ trái sang phải,
cũng có diện tích âm
.. math::
\int_0^{-1} 1\; dx = -1.
.. raw:: html
Diện tích chuẩn (từ trái sang phải của một hàm số dương) thì luôn dương.
Bất kỳ kết quả nào thu được bằng cách lật hàm này (giả sử lật đối xứng
qua trục :math:`x` để lấy tích phân của một hàm âm, hoặc lật đối xứng
qua trục :math:`y` để lấy tích phân ngược thứ tự) sẽ tạo ra diện tích
âm. Và việc lật hai lần sẽ làm cặp dấu âm triệt tiêu nhau, từ đó lại có
diện tích dương.
.. math::
\int_0^{-1} (-1)\;dx = 1.
.. raw:: html
Thực tế, trong: numref:\ ``sec_geometry-linear-algebraic-ops``, ta đã
bàn về cách định thức biểu diễn diện tích có dấu theo cách tương tự.
.. raw:: html
Tích phân bội
-------------
.. raw:: html
Trong một số trường hợp, ta sẽ cần phải làm việc với số lượng chiều lớn
hơn. Ví dụ: giả sử ta có một hàm hai biến :math:`f(x, y)` và muốn biết
thể tích phía dưới :math:`f` khi :math:`x` nằm trong đoạn :math:`[a, b]`
và :math:`y` trong đoạn :math:`[c, d]`.
.. code:: python
# Construct grid and compute function
x, y = np.meshgrid(np.linspace(-2, 2, 101), np.linspace(-2, 2, 101),
indexing='ij')
z = np.exp(- x**2 - y**2)
# Plot function
ax = d2l.plt.figure().add_subplot(111, projection='3d')
ax.plot_wireframe(x, y, z)
d2l.plt.xlabel('x')
d2l.plt.ylabel('y')
d2l.plt.xticks([-2, -1, 0, 1, 2])
d2l.plt.yticks([-2, -1, 0, 1, 2])
d2l.set_figsize()
ax.set_xlim(-2, 2)
ax.set_ylim(-2, 2)
ax.set_zlim(0, 1)
ax.dist = 12
.. figure:: output_integral-calculus_vn_1b8b09_7_0.svg
.. raw:: html
Ta có thể viết thành tích phân sau:
.. math::
\int_{[a, b]\times[c, d]} f(x, y)\;dx\;dy.
.. raw:: html
Giả sử ta muốn tính tích phân này. Ta có thể tính tích phân theo cận
:math:`x` trước rồi chuyển sang cận :math:`y`, nghĩa là:
.. math::
\int_{[a, b]\times[c, d]} f(x, y)\;dx\;dy = \int_c^{d} \left(\int_a^{b} f(x, y) \;dx\right) \; dy.
.. raw:: html
Hãy cùng quan sát tại sao.
.. raw:: html
Hãy xem xét hình trên, nơi ta đã phân chia hàm thành
:math:`\epsilon \times \epsilon` ô vuông với chỉ số nguyên :math:`i, j`.
Trong trường hợp này, tích phân xấp xỉ:
.. math::
\sum_{i, j} \epsilon^{2} f(\epsilon i, \epsilon j).
.. raw:: html
Một khi đã rời rạc hóa bài toán, ta có thể cộng dồn các giá trị trên các
ô vuông này theo bất kỳ thứ tự nào mà không phải lo lắng về việc giá trị
cuối cùng thay đổi. Điều này được minh họa trong
:numref:`fig_sum-order`. Đặc biệt, có thể nói rằng
.. math::
\sum _ {j} \epsilon \left(\sum_{i} \epsilon f(\epsilon i, \epsilon j)\right).
.. raw:: html
.. _fig_sum-order:
.. figure:: ../img/sum-order.svg
Minh họa cách phân rã một tổng trên nhiều ô vuông dưới dạng tổng trên
các cột (1), sau đó cộng các tổng của cột với nhau (2).
.. raw:: html
Tổng bên trong chính xác là phiên bản rời rạc của tích phân:
.. math::
G(\epsilon j) = \int _a^{b} f(x, \epsilon j) \; dx.
.. raw:: html
Sau cùng, nếu kết hợp hai biểu thức này với nhau, ta có:
.. math::
\sum _ {j} \epsilon G(\epsilon j) \approx \int _ {c}^{d} G(y) \; dy = \int _ {[a, b]\times[c, d]} f(x, y)\;dx\;dy.
.. raw:: html
Kết hợp tất cả lại:
.. math::
\int _ {[a, b]\times[c, d]} f(x, y)\;dx\;dy = \int _ c^{d} \left(\int _ a^{b} f(x, y) \;dx\right) \; dy.
.. raw:: html
Lưu ý rằng, một khi đã rời rạc hóa, tất cả những gì ta làm là sắp xếp
lại thứ tự tính tổng một danh sách các số. Điều này có vẻ hiển nhiên,
tuy nhiên kết quả này (được gọi là *Định lý Fubini*) không phải lúc nào
cũng đúng! Đối với loại toán học gặp phải khi thực hiện tác vụ học máy
(các hàm liên tục), không có gì đáng lo ngại, tuy vậy ta có thể tạo các
ví dụ mà cách này không áp dụng được (ví dụ: hàm
:math:`f(x, y) = xy(x^2-y^2)/(x^2+y^2)^3` trên hình chữ nhật
:math:`[0,2]\times[0,1]`).
.. raw:: html
Lưu ý rằng việc chọn tính tích phân theo cận :math:`x` trước, cận
:math:`y` sau là tùy ý. Ta cũng có thể chọn thực hiện :math:`y` trước,
:math:`x` sau:
.. math::
\int _ {[a, b]\times[c, d]} f(x, y)\;dx\;dy = \int _ a^{b} \left(\int _ c^{d} f(x, y) \;dy\right) \; dx.
.. raw:: html
Thông thường, ta sẽ rút gọn thành ký hiệu vector và nói rằng tích phân
trên miền :math:`U = [a, b]\times [c, d]` là:
.. math::
\int _ U f(\mathbf{x})\;d\mathbf{x}.
.. raw:: html
Đổi biến trong Tích phân bội
----------------------------
.. raw:: html
Tương tự như tích phân đơn biến, việc đổi biến trong tích phân bội là
một kỹ thuật quan trọng. Chúng tôi sẽ tổng hợp kết quả mà không chứng
minh và trình bày.
.. raw:: html
Chúng ta cần một hàm để tái tham số hoá miền tích phân. Ta có thể coi
hàm này là :math:`\phi: \mathbb{R}^n \rightarrow \mathbb{R}^n`, nhận
:math:`n` biến thực và trả về :math:`n` giá trị thực khác. Để giữ cho
các biểu thức rõ ràng, ta giả sử :math:`\phi` là *đơn ánh (injective)*
tức nó cho đầu ra khác nhau với đầu vào khác nhau
(:math:`\phi(\mathbf{x}) = \phi(\mathbf{y}) \implies \mathbf{x} = \mathbf{y}`).
.. raw:: html
Trong trường hợp này, ta có:
.. math::
\int _ {\phi(U)} f(\mathbf{x})\;d\mathbf{x} = \int _ {U} f(\phi(\mathbf{x})) \left|\det(D\phi(\mathbf{x}))\right|\;d\mathbf{x}.
.. raw:: html
trong đó :math:`D\phi` là *Jacobian* của :math:`\phi`, ma trận của các
đạo hàm riêng của
:math:`\boldsymbol{\phi} = (\phi_1(x_1, \ldots, x_n), \ldots, \phi_n(x_1, \ldots, x_n))`,
.. math::
D\boldsymbol{\phi} = \begin{bmatrix}
\frac{\partial \phi _ 1}{\partial x _ 1} & \cdots & \frac{\partial \phi _ 1}{\partial x _ n} \\
\vdots & \ddots & \vdots \\
\frac{\partial \phi _ n}{\partial x _ 1} & \cdots & \frac{\partial \phi _ n}{\partial x _ n}
\end{bmatrix}.
.. raw:: html
Khi xét kĩ hơn, ta nhận thấy điều này tương tự như quy tắc dây chuyền
đơn biến :eq:`eq_change_var`, ngoại trừ việc ta đã thay thế
:math:`\frac{du}{dx}(x)` bằng
:math:`\left|\det(D\phi(\mathbf{x}))\right|`. Hãy cùng xem ta có thể
giải thích hạng tử này như thế nào. Hãy nhớ lại rằng
:math:`\frac{du}{dx}(x)` cho thấy việc áp dụng :math:`u` kéo dãn trục
:math:`x` như thế nào. Tương tự, ở không gian nhiều chiều,
:math:`\left|\det(D\phi(\mathbf{x}))\right|` cho thấy áp dụng
:math:`\boldsymbol{\phi}` sẽ kéo dãn diện tích (hoặc thể tích, siêu thể
tích) của một hình vuông nhỏ (hoặc một *khối lập phương* nhỏ) như thế
nào. Nếu :math:`\boldsymbol{\phi}` là một phép nhân với ma trận, thì ta
đã biết định thức có ảnh hưởng như thế nào.
.. raw:: html
Đi sâu hơn một chút, ta có thể chỉ ra rằng *Jacobian* đưa ra xấp xỉ tốt
nhất cho một hàm đa biến :math:`\boldsymbol{\phi}` tại một điểm bằng ma
trận theo cách giống như khi xấp xỉ đạo hàm và gradient bằng các đường
hoặc mặt phẳng. Do đó, định thức Jacobian tương ứng với hệ số tỷ lệ ta
đã xác định trong không gian một chiều.
.. raw:: html
Việc này cần đi sâu vào một số chi tiết, vì vậy đừng lo lắng nếu bạn
chưa hiểu ngay. Hãy cùng xem qua một ví dụ mà ta sẽ dùng sau này. Xét
tích phân:
.. math::
\int _ {-\infty}^{\infty} \int _ {-\infty}^{\infty} e^{-x^{2}-y^{2}} \;dx\;dy.
.. raw:: html
Rất khó tính trực tiếp tích phân này, nhưng nếu đổi biến, thì ta có thể
đạt được tiến triển đáng kể. Nếu đặt
:math:`\boldsymbol{\phi}(r, \theta) = (r \cos(\theta), r\sin(\theta))`
(nghĩa là :math:`x = r \cos(\theta)`, :math:`y = r \sin(\theta)`), thì
ta có thể áp dụng công thức đổi biến để có:
.. math::
\int _ 0^\infty \int_0 ^ {2\pi} e^{-r^{2}} \left|\det(D\mathbf{\phi}(\mathbf{x}))\right|\;d\theta\;dr,
.. raw:: html
với:
.. math::
\left|\det(D\mathbf{\phi}(\mathbf{x}))\right| = \left|\det\begin{bmatrix}
\cos(\theta) & -r\sin(\theta) \\
\sin(\theta) & r\cos(\theta)
\end{bmatrix}\right| = r(\cos^{2}(\theta) + \sin^{2}(\theta)) = r.
.. raw:: html
Vì vậy, tích phân được viết lại là:
.. math::
\int _ 0^\infty \int _ 0 ^ {2\pi} re^{-r^{2}} \;d\theta\;dr = 2\pi\int _ 0^\infty re^{-r^{2}} \;dr = \pi,
.. raw:: html
trong đó đẳng thức cuối cùng là phép tính mà ta đã sử dụng trong
:numref:`integration_example`.
.. raw:: html
Chúng ta sẽ lại gặp tích phân này khi chúng ta học về các biến ngẫu
nhiên liên tục trong :numref:`sec_random_variables`.
Tóm tắt
-------
.. raw:: html
- Lý thuyết tích phân cho phép chúng ta giải đáp các câu hỏi về các
diện tích hoặc thể tích.
- Định lý cơ bản của giải tích cho phép vận dụng kiến thức về đạo hàm
để tính toán các diện tích thông qua quan sát rằng đạo hàm của diện
tích tới một điểm nào đó được xác định bởi giá trị tại điểm đó của
hàm đang được tích phân.
- Tích phân trong không gian nhiều chiều có thể được tính bằng cách lặp
qua các tích phân đơn biến.
Bài tập
-------
.. raw:: html
1. Tính :math:`\int_1^2 \frac{1}{x} \;dx`.
2. Áp dụng công thức đổi biến để tính
:math:`\int_0^{\sqrt{\pi}}x\sin(x^2)\;dx`.
3. Tính :math:`\int_{[0,1]^2} xy \;dx\;dy`.
4. Áp dụng công thức đổi biến để tính
:math:`\int_0^2\int_0^1xy(x^2-y^2)/(x^2+y^2)^3\;dy\;dx` và
:math:`\int_0^1\int_0^2f(x, y) = xy(x^2-y^2)/(x^2+y^2)^3\;dx\;dy` để
thấy sự khác nhau giữa chúng.
Thảo luận
---------
- Tiếng Anh: `MXNet `__
- Tiếng Việt: `Diễn đàn Machine Learning Cơ
Bản `__
Những người thực hiện
---------------------
Bản dịch trong trang này được thực hiện bởi:
- Đoàn Võ Duy Thanh
- Phạm Hồng Vinh
- Phạm Đăng Khoa
- Lê Khắc Hồng Phúc
- Nguyễn Văn Cường