Youmans Yu's Technical Blog

website·Indexed 31 days ago

https://blog.youmans.top/

A collection of technical notes and guides covering linear algebra (based on 'Linear Algebra Done Right'), machine learning, and sampling methods like the Boltzmann Generator. The site also includes tutorials on LaTeX automation with Arara, computer algebra system Maxima configuration with Jupyter Notebook, and blog setup using Hexo and GitHub Pages.

Tokens
12.2K
Snippets
25
Records
95
Agent score
49%

What's inside Youmans Yu Blog

  1. Introduction to Arara LaTeX automation tool

    Arara is a tool written in Kotlin designed to automate the build process for LaTeX documents. It serves a similar purpose to other automation tools like latexmk or rubber, though it differs in its underlying design philosophy.
    % hello.tex
    \documentclass{article}
    
    \begin{document}
    Hello world!
    \end{document}
  2. Overview of Arara LaTeX automation tool

    Arara is a helper tool written in Kotlin designed to automate the build process of LaTeX documents. While it provides functionality similar to tools like latexmk or rubber, it differs in its underlying design philosophy.
  3. Introduction to Arara for LaTeX automation

    Arara is a build automation tool for LaTeX documents written in Kotlin. Unlike tools like latexmk or rubber that automatically analyze files to determine build steps, Arara requires explicit instructions called 'directives' embedded as comments within the LaTeX source files to perform actions.
    % hello.tex
    % arara: pdflatex
    \documentclass{article}
    
    \begin{document}
    Hello world!
    \end{document}

    $ arara hello.tex

  4. Overview of the Boltzmann Generator (BG) framework

    The Boltzmann Generator (BG) addresses the challenge of sampling from complex Boltzmann distributions—where traditional methods like MCMC or Molecular Dynamics (MD) are computationally expensive due to metastable states and rare events. BG transforms the sampling problem into two parts: generating samples from a simple distribution in a latent space and applying an invertible transformation to map those samples back to the original configuration space. Because the transformation is invertible, the resulting distribution can be reweighted to recover the exact Boltzmann distribution.
  5. Overview of Arara LaTeX automation tool

    Arara is a helper tool written in Kotlin designed to automate the build process of LaTeX documents. While it serves a similar purpose to tools like latexmk or rubber, it differs in its core design philosophy regarding how build processes are managed.
  6. Introduction to Arara LaTeX automation tool

    Arara is a build automation tool for LaTeX documents written in Kotlin. It serves a similar purpose to tools like latexmk or rubber by automating the document compilation process, though it differs in its core design philosophy.
  7. Deploy Hexo blog to GitHub Pages

    To deploy a Hexo blog to GitHub, create a public repository named username.github.io (where username is your GitHub username). Install the hexo-deployer-git plugin and update the repo field in the _config.yml file with the repository URL.
    # Install the deployment plugin
    cnpm install hexo-deployer-git --save
    
    # Clean, generate, and deploy to GitHub
    hexo clean && hexo g && hexo d
  8. Sample and reweight using Boltzmann Generator

    To obtain unbiased samples from a target Boltzmann distribution using a trained Boltzmann Generator $F_{zx}$:

    1. Sample $\mathbf{z}$ from a simple prior distribution (e.g., a Gaussian).
    2. Generate a configuration $\mathbf{x}$ using the network: $\mathbf{x} = F_{zx}(\mathbf{z})$.
    3. To calculate expectations on the original distribution, apply a weight $w(\mathbf{x})$ to each sample: $w(\mathbf{x}) = e^{-u(\mathbf{x})} / p_X(\mathbf{x})$, where $u(\mathbf{x})$ is the energy term and $p_X(\mathbf{x})$ is the probability density of the generated sample.
  9. Install and initialize Hexo locally

    To set up Hexo locally, ensure Git for Windows and Node.js are installed. It is recommended to use a mirror registry (like Taobao) to accelerate downloads. After installing the Hexo CLI, initialize a new blog directory and configure the _config.yml file.
    # Install cnpm for faster downloads
    npm install -g cnpm --registry=https://registry.npm.taobao.org
    
    # Install Hexo
    cnpm install hexo --save
    
    # Initialize blog directory
    hexo init
    
    # Generate and start local server for preview (localhost:4000)
    hexo g && hexo s