Math 2.0

Numerical analysis Time-dependent partial differential equations Proposition

Fast marching method

Builds on Eikonal equationHeapViscosity solution

Statement

Let h>0h > 0 and let GG be a finite set of NN nodes xij=(ih,jh)x_{ij} = (ih, jh) of a square grid in ℝ2\R^2. Let Fij>0F_{ij} > 0 be a speed at each node, and let S⊂GS \subset G be a nonempty set of source nodes with given values Tij≥0T_{ij} \ge 0. For TT on GG write a=min⁡(Ti−1,j,Ti+1,j)a = \min(T_{i-1,j}, T_{i+1,j}) and b=min⁡(Ti,j−1,Ti,j+1)b = \min(T_{i,j-1}, T_{i,j+1}), with missing neighbours ignored. The upwind discretization of the eikonal equation ∣∇T∣=1/F\abs{\nabla T} = 1/F at a node xij∉Sx_{ij} \notin S is (max⁡(Tij−a,0))2+(max⁡(Tij−b,0))2=h2Fij2.\big( \max(T_{ij} - a, 0) \big)^2 + \big( \max(T_{ij} - b, 0) \big)^2 = \frac{h^2}{F_{ij}^2}. The fast marching method first marks the nodes of SS as accepted. It then repeats two steps until all nodes are accepted. First, it computes a tentative value at each non-accepted neighbour of an accepted node. This value solves the equation above, with only accepted neighbours used in aa and bb. Second, it accepts the node with the smallest tentative value. Assume the grid graph on GG is connected. Then:

  1. every node is accepted exactly once, and the method stops;
  2. the nodes not in SS are accepted in nondecreasing order of their values;
  3. the final values satisfy the upwind equation at every node not in SS;
  4. with the tentative values kept in a binary heap, the method uses O(Nlog⁡N)O(N \log N) operations.

Remarks

The upwind equation has the causality property: its solution TijT_{ij} is larger than every neighbour value that enters it with a nonzero term. Hence a newly computed tentative value is never smaller than the last accepted value, which gives claim 2, and accepting the smallest tentative value never needs to be undone. The source values are arbitrary, so claim 2 is only about the nodes outside SS. This is the same argument as for Dijkstra's algorithm, which the method resembles; Dijkstra's algorithm on the grid graph would measure distance along grid edges only. Each node is inserted and updated a bounded number of times, and each heap operation costs O(log⁡N)O(\log N), which gives claim 4.

Example: with F≡1F \equiv 1 and one source with T=0T = 0 at the origin, the computed TT approximates the Euclidean distance to the origin. At the node (h,h)(h, h), both neighbours (h,0)(h, 0) and (0,h)(0, h) have value hh, and the equation gives T=h+h/2≈1.71hT = h + h/\sqrt{2} \approx 1.71 h, near the true value 2h≈1.41h\sqrt{2} h \approx 1.41 h. The error is of first order in hh.

Going deeper

For a student

The eikonal equation is a stationary Hamilton–Jacobi equation, and its relevant solution is the viscosity solution. The upwind scheme above is monotone and consistent, and as h→0h \to 0 its solutions approximate the viscosity solution. The fast marching method solves this nonlinear system in one pass, instead of by repeated sweeps or iterations. It is used to build signed distance functions for the level-set method, to compute shortest paths around obstacles, and in seismic travel time computations.

Reading path

To understand this page from the ground up, read these 4 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Eikonal equation concept
  2. Heap concept
  3. Viscosity solution concept
  4. Fast marching method statement

Further reading

  1. Web https://en.wikipedia.org/wiki/Fast_marching_method
About this page
TagDAK6EJK20R
URIm2://DAK6EJK20R
Kindstatement, proposition
WritingW0 stub
MSC65N06, 35F21, 65D18
StatusThis copy of the site has no build data. Run m2 status DAK6EJK20R.
AboutEikonal equation
UsesEikonal equation, Heap, Viscosity solution
Same as

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.