Zulip Chat Archive

Stream: Is there code for X?

Topic: Complex Analysis: Laplacian of modulus of a function


Jad Abou Hawili (Mar 10 2025 at 22:50):

Given f(z),g(z)H(Ω)f(z),g(z) \in H(\Omega)
where

f(z)2+g(z)2=1|f(z)|^2 + |g(z)|^2 = 1

Determine f,gf,g.

The solution goes as follows

2f(z)2+2g(z)2=21\nabla^{2} |f(z)|^2 + \nabla^{2} |g(z)|^2 = \nabla^{2} 1 4f(z)2+4g(z)2=04|f'(z)|^2 + 4|g'(z)|^2 = 0 f(z)2+g(z)2=0|f'(z)|^2 + |g'(z)|^2 = 0 f(z)2=0|f'(z)|^2 = 0 f(z)=0f'(z)=0 f(z)=cf(z) = c

(similarly for g)

Im missing several pieces such as the laplacian, laplacian of modulus squared is 4 times the modulus of the derivative. Is this property in mathlib?

The plan is to start from this theorem and build to

f(z)2+g(z)2=h(z)2|f(z)|^2 + |g(z)|^2 = |h(z)|^2

then to finally generalize with a sum on both sides, proof for above would also require the fact that if two holomorphic functions agree on a disk/neighborhood then they are equal.

I searched for the laplacian to no avail, i could try to define it on my own but would rather use what's available(if its available).

Kevin Buzzard (Mar 10 2025 at 23:33):

Can you formalize the question in Lean? I don't even know what H(Ω)H(\Omega) is (and I'm not asking for an explanation, I'm just noting that by far the best way to ask a question here is to ask it in Lean).

Jeremy Tan (Mar 10 2025 at 23:57):

Kevin Buzzard said:

I don't even know what H(Ω)H(\Omega) is

It must be the space of holomorphic functions over the complexes

Kevin Buzzard (Mar 11 2025 at 00:02):

In which case I think you're right, there is no Laplacian definition, although it wouldn't surprise me if we had all of the ingredients.

Eric Wieser (Mar 11 2025 at 09:16):

I have a definition of the laplacian (in the correct generality) locally somewhere...

Jad Abou Hawili (Mar 11 2025 at 09:52):

Kevin Buzzard said:

Can you formalize the question in Lean? I don't even know what H(Ω)H(\Omega) is (and I'm not asking for an explanation, I'm just noting that by far the best way to ask a question here is to ask it in Lean).

Fair enough

import Mathlib.Data.Complex.Norm
import Mathlib.Analysis.Normed.Group.Basic
import Mathlib.Analysis.Calculus.Deriv.Basic
import Mathlib.Analysis.Calculus.FDeriv.Basic
import Mathlib.Analysis.Complex.CauchyIntegral
import Mathlib.Topology.Defs.Basic


#check 2=2
variable {z: }
--variable {h : Norm ℂ}
-- modulus of z ,
#check norm
#check z
def constant {c : } {f :   } :=  z, f z=c
example (f :    ) (g :   )
{diff_f : Differentiable  f}
{diff_g : Differentiable  g}
(h : f z‖^2 + g z‖^2  = 1) : (c : ), ( (z :), f z = c) := by

  sorry

Jad Abou Hawili (Mar 11 2025 at 09:53):

I used Differentiable C\mathbb{C} , this should mean holomorphic(correct me if im mistaken, this is the first time i formalize something like this)

Jad Abou Hawili (Mar 11 2025 at 09:55):

Jeremy Tan said:

Kevin Buzzard said:

I don't even know what H(Ω)H(\Omega) is

It must be the space of holomorphic functions over the complexes

Ω\Omega is open , connected. H(Ω)H(\Omega) means holomorphic over Ω\Omega. Didn't mention this because what i really care about is the laplacian, although i guess i should have

Jad Abou Hawili (Mar 11 2025 at 09:57):

I just took C\mathbb{C} here , ill worry about Ω\Omega later.

Jad Abou Hawili (Mar 11 2025 at 10:12):

Kevin Buzzard said:

In which case I think you're right, there is no Laplacian definition, although it wouldn't surprise me if we had all of the ingredients.

well i wanted to try to use gradient but I couldn't even find the gradient as a vector of partial derivatives, which you would take the dot product of etc... Finding this or the laplacian(general enough to work on C\mathbb{C}) would be satisfactory.

I'm also thinking of formalizing something simpler first concerning gradients to get the hang of things then do the initial problem.

Jad Abou Hawili (Mar 11 2025 at 10:15):

I could try and define all this but I'd rather use something already in mathlib(if its there)

Jad Abou Hawili (Mar 11 2025 at 11:33):

The todo lists partial derivatives, but undergrad lists that partial derivatives commute is done. This is getting confusing...

I dont see what this has to do with partial derivatives(something about line derivatives)

Eric Wieser (Mar 11 2025 at 11:54):

A previous discussion on the Laplacian: #Is there code for X? > Laplacian @ 💬

Jad Abou Hawili (Mar 11 2025 at 13:58):

Eric Wieser said:

A previous discussion on the Laplacian: #Is there code for X? > Laplacian @ 💬

Yes, i saw this but it didn't have

2f(z)2=4f(z)2\nabla^{2} |f(z)|^2 = 4|f'(z)|^2

The proof of this involves partial derivatives where

z=x + iy
f(z) = u(x,y) + iv(x,y)
f'(z)=u_x + iv_x

then you take the modulus squared and do the laplacian.

Discussions involving partial derivatives were too technical for me to understand, and it didn't seem like there was anything ready i could use, which spawned this thread.

Jad Abou Hawili (Mar 11 2025 at 14:01):

I will attempt to play around with the code in that thread, and see if anything comes out of that.

Kevin Buzzard (Mar 11 2025 at 14:58):

My impression (watching from afar) is that we have all the machinery needed to do lots of differential operators, but very little in terms of concrete differential operators. See also

#mathlib4 > Stating Schrodinger's equation @ 💬

for more Laplacian-related chat.

Jad Abou Hawili (Mar 12 2025 at 09:16):

Yes, i saw these threads but couldn't really follow along with what was happening.

So i created this to check if anything came out of those discussions and was added to mathlib.

Guess i'll just have to get good, and go through them.


Last updated: May 02 2025 at 03:31 UTC