{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $M$ be a [[Riemannian manifold|7CBT4SM83Y]] with distance $d$, let $f \\colon M \\to M$ be a $C^1$ [[diffeomorphism|0KZZ70ZHXP]], and let $\\Lambda \\subseteq M$ be a compact [[hyperbolic set|MPFD24TYW2]] for $f$.\nFor $\\varepsilon \u003e 0$, an *$\\varepsilon$-pseudo-orbit* is a sequence $(x_n)_{n \\in \\Z}$ in $M$ with $d(f(x_n), x_{n+1}) \u003c \\varepsilon$ for all $n \\in \\Z$.\nA point $x \\in M$ *$\\delta$-shadows* it if $d(f^n(x), x_n) \u003c \\delta$ for all $n \\in \\Z$.\nThen there is an open neighbourhood $U$ of $\\Lambda$ with the property that follows.\nFor every $\\delta \u003e 0$ there is $\\varepsilon \u003e 0$ such that every $\\varepsilon$-pseudo-orbit contained in $U$ is $\\delta$-shadowed by some $x \\in M$.\nMoreover, there is $\\delta_0 \u003e 0$ such that for $\\delta \u003c \\delta_0$ the shadowing point $x$ is unique.\n\n## Remarks\n\nThe idea of the proof: a pseudo-orbit is a near-solution of the equation $x_{n+1} = f(x_n)$ in a space of sequences.\nHyperbolicity makes the linearised equation invertible with a bounded inverse, contracting forward along stable directions and backward along unstable ones, and a fixed-point argument gives a true solution nearby.\nUniqueness comes from [[expansiveness|TAFJV2YWKR]] near $\\Lambda$: two orbits that stay $\\delta$-close for all times coincide.\nFor an Anosov diffeomorphism of a compact manifold, $\\Lambda = M$, so every pseudo-orbit with small enough errors is shadowed.\nHyperbolicity is needed: consider the rotation of the circle by an irrational angle $\\alpha$.\nThe pseudo-orbit that rotates by $\\alpha + \\varepsilon/2$ at each step drifts away from every true orbit at rate $\\varepsilon/2$ per step.\n\n## Explanations\n\n### L1 human\n\nWhen a computer follows an orbit, it makes a small rounding error at each step, so it computes a pseudo-orbit rather than a true one.\nFor chaotic hyperbolic systems the errors grow fast, so the computed orbit soon differs from the true orbit with the same start.\nThe shadowing lemma says that it still stays close to some other true orbit for all times.\nSo the pictures a computer draws of such systems are faithful in this sense: each computed orbit is close to some real orbit.\n\n### L2 human\n\nShadowing is the main tool for building orbits with prescribed behaviour in hyperbolic dynamics.\nOne glues pieces of orbits into a pseudo-orbit and shadows it.\nThis gives the Anosov closing lemma, which finds a periodic orbit near any orbit segment that nearly closes up.\nIt also gives the Markov partitions used to code the dynamics by subshifts of finite type.\nIt also gives structural stability of Anosov diffeomorphisms, since a perturbed orbit is a pseudo-orbit of the original map.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "MPFD24TYW2"
    ],
    "kind": "statement",
    "msc": [
      "37C50",
      "37D05"
    ],
    "name": "Shadowing lemma",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q7460736",
      "wikipedia": "Shadowing lemma"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Shadowing_lemma"
      }
    ],
    "tag": "N7C06T3KCZ",
    "uses": [
      "7CBT4SM83Y",
      "0KZZ70ZHXP",
      "MPFD24TYW2",
      "TAFJV2YWKR"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/N7C06T3KCZ/",
  "links": [
    {
      "field": "about",
      "target": "MPFD24TYW2"
    },
    {
      "field": "uses",
      "target": "7CBT4SM83Y"
    },
    {
      "field": "uses",
      "target": "0KZZ70ZHXP"
    },
    {
      "field": "uses",
      "target": "MPFD24TYW2"
    },
    {
      "field": "uses",
      "target": "TAFJV2YWKR"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/N7C06T3KCZ.md",
  "msc": [
    "37C50",
    "37D05"
  ],
  "name": "Shadowing lemma",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/N7C/N7C06T3KCZ.md",
  "status": null,
  "tag": "N7C06T3KCZ",
  "uri": "m2://N7C06T3KCZ",
  "url": "https://tamnd.github.io/math2/wiki/shadowing-lemma/",
  "writing": {
    "tag": "N7C06T3KCZ",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
