Riesz/restricted fractional Laplacian¶
RieszFractionalLaplacian(u, s) is the whole-space singular integral applied
to the zero extension of the interior function:
“Riesz” and “restricted” both refer to this construction, with the normalization \(C_{d,s}\) fixed in Conventions and normalizations so that the whole-space multiplier is \(|\xi|^{2s}\). The operator follows Di Nezza, Palatucci, and Valdinoci (2012) and its finite-element treatment follows Acosta and Borthagaray (2017).
Galerkin action¶
The assembled operator is the weak action
not a nodal evaluation of a pointwise formula. The default edge-sector
Gauss-Jacobi target rule resolves the remaining boundary singularity.
quadrature_degree controls it, and quadrature_rule="ordinary" selects a
Duffy tensor-Gauss alternative.
Scope: scalar CG1 or CG2 on affine 2D triangles, \(0<s<1\), zero exterior
extension. Complete homogeneous bcs are required for \(s\geq1/2\), because
a nonzero trace has infinite zero-extension energy. Below \(1/2\) no trace is
needed. Periodic and overlapping cell geometries are rejected.
Exact triangle-supported source action¶
Yonderdrake removes the source singularity analytically before quadrature. For a CG1 or CG2 polynomial on one affine triangle, extended by zero, the divergence theorem reduces the integral to edge integrals. For affine \(p\),
with \(d_e=(y-x)\cdot n_e\). Quadratic terms reduce to the same family of one-dimensional edge integrals.
This boundary reduction is a Yonderdrake derivation from the cited integral operator, verified against independently coded direct volume and polar integrals.
Backends¶
Assembly |
Storage |
Parallel |
Use |
|---|---|---|---|
|
no \(N^2\) matrix, replicated source geometry |
MPI |
general use, \(O(N^2)\) work |
|
\(N^2\) weak entries |
serial |
reference |
|
dense near blocks, low-rank far factors |
serial or MPI |
larger problems |
hmatrix compresses admissible far-field blocks with adaptive cross
approximation, following
Bebendorf (2000). compression_tolerance,
admissibility, and leaf_size control it.
Quadrature error and compression error are separate and must be refined
separately. diagnostics() reports storage, timings, solves, blocks, ranks,
and achieved compression.