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

Du Mã

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).

Vi phôi - 微胚 (Diffeomorphism)

Đây chỉ là câu chuyện, cách diễn đạt mà tôi tự kể cho mình nghe, không phải là một bài viết khoa học chính thống. Tôi viết để giúp bản thân dễ nắm bắt, dễ hình dung hơn về một số khái niệm toán học mà tôi quan tâm, và điều bất ngờ là qua đó, tôi cũng có thêm một số hiểu biết sâu sắc về chính những khái niệm đó. Nếu bạn thấy nó hữu ích, tôi cũng xin lấy làm vui lòng. Nếu bạn thấy có gì không đúng, hãy cho tôi biết để tôi có thể sửa chữa. Cảm ơn bạn đã đọc!

Chuỗi Taylor - Một cách dễ nhớ

Khai triển Taylor (Taylor expansion) là một trong những ý tưởng đẹp nhất của toán học. Ý tưởng đằng sau của nó khá đơn giản: hầu hết các hàm số (giả sử gọi là $f$) đều trơn (smooth) (khả vi vô hạn lần) trên một khoảng $(a,b)$ nào đó, hay $f\in C^\infty(a,b)$. Trong khi đó, ta cũng biết rằng các đa thức (polynomials) cũng trơn (trên toàn bộ $\mathbb{R}$). Vậy nên, với mỗi hàm trơn, ta có thể dùng một đa thức để xấp xỉ (approximate) hàm đó đủ tốt.