Skip to content

Conversation

@mcdoll
Copy link
Member

@mcdoll mcdoll commented Jan 5, 2026

We introduce a notation type-class for the Laplacian, change the definition of InnerProductSpace.laplacian to Laplacian.laplacian and define the Laplacian using the sum of second derivatives on Schwartz functions.
We define an abstract Laplacian for any space with LineDeriv in order to avoid duplication for other function spaces (in particular, this will be reused for the tempered distribution Laplacian).


Open in Gitpod

@github-actions github-actions bot added the t-analysis Analysis (normed *, calculus) label Jan 5, 2026
@github-actions
Copy link

github-actions bot commented Jan 5, 2026

PR summary fadadaad32

Import changes exceeding 2%

% File
+88.17% Mathlib.Analysis.Distribution.DerivNotation

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Analysis.Distribution.DerivNotation 1141 2147 +1006 (+88.17%)
Mathlib.Analysis.Distribution.SchwartzSpace.Deriv 2560 2562 +2 (+0.08%)
Mathlib.Analysis.Distribution.TemperedDistribution 2664 2666 +2 (+0.08%)
Mathlib.Analysis.InnerProductSpace.Laplacian 2204 2205 +1 (+0.05%)
Mathlib.Analysis.InnerProductSpace.Harmonic.Basic 2205 2206 +1 (+0.05%)
Import changes for all files
Files Import difference
12 files Mathlib.Analysis.Complex.Harmonic.Analytic Mathlib.Analysis.Complex.Harmonic.MeanValue Mathlib.Analysis.Complex.JensenFormula Mathlib.Analysis.Complex.ValueDistribution.CharacteristicFunction Mathlib.Analysis.Complex.ValueDistribution.CountingFunction Mathlib.Analysis.Complex.ValueDistribution.FirstMainTheorem Mathlib.Analysis.InnerProductSpace.Harmonic.Basic Mathlib.Analysis.InnerProductSpace.Harmonic.Constructions Mathlib.Analysis.InnerProductSpace.Laplacian Mathlib.Analysis.Polynomial.MahlerMeasure Mathlib.Analysis.SpecialFunctions.Integrals.PosLogEqCircleAverage Mathlib.NumberTheory.MahlerMeasure
1
26 files Mathlib.Analysis.Distribution.SchwartzSpace.Deriv Mathlib.Analysis.Distribution.SchwartzSpace.Fourier Mathlib.Analysis.Distribution.TemperedDistribution Mathlib.Analysis.Fourier.Convolution Mathlib.Analysis.Fourier.LpSpace Mathlib.Analysis.Fourier.PoissonSummation Mathlib.Analysis.SpecialFunctions.Gaussian.PoissonSummation Mathlib.NumberTheory.EulerProduct.DirichletLSeries Mathlib.NumberTheory.Harmonic.ZetaAsymp Mathlib.NumberTheory.LSeries.DirichletContinuation Mathlib.NumberTheory.LSeries.Dirichlet Mathlib.NumberTheory.LSeries.HurwitzZetaEven Mathlib.NumberTheory.LSeries.HurwitzZetaOdd Mathlib.NumberTheory.LSeries.HurwitzZetaValues Mathlib.NumberTheory.LSeries.HurwitzZeta Mathlib.NumberTheory.LSeries.Nonvanishing Mathlib.NumberTheory.LSeries.PrimesInAP Mathlib.NumberTheory.LSeries.RiemannZeta Mathlib.NumberTheory.LSeries.ZMod Mathlib.NumberTheory.ModularForms.EisensteinSeries.E2.Defs Mathlib.NumberTheory.ModularForms.EisensteinSeries.E2.Summable Mathlib.NumberTheory.ModularForms.EisensteinSeries.QExpansion Mathlib.NumberTheory.ModularForms.JacobiTheta.Bounds Mathlib.NumberTheory.ModularForms.JacobiTheta.Manifold Mathlib.NumberTheory.ModularForms.JacobiTheta.OneVariable Mathlib.NumberTheory.ModularForms.JacobiTheta.TwoVariable
2
Mathlib.Analysis.Distribution.DerivNotation 1006

Declarations diff

+ InnerProduct.laplacian
+ Laplacian
+ LineDerivLeftSMul
+ bilinearLineDerivTwo
+ instLineDerivSMul'
+ integral_bilinear_laplacian_right_eq_left
+ integral_clm_comp_laplacian_right_eq_left
+ integral_mul_laplacian_right_eq_left
+ integral_smul_laplacian_right_eq_left
+ laplacianCLM
+ laplacianCLM_apply
+ laplacianCLM_eq
+ laplacianCLM_eq'
+ laplacianCLM_eq_sum
+ laplacian_apply
+ laplacian_apply_apply
+ laplacian_toTemperedDistributionCLM_eq
+ tensorLineDerivTwo
+ tensorLineDerivTwo_canonicalCovariantTensor_eq_sum
+ tensorLineDerivTwo_eq_lineDerivOp_lineDerivOp
++ instLineDerivLeftSMul
++ laplacian_eq_sum
+++ instLaplacian
- laplacian

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for script/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@j-loreaux j-loreaux added the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 13, 2026
@mcdoll mcdoll removed the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 14, 2026
@sgouezel sgouezel added the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 14, 2026
@mcdoll mcdoll removed the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 15, 2026
Copy link
Contributor

@sgouezel sgouezel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I am much more happy with the new approach!

@sgouezel sgouezel added the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 15, 2026
@github-actions github-actions bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jan 16, 2026
@mcdoll
Copy link
Member Author

mcdoll commented Jan 16, 2026

I think (noting the fact that the basic file for Schwartz functions is too big (again)), that I will factor out all of the derivatives statements and then put the Laplacian in that new file. Seems more sensible from the import graph than just having the Laplacian in a separate file.

@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Jan 16, 2026
@github-actions github-actions bot added large-import Automatically added label for PRs with a significant increase in transitive imports and removed merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) labels Jan 19, 2026
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot removed the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Jan 19, 2026
@mathlib4-dependent-issues-bot
Copy link
Collaborator

@mcdoll mcdoll added WIP Work in progress and removed awaiting-author A reviewer has asked the author a question or requested changes. labels Jan 19, 2026
@mcdoll mcdoll removed the WIP Work in progress label Jan 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

large-import Automatically added label for PRs with a significant increase in transitive imports t-analysis Analysis (normed *, calculus)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants