Boundary Integral Equations
I am currently working on developing BIE solvers for problems with edge and corner singularities.
I'm a Flatiron Research Fellow in the Center for Computational Mathematics at the Flatiron Institute interested in developing fast numerical methods for a variety of problems in computational mathematics. I am working with Alex Barnett and Jason Kaye on developing boundary integral solvers for system with complex geometries.
I received my Ph.D. in Hong Kong University of Science and Technology, where I was advised by Zecheng Gan, co-advised by Yang Xiang and Jinguo Liu, with my thesis on Confined Quasi-2D Coulomb Systems: Theory, Algorithms, and Applications.
Download my CV (updated on 2025-10-15).I am currently working on developing BIE solvers for problems with edge and corner singularities.
I develop fast summation algorithms for electrostatics in Molecular Dynamics simulations and Monte Carlo simulations, including stochastic and spectral methods. I do analysis on the accuracy and efficiency of the algorithms, and providing efficient implementations in Julia and C++.
I work on tensor network methods for solving combinatorial optimization problems, especially the maximum independent set problem. We provide a set of tools for constructing and solving tensor network models in Julia.
Below are some blogs on my personal website (link).
This blog is a technical note for the Open Source Promotion Plan 2023 project "TropicalGEMM on GPU" released by JuliaCN, where I developed a Julia package CuTropicalGemm.jl, to calculate Generic Matrix Multiplication (GEMM) of Tropical Numbers on Nvidia GPUs.
This blog is a technical note for the Google Summer of Code 2024 project "Tensor network contraction order optimization and visualization" released by The Julia Language, where I implemented an optimizer for tensor network contraction order based on tree decomposition in the Julia package OMEinsumContractionOrders.jl.
This blog is a supplementary for the note Tensor Network Contraction Order Optimization with Exact Tree Width Solver, where I detailed introduce the algorithm to find the optimal tree decomposition with minimal treewidth of a given simple graph, and how it is implemented in Julia package TreeWidthSolver.jl.
And some other technical notes.
This blog is a technical note for the installation of slurm on Ubuntu 22.04 with NIS and apt tools.
I contribute to a number of open source software projects.
| Name | Description |
|---|---|
| EwaldSummations.jl | A comprehensive implementation of the Ewald summation method for electrostatic interactions in both triply and doubly periodic systems with and without dielectric mismatches. |
| TropicalNumbers.jl | A refined implementation of the tropical semiring. |
| CuTropicalGEMM.jl | A GPU-accelerated implementation of the tropical matrix multiplication, supported by OSPP 2023. |
| TreeWidthSolver.jl | A collection of tools for calculating the exact tree width and tree decomposition of a given graph, supported by GSOC 2024. |
| OptimalBranching.jl | A framework for automated discovery of optimal branching rules for the branch-and-bound algorithm. |