Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: Paths #737

Closed
wants to merge 3 commits into from
Closed

Draft: Paths #737

wants to merge 3 commits into from

Conversation

zstone1
Copy link
Contributor

@zstone1 zstone1 commented Sep 1, 2022

Motivation for this change

Paths and loops are a critical feature of complex analysis. So we get started here with some basic definitions. Note this is still in draft stage: The linting is terrible, docs are missing, and notations are wrong. But the approach should hopefully be in the right direction.

The main result here is that "reparametrization" is an equivalence relation, and all the relevant features of paths are preserved by the quotient. Lots of details happening here.

  1. I introduce some basic HB structures for continuity. Obviously these don't belong in this file long term. But for now they can live here while I work (and while the other major refactoring are happening the code).
  2. I introduce an HB structure for a "parametrization of [0,1]". I prove that the injective parametrizations induce an equivalence relation. It turns out that "monotonic increasing" parametrizations also induce an equivalence relation that is way more useful (because constant loops form an actual identity element). But the only proof is too difficult to deal with for now.
  3. A large amount of work proves that split_domain actually lets us link paths together. There's a ton of grueling interval arithmetic to do here.
  4. I build a quotient of R -> T by "injective reparametrization" equivalence class. This part is easy, thanks to the existing quotient constructions
  5. I prove a bunch of operators are compatible with the quotient: initial and final points, reversing paths, image of the path, linking paths, and continuity of paths.
  6. I define a hierarchy of paths with explicit endpoints.

The next steps will be

  • Provide some builders for making paths from functions [0,1] -> T
  • proving path linking is associative (another grueling proof about intervals)
  • proving path connectedness is an equivalence relation (just needs linking)
  • Defining the f g : X -> Y are homotopic if they are "in the same path component of X->Y"
  • Define the fundamental group as the quotient of {Loop in B at x} by path-components.

Note the topology of X->Y ought to be "the compact-open topology". But if Y is a uniform space, this is equivalent to compact-convergence. So I'll probably just start with that assumption, and then generalize later.

@CohenCyril, please let me know if this is closer to what you had intended.

Things done/to do
  • added corresponding entries in CHANGELOG_UNRELEASED.md
    (do not edit former entries, only append new ones, be careful:
    merge and rebase have a tendency to mess up CHANGELOG_UNRELEASED.md)
  • added corresponding documentation in the headers
Automatic note to reviewers

Read this Checklist and put a milestone if possible.

@zstone1 zstone1 marked this pull request as draft September 1, 2022 19:15
@zstone1 zstone1 self-assigned this Sep 1, 2022
@zstone1 zstone1 requested a review from mkerjean September 1, 2022 20:48
@zstone1 zstone1 force-pushed the paths branch 3 times, most recently from 5a09894 to 881569b Compare October 20, 2022 20:16
debugging canonical issue

homotopy stuff

more homotopy stuff

path chains

path connected is an equivalence relation

trying to define parametrization

doing subspace topology stuff

fixing near continuous

cleaned up realfun

things build correctly

changelog and linting

fixing changelog

getting there on paths

reversing paths

more stuff about continuous HB

proving group properties

no simple way around injectivity

associative proof

moving stuff

itv changes

awful split domain proofs

path linking respects quotients

definition of path
@proux01 proux01 added the TODO: MC2 port This PR must be ported to mathcomp 2 now that the. Remove this label when the port is done. label Jan 25, 2024
@zstone1
Copy link
Contributor Author

zstone1 commented Oct 12, 2024

Closing in favor of a much nicer approach in #1350

@zstone1 zstone1 closed this Oct 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TODO: MC2 port This PR must be ported to mathcomp 2 now that the. Remove this label when the port is done.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants