$$ \newcommand{\st}{\text{ s.t. }} \newcommand{\and}{\text{ and }} \DeclareMathOperator*{\argmin}{arg\,min} \DeclareMathOperator*{\argmax}{arg\,max} \DeclareMathOperator*{\liminf}{lim\,inf} \DeclareMathOperator*{\limsup}{lim\,sup} \DeclareMathOperator*{\dom}{dom} \DeclareMathOperator*{\epi}{epi} \newcommand{\<}{\langle} \newcommand{\>}{\rangle} \newcommand{\R}{\mathbb{R}} \newcommand{\N}{\mathbb{N}} \newcommand{\O}{\mathcal{O}} \newcommand{\dist}{\text{dist}} \newcommand{\vec}[1]{\mathbf{#1}} \newcommand{\diag}{\mathrm{diag}} \newcommand{\d}{\mathrm{d}} \newcommand{\L}{\mathcal{L}} \newcommand{\H}{\mathcal{H}} \newcommand{\Tr}{\mathrm{\mathbf{Tr}}} \newcommand{\E}{\mathbb{E}} \newcommand{\Var}{\mathrm{Var}} \newcommand{\Cov}{\mathrm{Cov}} \newcommand{\indep}{\perp \!\!\! \perp} \newcommand{\KL}[2]{\mathrm{KL}(#1 \parallel #2)} \newcommand{\W}{\mathbf{W}} % Wasserstein distance \newcommand{\SW}{\mathbf{SW}} % Sliced-Wasserstein distance $$

👋 Hello there!

My name is Felipe and I am a Computer Science student at Unicamp. I am currently also pursuing an Engeneering degree in France at Télécom Paris with a focus in Data Science and Image Processing, jointly with the Master 2 MVA program at École Normale Supérieure Paris-Saclay. My main interests include Linux customization, FLOSS, mathematics and physics.

Migrating Hugo website to Codeberg using a custom domain

For some irrelevant reasons, I decided to move my website (and my library) to be hosted on Codeberg. So, I am going to write a little bit about how I did the migration. First, I created an account on Codeberg. There are tons of useful tutorials and documentations on the web that explain how to migrate repositories from GitHub to Codeberg. It’s important to note that on GitHub, you usually have to name your repository in a specific way to make GitHub Pages work. In Codeberg, you technically can do the same (with the pages repository name), but I found it easier to configure everything with a general repository name. So, I recommend you to name your website’s repository whatever (mine is named website). ...

February 12, 2026 · 4 min

Optimization Overview

Summary This post serves as a broad overview of many optimization methods and algorithms. For specifics, please refer to the post of each algorithm. It is advised to read the post about Functional Analysis to better understand the notation used here. Setup We are going to consider a function $$ f = g + h. $$ Depending on the different hypothesis of $f$, $g$ and $h$ we may be able to use different optimization algorithms. ...

January 10, 2026 · 2 min

Basic overview of Functional Analysis

The study of optimization of general functions often rely on many Functional Analysis tools, particularly Hilbert spaces. One can think about Hilbert spaces as a generalization of Euclidean spaces. This allows us to define most algorithms in a generalized fashion, without worrying about the underlying structure of the problem’s domain. Of course, most applications consider an Euclidean space $\mathbb{R}^d$, but it is just a special case of a Hilbert space. ...

January 9, 2026 · 4 min

Sinkhorn: Entropic Regularization

Discrete Measures Definition: Shannon-Boltzmann entropy Let $P \in U(a, b)$ be a coupling matrix for discrete measures with vectors $a$ and $b$. Then, the Shannon-Boltzmann entropy is $$ H(P) = - \sum_{i, j} P_{i, j} \log{(P_{i, j})}, $$ where $0 = \log{0}$. Note that $$ \nabla^2 H(P) = - \diag(P_{i, j}^{-1}). $$ So, $H$ is strictly concave. Let us add a regularization term to the discrete Kantorovich problem. $\varepsilon$ will be our regularization weight and it works as a kind of “temperature”. ...

November 12, 2025 · 19 min

Dynamic Optimal Transport and Flow Matching

Summary Up to this point we have studied Monge and Kantorovich problems. Duality of Kantorovich and the Wasserstein metric. Slicing OT as a way to lower bound $\W_p$. Now, we are interested in solving the Kantorovich problem in an alternative way. The goal here is to find a condition that is sufficient to retrieve a map from $\mathcal{X}$ to $\mathcal{Y}$. Then, the optimal transport will be given by the objects that minimize a certain criterion over this condition. ...

November 5, 2025 · 15 min