一句话:首次为支持奇点积分求值与微分的可微编程语言 SingularFlow 建立指称语义,并证明 Monte Carlo 操作语义是良态估计器。
奇异函数是在某些点极限发散的偏函数(如 1/x)。程序中的除法可能表示此类函数,直接求值会触发除零错误;但奇异积分在物理、空气动力学、机械工程与计算机图形学中广泛出现。本文提出首个面向奇异积分的编程语言语义。作者定义可微编程语言 SingularFlow,给出自包含的指称语义及所需数学机制,并设计基于 Monte Carlo 采样的操作语义来估计积分及导数,证明其是指称语义的良态估计器。作者在 JAX 中实现该语言,在 finite Hilbert transform 基准上评估,并近似求解空气动力学与机械工程中的四个奇异积分方程。
A singular function is a partial function such that at one or more points, the left and/or right limit diverge (e.g., the function 1/x). Since programming languages typically support division, programs may denote singular functions. Although on its own, a singularity may be considered a bug, introducing a division-by-zero error, singular integrals— a version of the integral that is well-defined when the integrand is a singular function and the domain of integration contains a singularity—arise in science and engineering, including in physics, aerodynamics, mechanical engineering, and computer graphics. In this paper, we present the first semantics of a programming language for singular integration. Our differentiable programming language, SingularFlow, supports the evaluation and differentiation of singular integrals. We formally define the denotational semantics of SingularFlow, deriving all the necessary mathematical machinery so that this work is rigorous and self-contained. We then define an operational semantics for SingularFlow that estimates integrals and their derivatives using Monte Carlo samples, and show that the operational semantics is a well-behaved estimator for the denotational semantics. We implement SingularFlow in JAX and evaluate the implementation on a suite of benchmarks that perform the finite Hilbert transform, an integral transform related to the Fourier transform, which arises in domains such as physics and electrical engineering. We then use SingularFlow to approximate the solutions to four singular integral equations— equations where the unknown function is in the integrand of a singular integral—arising in aerodynamics and mechanical engineering.
@article{paperbot3135,
title = {Semantics of Integrating and Differentiating Singularities},
author = {Jesse Michel and Wonyeol Lee and Hongseok Yang},
journal = {Proceedings of the ACM on Programming Languages},
volume = {9},
number = {PLDI},
year = {2025},
doi = {10.1145/3729263}
}