https://iili.io/2AK2cHG.png

Du Mã

Diện tích hình bình hành tạo bởi 2 vector

Ý tưởng

Diện tích hình bình hành tạo bởi 2 vector

$$u = \begin{bmatrix} a \\ c \end{bmatrix},\qquad v = \begin{bmatrix} b \\ d \end{bmatrix}$$

được minh họa như sau:

Múa cột

Để tính phần diện tích hình bình hành, ta sẽ lấy phần diện tích của hình chữ nhật ngoài cùng trừ cho phần diện tích của 4 tam giác nhỏ (đánh số 1,2,3,4) và 2 hình chữ nhật nhỏ ở 2 góc (đánh số 5, 6). Bằng kiến thức hình học sơ cấp, ta có thể nhanh chóng nhẩm ra kích thước các cạnh của tất cả tam giác và hình chữ nhật đó dựa trên toạ độ của 2 vector $u$ và $v$ như sau:

Tích phân từng phần - làm sao cho đỡ rối

Ý tưởng

Ý tưởng của tích phân từng phần (integration by parts) bắt nguồn từ đạo hàm của một tích.

Nhắc lại, để tính đạo hàm của một tích hai hàm $u$ và $v$, ta sử dụng phương pháp “chia để trị” như sau

$$(uv)' = u'v+uv',\qquad\qquad(1)$$

hay, ở dạng khác là

$$\dfrac{d}{dx}(uv) = \dfrac{du}{dx}v + u\dfrac{dv}{dx}.\qquad\qquad(2)$$

Nhân cả 2 vế của phương trình (2) với $dx$, ta được

$$d(uv) = u\,dv + v\,du.\qquad\qquad(3)$$

Lấy tích phân cả hai vế của phương trình (3) theo biến $x$, ta được

Tại sao đạo hàm của $x^2$ là $2x$

Bài toán lấy đạo hàm này quá đơn giản với bất cứ ai đã học giải tích. Phần đông bạn đọc có thể nhớ ngay kết quả là $2x$ mà không cần phải suy nghĩ. Tuy nhiên, tại sao đạo hàm của $x^2$ lại là $2x$? Có lẽ không nhiều bạn đọc có thể giải thích rõ ràng lí do tại sao ngay lập tức. Bài viết siêu ngắn này sẽ giúp bạn ôn lại và kết nối các mẩu kiến thức mà chắn hẳn bạn đã học từ trước.

Nghiệm bình phương tối thiểu (Least Square Solution)

1. Phát xuất của bài toán

Khi cố gắng giải bài toán $\mathbb{X}\beta = \mathbf{y}$ nào đó và nhận ra nó vô nghiệm (tức là dấu “=” không xảy ra với mọi vector $\beta\in\mathbb{R^n}$), ta thường nghĩ đến việc tìm giá trị $\hat\beta$ nào đó sao cho $\mathbb{X}\hat\beta$ “gần” $\mathbf{y}$ nhất có thể. Vì dấu “=” không xảy ra, ta sẽ cần thiết kế một cách đo lường mức độ “gần” giữa $\mathbf{y}$ và $\mathbb{X}\beta,$ tiếp theo là cực tiểu hoá bài toán đo lường đó để tìm ra $\hat\beta$.

Phân phối phương thức (Dispatch) trong Julia

Hàm và Phương thức trong Julia

Trong Julia, ta có khái niệm hàm (functions) và phuơng thức (methods). Hàm đơn giản chỉ là 1 cái tên như: push! hay read. Phương thức là định nghĩa cụ thể của một hàm cho các kiểu đối số (types of arguments) nhất định, ví dụ như push!(s::Set, x) hoặc read(io::IO). Đứng từ góc nhìn hướng đối tượng (object-oriented) bạn có thể xem các phương thức như là các thể hiện (instances) của hàm.

Swissmap

SwissMap

Go 1.24 mặc định sẽ dùng SwissMap, vậy SwissMap là gì? Tại sao nó lại quan trọng?

SwissMap và SwissTable cung cấp giải pháp cải tiến cho bảng băm hiệu năng cao, tiết kiệm bộ nhớ trong Golang.

Vấn đề ban đầu

Trong nhiều ứng dụng, bảng băm (hash table) đóng vai trò quan trọng, đặc biệt khi cần truy cập dữ liệu với tốc độ cao sử dụng bộ nhớ tối thiểu. Tuy nhiên, bảng băm tích hợp sẵn (built-in map) của Golang, mặc dù thuận tiện cho các trường hợp phổ thông, nó lại tiêu tốn nhiều bộ nhớ hơn và có thể không đủ nhanh cho các tình huống yêu cầu hiệu suất cao (ví dụ DoltDB).