Biểu diễn công thức toán trong LATEX trên Jupyter Notebook

Viet Hung Nguyen
PyMivn
Published in
4 min readMay 6, 2017

Tính toán, vẽ đồ thị, trình bày báo cáo khoa học, chạy code Python, R… trên cùng một chương trình: Jupyter

Ma trận, không trận nào mà lại khiến sinh viên sợ như ma👻

Trước đây ta thường viết công thức toán bằng tay, vừa xấu, vừa xa, nhìn lại không ra gì. Mãi cho tới năm học cuối, khi phải đi làm đồ án tốt nghiệp, lúc ấy mới cần viết công thức toán lên máy tính. Các sinh viên “tiêu chuẩn” sẽ làm đồ án và viết lên Microsoft Word, việc gõ công thức khá trực quan nhưng cũng xấu và không kém phần mệt mỏi.
Một cách khác là dùng LATEX, công cụ chuyên để trình bày các bài báo khoa học. LATEX không khó, nó chỉ không phổ biến ở Việt Nam, như mọi thứ tốt đẹp khác (Linux, Python…)
Xem một ví dụ làm đồ án sử dụng LATEXđây

Jupyter là công cụ tiện lợi số 1 trong việc biểu diễn các tính toán khoa học và mang đi trình diễn, đặc biệt là giảng dạy. Ta có thể viết, chạy code, vẽ đồ thị trực tiếp trên Jupyter, và cũng có thể biểu diễn công thức toán (nhúng vào LATEX) trên đây.

Bài này đưa ra các ký hiệu để biểu diễn công thức toán cơ bản, đủ để dùng khi học về thống kê hay Machine Learning.

Mỗi ô đễ gõ trong Jupyter gọi là 1 cell, 1 cell này có thể đổi thành kiểu “MarkDown”, “Code” hay “Raw”. Cell phải có type là MarkDown mới hiển thị được Latex (chọn cell, bấm chữ m). Dùng dấu $ hoặc $$ để bắt đầu và kết thúc biểu thức Latex. Dùng $$ khi biểu thức được biểu diễn hoàn toàn trên một dòng riêng.

Các chữ cái Hy Lạp hay dùng trong công thức toán (Greek letters)

$$ \alpha,  \beta, \gamma, \Gamma, \pi, \Pi, \phi, \varphi, \mu, \Phi $$

Dấu mũ và chỉ số (superscripts and subscripts)

Mũ: ^i, dùng thêm ^{i} nếu i có 2 chữ số trở lên

Chỉ số: _i

$$ \alpha_i ^ {22} + \beta_j ^ 3 $$$$ f_{n+1} = (n+1)^{11} + f_{n} $$

Phân số (fraction)

$$ \frac{numerator}{denominator} + \frac{\alpha_i}{\beta_j} $$

Tổng (sum)

\sum_{i=1}^{10} t_i

Công thức tính cost function trong Neural network

http://ufldl.stanford.edu/wiki/index.php/Backpropagation_Algorithm

Sử dụng các ký hiệu đã học ở trên để biểu diễn một công thức phức tạp

$$ J(W, b) = [\frac{1}{m} \sum_{i=1}^{m} J(W, b; x^{(i)}, y^{(i)} ] + \frac{\lambda}{2} \sum_{l=1}^{n_l-1}  \sum_{i=1}^{s_l}  \sum_{j=1}^{s_{l+1}} (W_{ji} ^{(l)})^2 $$

Ma trận (matrix)

Xem thêm các cách biểu diễn khác https://en.wikibooks.org/wiki/LaTeX/Mathematics#Matrices_and_arrays

$$ A_{m,n} = 
\begin{pmatrix}
a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\
a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m,1} & a_{m,2} & \cdots & a_{m,n}
\end{pmatrix} $$

Tham khảo: https://en.wikibooks.org/wiki/LaTeX/Mathematics

Đăng ký học #Python 3 từ con số 0 tại https://pymi.vn/ — trung tâm đào tạo lập trình viên Python số 1 Việt Nam.

Nhập email vào http://invite.pymi.vn/ để nhận thư mời tham gia forum hỏi đáp Python, Django, Golang, Linux …

PS: do blog này không hỗ trợ hiển thị công thức toán, nên chúng tôi phải đưa các công thức lên ở dạng file ảnh. Xem bản gốc (nên xem trên máy tính) tại: https://github.com/pymivn/math-stats-ml/blob/master/latexmath.ipynb

--

--