{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nConsider an [[initial value problem|0FXDW992DS]] with state space $\\R^d$ on a time interval $[0, T]$, cut into $N$ slices by times $0 = T_0 \u003c T_1 \u003c \\cdots \u003c T_N = T$.\nFor $n = 0, \\ldots, N - 1$, let $\\mathcal{F}_n \\colon \\R^d \\to \\R^d$ (fine) and $\\mathcal{G}_n \\colon \\R^d \\to \\R^d$ (coarse) be maps, called propagators.\nThey approximate the solution at $T_{n+1}$ of the problem started at $T_n$.\nLet $Y_0 = y_0$ and $Y_{n+1} = \\mathcal{F}_n(Y_n)$ be the sequential fine solution.\nThe Parareal iteration sets $U_0^k = y_0$ for all $k \\ge 0$, $U_{n+1}^0 = \\mathcal{G}_n(U_n^0)$, and\n$$U_{n+1}^{k+1} = \\mathcal{G}_n(U_n^{k+1}) + \\mathcal{F}_n(U_n^k) - \\mathcal{G}_n(U_n^k), \\qquad k \\ge 0,\\ 0 \\le n \\le N - 1.$$\nThen $U_n^k = Y_n$ for all $k \\ge 0$ and $0 \\le n \\le k$.\nIn particular, after $N$ iterations the iterates equal the fine solution at every time $T_n$.\n\n## Remarks\n\nThe proof is an induction on $k$.\nFor $k = 0$ only $n = 0$ is concerned, and $U_0^0 = y_0 = Y_0$.\nIf the claim holds for $k$, then $U_0^{k+1} = Y_0$, and if $U_n^{k+1} = Y_n$ with $n \\le k$, then also $U_n^k = Y_n$, so the iteration gives $U_{n+1}^{k+1} = \\mathcal{G}_n(Y_n) + \\mathcal{F}_n(Y_n) - \\mathcal{G}_n(Y_n) = Y_{n+1}$.\nThe result needs no property of $\\mathcal{F}_n$ and $\\mathcal{G}_n$; it guarantees termination but no speed-up.\nIn practice the iteration is stopped after $K$ iterations with $K$ much smaller than $N$, when $\\mathcal{G}_n$ is accurate and stable enough for the iterates to converge fast.\n\n## Explanations\n\n### L1 human\n\nParareal is a way to use many processors on a problem that seems purely sequential: marching forward in time.\nA cheap coarse solver first gives rough values at the start of each time slice.\nThen all slices are solved accurately at the same time, in parallel, from these rough starting values.\nA cheap sequential sweep corrects the starting values, and the process repeats.\nThe statement says that the correct values spread forward by at least one slice per iteration.\nSo the iteration reaches the fine solution after at most as many iterations as there are slices.\n\n### L2 human\n\nThe expensive fine solves $\\mathcal{F}_n(U_n^k)$ for all $n$ are independent, so they run in parallel; only the coarse sweep is sequential.\nThe parallel speed-up is bounded by about $N/K$, so the method pays off only when it converges in few iterations.\nIt works well for diffusive problems and less well for hyperbolic or highly oscillatory ones.\nParareal can be seen as a multiple shooting method in which a Newton step is approximated with the coarse propagator.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "0FXDW992DS"
    ],
    "kind": "statement",
    "msc": [
      "65L05",
      "65Y05"
    ],
    "name": "Parareal",
    "role": "proposition",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Parareal"
      }
    ],
    "tag": "KQG5GXJ5MB",
    "uses": [
      "0FXDW992DS"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/KQG5GXJ5MB/",
  "links": [
    {
      "field": "about",
      "target": "0FXDW992DS"
    },
    {
      "field": "uses",
      "target": "0FXDW992DS"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/KQG5GXJ5MB.md",
  "msc": [
    "65L05",
    "65Y05"
  ],
  "name": "Parareal",
  "prov": null,
  "role": "proposition",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/KQG/KQG5GXJ5MB.md",
  "status": null,
  "tag": "KQG5GXJ5MB",
  "uri": "m2://KQG5GXJ5MB",
  "url": "https://tamnd.github.io/math2/wiki/parareal/",
  "writing": {
    "tag": "KQG5GXJ5MB",
    "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
      }
    ]
  }
}
