1 điểm bởi GN⁺ 2025-03-14 | 1 bình luận | Chia sẻ qua WhatsApp
  • Đây là một webbook đang được Charles Petzold viết, kết nối các chủ đề như lịch sử và ứng dụng của logarit, phép nhân, lũy thừa, lượng giác, âm nhạc và đồ thị
  • Trục trung tâm là logarit như một công cụ tính toán và thước trượt, không chỉ gồm lý thuyết mà còn bao gồm cả quá trình tự tính toán và chế tạo công cụ
  • Màu của tiêu đề chương dùng để phân biệt trạng thái biên soạn, giúp người đọc nhận ra ngay chương nào gần hoàn thành và chương nào vẫn đang thay đổi hoặc chưa bắt đầu
  • Tác phẩm vẫn chưa qua biên tập chuyên nghiệp, và mục tiêu hoàn thành toàn bộ được đặt vào cuối năm 2027
  • Phù hợp nhất để xem trên máy tính để bàn và laptop; trên iPad Mini iOS 12.5.7 và điện thoại có thể phát sinh vấn đề hiển thị

Phạm vi của webbook và trạng thái biên soạn

  • The Lost Art of Logarithms là một webbook đang được Charles Petzold viết
  • Tác phẩm xem logarit không chỉ là một khái niệm toán học đơn thuần mà là một công cụ xuyên suốt lịch sử tính toán và khoa học
    • Logarit là gì
    • Tính hữu ích, lịch sử và tính phổ quát của logarit
    • Cách logarit từng được dùng trong lịch sử của lượng giác phẳng và lượng giác cầu
    • Lý thuyết và cách sử dụng thực tế của thước trượt
  • Màu của tiêu đề chương thể hiện giai đoạn biên soạn hiện tại
    • Màu xanh lá: gần như đã hoàn thành và không dự kiến có thay đổi lớn, nhưng vẫn có thể có các chỉnh sửa nhỏ, hiệu đính và tinh chỉnh hình thức
    • Màu đỏ: chưa hoàn thành và hiện vẫn đang thay đổi
    • Màu đen: chưa bắt đầu
  • Hiện vẫn chưa có biên tập chuyên nghiệp, và thời điểm hoàn thành dự kiến là cuối năm 2027

Môi trường xem và cấu trúc mục lục

1 bình luận

 
GN⁺ 2025-03-14
Ý kiến trên Hacker News
  • Tôi thấy dễ hiểu hơn nhiều khi lần theo động cơ ban đầu của logarit, thay vì cách học logarit trong chương trình tiểu học và trung học
    Nếu nghĩ về vấn đề mà Napier đối mặt, tức là muốn đơn giản hóa phép nhân các giá trị quan sát thiên văn rất lớn nên đi tìm một hàm có dạng f(ab) = f(a) + f(b), và vì sao điều đó dẫn tới một họ hàm nhất định, thì sẽ dễ cảm nhận hơn vì sao logarit xuất hiện ở khắp nơi
    Điều này trái với cách dạy logarit như hàm ngược của hàm mũ; thực ra kiểu bàn luận như vậy mãi đến trước Euler vẫn chưa có
    Tôi nghĩ học toán theo cách này thú vị hơn. Tức là lần theo câu hỏi: vấn đề mà tác giả ban đầu muốn giải là gì, và vào thời đó họ có những công cụ nào

    • Cuốn "Calculus: The Genetic Approach" của Toeplitz giải thích toán học thông qua diễn tiến lịch sử, và cách tiếp cận này dường như cũng được dùng rộng rãi hơn dưới tên https://en.wikipedia.org/wiki/Genetic_method
      Felix Klein cũng từng nói rằng “ở quy mô nhỏ, người học một cách tự nhiên và tất yếu phải lặp lại quá trình phát triển mà khoa học đã trải qua ở quy mô lớn”
    • Nếu bạn thích cách tiếp cận này, tôi rất khuyên đọc Mathematics: It's Content, Methods, and Meaning của Kolmogorov
      Cuốn này áp dụng cùng phương pháp đó cho nhiều khái niệm toán học hơn rất nhiều, và độ dài khoảng 1.000 trang
      Tôi nghĩ có lẽ tôi cũng biết đến cuốn này từ đây, nên giờ coi như truyền lại
      Cách tiếp cận này cũng gắn với triết học duy vật biện chứng kiểu Liên Xô, vốn cho rằng mọi thứ đều sinh ra từ nhu cầu vật chất
      Tôi không biết mình có hoàn toàn đồng ý với toàn bộ triết học đó không, nhưng cuốn sách của Kolmogorov thật sự khiến tôi mở mang tầm mắt
    • Tôi nghĩ cách này nên được đưa lên tuyến đầu
      Với tinh thần đó, tôi đề xuất "magnitude notation"[0]. Từ “logarithm” nghe như toán cao cấp nên khiến mọi người tránh xa, trong khi khái niệm cơ bản thực ra làm toán dễ hơn và thú vị hơn
      https://saul.pw/mag
    • Tôi thường nghĩ như vậy
      Giáo dục toán học có vẻ có xu hướng thu hút những người rất thông minh và suy nghĩ trừu tượng như Euler, tức là những người sẽ hiểu bằng trực giác chứ không phải bằng các quy trình thao tác
      Với những người khác, phải bơi trong bài toán gốc một thời gian thì ánh sáng mới bắt đầu lóe lên
    • Ngược lại, tôi thích cách giải thích thẳng thắn rằng logarit là hàm ngược của lũy thừa hơn
      Vì có thể hiểu ngay 10^2 * 10^3 = 10^5, nên trực quan hơn
      Do đó việc dùng bảng logarit để biến thành phép cộng là hợp lý. Không cần một bài viết dài dòng
      Lấy logarit để cộng 2 + 3 = 5, rồi nâng lũy thừa ngược lại thì được 10^5
  • Đúng lúc thật. Mới hôm qua tôi vừa học cách dùng thước tính
    Khi định mua một cái, tôi thấy có quá nhiều lựa chọn nên rơi vào một cái hang thỏ nhỏ[0], và có những chiếc thước tính trông như tác phẩm nghệ thuật thuần túy
    Trong thời đại mọi giao diện đều là tấm kính, tôi đang khám phá lại những lợi thế bất ngờ mà công cụ analog có thể mang lại
    Gần đây tôi thích dùng bút và giấy như một trình soạn thảo khi phác thảo ban đầu cho các dự án lập trình
    Không biết mọi người có công cụ analog nào đặc biệt yêu thích không
    [0]:https://sliderulemuseum.com/

    • Khi học các bài giảng toán, đôi khi tôi nghĩ đến việc mua những công cụ analog như vậy
      Có ai đó trên Hacker News từng khiến tôi chú ý đến Soroban[1], bàn tính kiểu Nhật, và đến nay nó vẫn được dùng để rèn tốc độ tính nhẩm cực nhanh[2]
      1. https://en.wikipedia.org/wiki/Soroban
      2. https://www.youtube.com/watch?v=s6OmqXCsYt8
    • Tôi có vài chiếc thước tính và dùng hằng ngày
      Đặc biệt trong nhà bếp, nơi phải thường xuyên điều chỉnh tỉ lệ, đó là công cụ tốt nhất có thể có
      Chỉ cần đặt theo hệ số phóng to/thu nhỏ mong muốn, bạn có thể đọc bất kỳ tỉ lệ cần thiết nào trong nháy mắt
      Thành thật mà nói, tôi ngạc nhiên vì nó không phải là thiết bị tiêu chuẩn trong bếp
    • Soroban. Đó là bàn tính kiểu Nhật
      Mỗi con số chỉ có một cách biểu diễn, và có thể thực hiện + - * / cùng các phép tính khác
      http://totton.idirect.com/
    • Tôi dùng bút/bút chì và giấy chấm. Nó mở ra một không gian tư duy hoàn toàn khác
    • Có thể tìm mua chiếc thước tính dài 1 mét mà người đàn ông trong ảnh gốc đang cầm ở đâu?
  • Thật thú vị là khi áp dụng biến đổi logarit, dữ liệu thường trở nên giống phân phối chuẩn
    Các quy luật tự nhiên nhìn chung có dạng nhân. Như F=ma, PV=nRT
    Nếu nhân các biến ngẫu nhiên độc lập, cùng phân phối với nhau, nhờ định lý giới hạn trung tâm ta sẽ có dữ liệu phân phối log-chuẩn. Vì trên thang logarit, phép nhân là phép cộng, và định lý giới hạn trung tâm khá bền vững ở mức nào đó ngay cả khi không cùng phân phối
    Nếu xem dữ liệu là kết quả của nhiều yếu tố ảnh hưởng nhân với nhau, thì vì thế sẽ xuất hiện phân phối log-chuẩn

    • Định lý giới hạn trung tâm không đòi hỏi các biến phải độc lập và cùng phân phối
      Chỉ cần độc lập, có phương sai, và thỏa một số điều kiện khá yếu đối với các bậc cao hơn một chút
      Ngoài ra thì các biến có thể khá khác nhau
    • Nếu vẽ trên thang log-log bằng bút dạ thật dày, mọi dữ liệu đều tuyến tính
  • Có một sự thật liên quan đến log mà tôi thường dùng
    Nếu X là một biến ngẫu nhiên tuân theo phân phối đều giữa 0 và 1, thì –ln(X)/λphân phối mũ với tham số tỷ lệ λ
    Ví dụ, nó hữu ích khi lấy mẫu ngẫu nhiên có trọng số hoặc tạo thời điểm sự kiện trong mô phỏng

    • Dạng tổng quát của điều này được gọi là lấy mẫu biến đổi ngược[0]
      Nó dùng sự thật rằng với hàm phân phối tích lũy F của một biến ngẫu nhiên bất kỳ X, biến ngẫu nhiên Y = F(X) tuân theo phân phối đều chuẩn[1]
      Mọi hàm phân phối tích lũy đều tăng đơn điệu trên khoảng đơn vị, nên có thể lấy hàm ngược[2]
      Vì vậy nếu áp dụng hàm phân phối tích lũy ngược cho hai vế của biểu thức trên, ta có F^-1(Y) = X, và nó được phân phối như X
      Lấy mẫu từ phân phối đều chuẩn rồi dùng biến đổi ngược là cách phổ biến nhất để tạo số ngẫu nhiên từ một phân phối bất kỳ
      0. https://en.m.wikipedia.org/wiki/Inverse_transform_sampling
      1. https://en.m.wikipedia.org/wiki/Probability_integral_transfo...
      2. Vì không phải mọi hàm phân phối tích lũy đều một-một, có thể cần dùng hàm ngược tổng quát hóa
    • Cần học toán đến mức nào để hiểu được điều này?
    • Cũng có cách hiểu mà không dùng hàm phân phối tích lũy hay hàm mật độ xác suất
      Khi X là biến phân phối mũ và c là hằng số, nếu xét với điều kiện là giá trị lớn, thì X + c có cùng phân phối với X
      Nói cách khác, phân phối đuôi của hai biến là như nhau. Tính chất này đúng chính xác với phân phối mũ, và thường được gọi là tính không nhớ
      Tương tự, nếu U là phân phối đều trên [0, 1]c là hằng số, thì khi xét với điều kiện là giá trị nhỏ, cU có cùng phân phối với U
      Nếu cU được phân phối gần 0 giống như U, thì -ln(c U) được phân phối gần vô cực giống như -ln(U)
      Nhưng vì -ln(c U) = -ln(c) - ln(U), nên phần đuôi của -ln(U) không đổi ngay cả khi cộng thêm một hằng số. Do đó nó phải là phân phối mũ
  • Tôi đã bắt đầu dùng LMAX Disruptor trong một vài dự án
    Một điểm đặc biệt của Disruptor là kích thước hàng đợi luôn phải là lũy thừa của 2
    Tôi muốn đảm bảo luôn có ít nhất đủ không gian cho bất kỳ kích thước nào, và không muốn tính thủ công, nên đã viết thế này
    var actualSize = Double.valueOf(Math.pow(2, Math.ceil(Math.log(approxSize) / Math.log(2)))).intValue();
    Hơi quá mức cho một dòng, nhưng chỉ là dùng các quy tắc log cơ bản để lấy số mũ đúng
    Đây là nội dung đã học hồi trung học, nhưng một số đồng nghiệp nhìn nó như thể tôi đang dùng một thứ toán học huyền bí chưa từng có tiền lệ
    Có lẽ họ không dùng log ngoài ký hiệu Big-O

    • Tất nhiên viết như vậy cũng đủ dùng, nhưng nếu là tôi thì có lẽ sẽ viết thế này
      var actualSize = Integer.highestOneBit(approxSize - 1) << 1;
      Chỉ là vì muốn tránh nỗi sợ ẩn dưới những pow()log() giản dị
      Integer.highestOneBit còn được gọi là “tách bit bên trái nhất”, “bit 1 cao nhất” và để triển khai hiệu quả thì về cơ bản nó nên là một phép toán nguyên thủy
      Nó khác với x&-x ở phía bit thấp nhất
      Lệnh CPU thực tế thường gần với Integer.numberOfLeadingZeros hơn, nhưng từ đó chỉ cần dịch bit là được
    • Nếu dịch kích thước sang phải từng 1 bit và đếm số lần cho đến khi giá trị thành 0, ta có thể lấy được số mũ của 2 cho kích thước đó
  • Tôi rất khuyến nghị ghi nhớ vài log để tính nhẩm
    Nó đem lại một năng lực bất ngờ
    Bài viết tôi dùng khi bắt đầu ở đây: https://entropicthoughts.com/learning-some-logarithms

    • Blog đó hay
      Thú vị là bản thân sự suy giảm trí nhớ về bản chất cũng mang tính log/mũ
      Học log bằng lặp lại ngắt quãng khá là meta
    • Tôi tò mò sau một năm áp dụng thực tế kể từ bài đó thì có những suy ngẫm gì
      Nhân tiện, blog đó thật sự là một trong những blog tôi thích nhất
  • Vi phân logarit cũng là một khái niệm cơ bản đến đáng ngạc nhiên
    (ln(f))' = f'/f
    Trong lý thuyết hàm thì dùng suốt, nhưng mọi người thường không nhận ra rằng nó có liên quan đến log
    Những hàm mà vi phân logarit cho ra dạng đẹp cũng thú vị hơn nhiều so với tưởng tượng
    Tự nhiên đầy rẫy hàm Gompertz, và một khi đã quen thì sẽ thấy chúng ở khắp nơi

  • Trước đây, khả năng thực hiện các phép xấp xỉ log cơ bản trong đầu có giá trị thực dụng
    Thời chưa có máy tính, người ta dùng cách này để nhân, chia hoặc lũy thừa nhanh
    Trong "Surely You're Joking" của Feynman có câu chuyện về các nhà khoa học ở Los Alamos thi tốc độ tính log nhẩm

  • Cha đẻ của log, John Napier, tức chữ N trong ln, gần như đã vận hành một xưởng tính toán bằng người và cho lập bảng log trong khoảng 20 năm
    Điều này cực kỳ quan trọng đối với hàng hải thiên văn
    Có một khoản tiền thưởng lớn dành cho người phát triển được cách vượt biển an toàn, và việc này cũng dẫn đến phát minh đồng hồ bỏ túi

    • Chữ n trong ln chẳng phải là “natural”, tức “logarithm natural” sao?
  • Trong một lớp do Huffman, người nổi tiếng với nén Huffman, giảng dạy, tôi đã học cách nhân bằng phép cộng và bảng tra cứu
    Trong kỳ thi không được dùng máy tính
    Nhưng mẹo tôi thích nhất là đổi cơ số: https://www.khanacademy.org/math/algebra2/x2ec2f6f830c9fb89:...
    Chỉ cần luyện tập một chút là có thể đổi cơ số xấp xỉ trong đầu giữa lũy thừa của 2, lũy thừa của 10 và e