Zulip Chat Archive

Stream: Is there code for X?

Topic: integrating on a piecewise differentiable curve


Alex Kontorovich (Jul 07 2023 at 14:17):

I want to define the complex logarithm. It takes a domain Ω\Omega (open, connected, simply connected subset of C\mathbb C) which does not contain 00, and a choice of base point z0Ωz_0\in\Omega, and for an argument zΩz\in\Omega, outputs γdww\int_\gamma \frac{dw}{w}, where γ\gamma is a piecewise differentiable curve from z0z_0 to zz. (It has to be proved that the definition is independent of the choice of γ\gamma.) Question: do we already have some API for piecewise differentiable curves? The input should be an interval [a,b][a,b], n:Nn : \N, and a=x0<x1<...<xn=ba=x_0<x_1<...<x_n=b, and γ\gamma (which is really an equivalence class of parametrizations) is continuously differentiable on each [xi,xi+1][x_i,x_{i+1}]. Any pointers for how to do this are very welcome, thanks!

Patrick Massot (Jul 07 2023 at 16:18):

You need to use two $ signs to enclore LaTeX formulas.

Patrick Massot (Jul 07 2023 at 16:18):

And you can have a look at how your question is handled in Isabelle that has a huge library about integrating on curves in C\mathbb C.

Alex Kontorovich (Jul 07 2023 at 16:40):

ok great, thanks; so I think that answers my question in that it sounds like this doesn't already exist in mathlib? (But great idea to see how it was implemented elsewhere)

Yury G. Kudryashov (Jul 07 2023 at 17:39):

Another option: you consider docs#Complex.exp as a covering and lift a path.

Kalle Kytölä (Jul 07 2023 at 17:50):

When @Vincent Beffara proved (at least most of) the Riemann mapping theorem (in Lean3), we discussed this with him quite extensively. I think one should definitely prove that all holomorphic functions have primitives in simply connected domains (f(z)f(z)\frac{f'(z)}{f(z)} for non-vanishing ff is an important special case, of course). For convex and star-shaped domains, Vincent had this (if I remember correctly), but it seemed slightly nontrivial to decide in which form the statement should go to mathlib.

The specific awkward thing is that one wants to define simply connectedness in terms of C0C^0 paths, but integration is a priori defined along piecewise-C1C^1 paths. Vincent suggested (and I like the strategy very much) that one could first have that f(z)dzf(z) \mathrm{d}z is a closed 1-form when ff is holomorphic (and is exact when ff has a primitive), and then use Poincaré lemma to make it locally exact, and then define integrals along any C0C^0-paths using finite subdivisions and local primitives (from local exactness) --- and of course check that the result is C0C^0-homotopy-invariant. We also thought the right generality might involve doing the same not just for 1-forms but also nn-forms (which can also a priori be integrated only along C1C^1 submanifolds of dimension nn). Of course the status of cotangent bundles in Mathlib makes this difficult to do right now...

(For the current formulation of the formalization of the RMT, simply connectedness was temporarily defined as "every nonvanishing holomorphic function has a square root", but this is of course another special case of the same general thing that the existence of logarithm is about.)


Last updated: Dec 20 2023 at 11:08 UTC