@@ -23,8 +23,8 @@ bibliography: paper.bib
2323# Summary
2424
2525` MultiGridBarrier.jl ` is a Julia package for solving convex variational problems in
26- function spaces — the nonlinear partial differential equations (PDEs) and boundary-value
27- problems that arise from minimizing a convex functional. Representative examples include
26+ function spaces. These are the nonlinear partial differential equations (PDEs) and
27+ boundary-value problems that arise from minimizing a convex functional. Representative examples include
2828the $p$-Laplacian for any $p \in [ 1, \infty] $, total-variation problems, and obstacle
2929problems. The most useful of these are * nonsmooth* : the energy is convex but not
3030differentiable (e.g. $p = 1$ or total variation), a regime in which Newton-type solvers
@@ -34,12 +34,12 @@ mesh resolution.
3434The package implements the ** multigrid barrier method** , which couples an interior-point
3535(barrier) method with a multigrid hierarchy. For the problem classes covered by the
3636supporting theory the method is * quasi-optimal* : the number of interior-point/Newton
37- iterations grows only mildly with the number of degrees of freedom $n$ — for instance
38- $O(\sqrt{n}\, \log n)$ for the $p$-Laplacian [ @loisel2020efficient ] , and polylogarithmically
39- in the analytic, spectral setting [ @loisel2026spectral ] .
37+ iterations grows only mildly with the number of degrees of freedom $n$. For instance, this
38+ count is $O(\sqrt{n}\, \log n)$ for the $p$-Laplacian [ @loisel2020efficient ] , and
39+ polylogarithmic in the analytic, spectral setting [ @loisel2026spectral ] .
4040
4141` MultiGridBarrier.jl ` provides finite-element discretizations in one, two, and three
42- dimensions — simplicial $P_1$/$P_2$ elements and tensor-product $Q_k$ elements — as well as
42+ dimensions ( simplicial $P_1$/$P_2$ elements and tensor-product $Q_k$ elements), as well as
4343Chebyshev spectral discretizations, all with isoparametric element maps. It builds an
4444algebraic-multigrid hierarchy automatically (via ` AlgebraicMultigrid.jl `
4545[ @AlgebraicMultigrid ] or, optionally, ` PyAMG ` [ @pyamg ] ), supports user-specified mesh
@@ -58,7 +58,7 @@ sol = mgb_solve(assemble(amg(geom); p = 1.0)) # a nonsmooth p = 1 problem
5858Convex variational problems are ubiquitous in computational science: nonlinear elasticity
5959and plasticity, image denoising and segmentation (total variation), contact and obstacle
6060problems, and non-Newtonian flow (the $p$-Laplacian). The difficulty is that the most
61- interesting cases are nonsmooth — the energy is convex but not differentiable — so
61+ interesting cases are nonsmooth ( the energy is convex but not differentiable), so
6262Newton-type methods applied naively either stagnate or require an iteration count that grows
6363rapidly as the mesh is refined.
6464
@@ -74,8 +74,8 @@ the building blocks for discretizing PDEs and solving linear systems, but they d
7474an out-of-the-box, theoretically grounded solver for nonsmooth convex variational problems.
7575` MultiGridBarrier.jl ` fills this gap: it packages the discretization, the multigrid hierarchy,
7676and the barrier solver behind a small high-level interface (` fem2d_P2 ` , ` amg ` , ` assemble ` ,
77- ` mgb_solve ` ), so that researchers and practitioners can solve such problems — and reproduce
78- the numerical results of the underlying papers — in a few lines, on the CPU or the GPU.
77+ ` mgb_solve ` ). Researchers and practitioners can then solve such problems, and reproduce the
78+ numerical results of the underlying papers, in a few lines on the CPU or the GPU.
7979
8080# Functionality
8181
0 commit comments