Eikonal equation
An eikonal equation (from Greek εἰκών, image[1][2]) is a non-linear first-order partial differential equation that is encountered in problems of wave propagation.
The classical eikonal equation in geometric optics is a differential equation of the form
-
[math]\displaystyle{ |\nabla u(x)|=n(x) }[/math]
(
)
where [math]\displaystyle{ x }[/math] lies in an open subset of [math]\displaystyle{ \mathbb{R}^n }[/math], [math]\displaystyle{ n(x) }[/math] is a positive function, [math]\displaystyle{ \nabla }[/math] denotes the gradient, and [math]\displaystyle{ | \cdot | }[/math] is the Euclidean norm. The function [math]\displaystyle{ n }[/math] is given and one seeks solutions [math]\displaystyle{ u }[/math]. In the context of geometric optics, the function [math]\displaystyle{ n }[/math] is the refractive index of the medium.
More generally, an eikonal equation is an equation of the form
-
[math]\displaystyle{ H(x,\nabla u(x)) = 0 }[/math]
(
)
where [math]\displaystyle{ H }[/math] is a function of [math]\displaystyle{ 2n }[/math] variables. Here the function [math]\displaystyle{ H }[/math] is given, and [math]\displaystyle{ u }[/math] is the solution. If [math]\displaystyle{ H(x,y)= |y| - n(x) }[/math], then equation (2) becomes (1).
Eikonal equations naturally arise in the WKB method[3] and the study of Maxwell's equations.[4] Eikonal equations provide a link between physical (wave) optics and geometric (ray) optics.
One fast computational algorithm to approximate the solution to the eikonal equation is the fast marching method.
History
The term "eikonal" was first used in the context of geometric optics by Heinrich Bruns.[5] However, the actual equation appears earlier in the seminal work of William Rowan Hamilton on geometric optics.[6]
Physical interpretation
Continuous shortest-path problems
Suppose that [math]\displaystyle{ \Omega }[/math] is an open set with suitably smooth boundary [math]\displaystyle{ \partial \Omega }[/math]. The solution to the eikonal equation
- [math]\displaystyle{ \left|\nabla u(x)\right| = \frac 1 {f(x)} \text{ for } x \in \Omega \subset \mathbb{R}^n, }[/math]
- [math]\displaystyle{ u(x) = q(x) \text{ for } x \in \partial\Omega }[/math]
can be interpreted as the minimal amount of time required to travel from [math]\displaystyle{ x }[/math] to [math]\displaystyle{ \partial \Omega }[/math], where [math]\displaystyle{ f: \bar{\Omega} \to (0, +\infty) }[/math] is the speed of travel, and [math]\displaystyle{ q: \partial\Omega \to [0, +\infty) }[/math] is an exit-time penalty. (Alternatively this can be posed as a minimal cost-to-exit by making the right-side [math]\displaystyle{ C(x)/f(x) }[/math] and [math]\displaystyle{ q }[/math] an exit-cost penalty.)
In the special case when [math]\displaystyle{ f=1 }[/math], the solution gives the signed distance from [math]\displaystyle{ \partial \Omega }[/math].[7]
By assuming that [math]\displaystyle{ \nabla u(x) }[/math] exists at all points, it is easy to prove that [math]\displaystyle{ u(x) }[/math] corresponds to a time-optimal control problem using Bellman's optimality principle and a Taylor expansion.[8] Unfortunately, it is not guaranteed that [math]\displaystyle{ \nabla u(x) }[/math] exists at all points, and more advanced techniques are necessary to prove this. This led to the development of viscosity solutions in the 1980s by Pierre-Louis Lions and Michael G. Crandall,[9] and Lions won a Fields Medal for his contributions.
Electromagnetic potential
The physical meaning of the eikonal equation is related to the formula
- [math]\displaystyle{ \mathbf E = -\nabla V, }[/math]
where [math]\displaystyle{ \mathbf E }[/math] is the electric field strength, and [math]\displaystyle{ V }[/math] is the electric potential. There is a similar equation for velocity potential in fluid flow and temperature in heat transfer. The physical meaning of this equation in the electromagnetic example is that any charge in the region is pushed to move at right angles to the lines[clarification needed] of constant potential, and along lines of force determined by the field of the E vector and the sign of the charge.
Ray optics and electromagnetism are related by the fact that the eikonal equation gives a second electromagnetic formula of the same form as the potential equation above where the line of constant potential has been replaced by a line of constant phase, and the force lines have been replaced by normal vectors coming out of the constant phase line at right angles. The magnitude of these normal vectors is given by the square root of the relative permittivity. The line of constant phase can be considered the edge of one of the advancing light waves (wavefront). The normal vectors are the rays the light is traveling down in ray optics.
Computational algorithms
Several fast and efficient algorithms to solve the eikonal equation have been developed since the 1990s. Many of these algorithms take advantage of algorithms developed much earlier for shortest path problems on graphs with nonnegative edge lengths.[10] These algorithms take advantage of the causality provided by the physical interpretation and typically discretize the domain using a mesh[11][12][13][14] or regular grid[15][16] and calculate the solution at each discretized point. Eikonal solvers on triangulated surfaces were introduced in.[11][12]
Sethian's fast marching method (FMM)[15][16] was the first "fast and efficient" algorithm created to solve the Eikonal equation. The original description discretizes the domain [math]\displaystyle{ \Omega \subset \mathbb{R}^n }[/math] into a regular grid and "marches" the solution from "known" values to the undiscovered regions, precisely mirroring the logic of Dijkstra's algorithm. If [math]\displaystyle{ \Omega }[/math] is discretized and has [math]\displaystyle{ M }[/math] meshpoints, then the computational complexity is [math]\displaystyle{ O(M\log M) }[/math] where the [math]\displaystyle{ \log }[/math] term comes from the use of a heap (typically binary). A number of modifications can be prescribed to FMM since it is classified as a label-setting method. In addition, FMM has been generalized to operate on general meshes that discretize the domain.[11][12][13][14]
Label-correcting methods such as the Bellman–Ford algorithm can also be used to solve the discretized Eikonal equation also with numerous modifications allowed (e.g. "Small Labels First" [10][17] or "Large Labels Last" [10][18]). Two-queue methods have also been developed[19] that are essentially a version of the Bellman-Ford algorithm except two queues are used with a threshold used to determine which queue a gridpoint should be assigned to based on local information.
Sweeping algorithms such as the fast sweeping method (FSM)[20] are highly efficient for solving Eikonal equations when the corresponding characteristic curves do not change direction very often.[10] These algorithms are label-correcting but do not make use of a queue or heap, and instead prescribe different orderings for the gridpoints to be updated and iterate through these orderings until convergence. Some improvements were introduced such as "locking" gridpoints[19] during a sweep if does not receive an update, but on highly refined grids and higher-dimensional spaces there is still a large overhead due to having to pass through every gridpoint. Parallel methods have been introduced that attempt to decompose the domain and perform sweeping on each decomposed subset. Zhao's parallel implementation decomposes the domain into [math]\displaystyle{ n }[/math]-dimensional subsets and then runs an individual FSM on each subset.[21] Detrixhe's parallel implementation also decomposes the domain, but parallelizes each individual sweep so that processors are responsible for updating gridpoints in an [math]\displaystyle{ (n-1) }[/math]-dimensional hyperplane until the entire domain is fully swept.[22]
Hybrid methods have also been introduced that take advantage of FMM's efficiency with FSM's simplicity. For example, the Heap Cell Method (HCM) decomposes the domain into cells and performs FMM on the cell-domain, and each time a "cell" is updated FSM is performed on the local gridpoint-domain that lies within that cell.[10] A parallelized version of HCM has also been developed.[23]
Numerical approximation
For simplicity assume that [math]\displaystyle{ \Omega }[/math] is discretized into a uniform grid with spacings [math]\displaystyle{ h_x }[/math] and [math]\displaystyle{ h_y }[/math] in the x and y directions, respectively.
2D approximation on a Cartesian grid
Assume that a gridpoint [math]\displaystyle{ x_{ij} }[/math] has value [math]\displaystyle{ U_{ij} = U(x_{ij}) \approx u(x_{ij}) }[/math]. A first-order scheme to approximate the partial derivatives is
- [math]\displaystyle{ \max\left(D_{ij}^{-x}U, -D_{ij}^{+x}U, 0\right)^2 + \max\left(D_{ij}^{-y}U, -D_{ij}^{+y}U, 0\right)^2 \ = \ \frac{1}{f_{ij}^2} }[/math]
where
- [math]\displaystyle{ u_x(x_{ij}) \approx D_{ij}^{\pm x} U = \frac{U_{i\pm1,j}-U_{ij}}{\pm h_x} \quad\text{ and }\quad u_y(x_{ij}) \approx D_{ij}^{\pm y} U = \frac{U_{i,j\pm1}-U_{ij}}{\pm h_y}. }[/math]
Due to the consistent, monotone, and causal properties of this discretization[10] it is easy to show that if [math]\displaystyle{ U_X = \min(U_{i-1,j},U_{i+1,j}) }[/math] and [math]\displaystyle{ U_Y = \min(U_{i,j-1}, U_{i,j+1}) }[/math] and [math]\displaystyle{ |U_X/h_x-U_Y/h_y| \leq 1/f_{ij} }[/math] then
- [math]\displaystyle{ \left(\frac{U_{ij}-U_X}{h_x}\right)^2 + \left(\frac{U_{ij}-U_Y}{h_y}\right)^2 = \frac{1}{f_{ij}^2} }[/math]
which can be solved as a quadratic. In the limiting case of [math]\displaystyle{ h_x = h_y = h }[/math], this reduces to
- [math]\displaystyle{ U_{ij} = \frac{U_X + U_Y}{2} + \frac{1}{2}\sqrt{(U_X+U_Y)^2 - 2 \left(U_X^2 + U_Y^2 - \frac{h^2}{f_{ij}^2} \right)}. }[/math]
This solution will always exist as long as [math]\displaystyle{ |U_X-U_Y| \leq \sqrt{2}h/f_{ij} }[/math] is satisfied and is larger than both, [math]\displaystyle{ U_X }[/math] and [math]\displaystyle{ U_Y }[/math], as long as [math]\displaystyle{ |U_X-U_Y| \leq h/f_{ij} }[/math] .
If [math]\displaystyle{ |U_X/h_x-U_Y/h_y| \geq 1/f_{ij} }[/math], a lower-dimensional update must be performed by assuming one of the partial derivatives is [math]\displaystyle{ 0 }[/math]:
- [math]\displaystyle{ U_{ij} = \min\left(U_X + \frac{h_x}{f_{ij}}, U_Y + \frac{h_y}{f_{ij}}\right). }[/math]
n-D approximation on a Cartesian grid
Assume that a grid point [math]\displaystyle{ x }[/math] has value [math]\displaystyle{ U = U(x) \approx u(x) }[/math]. Repeating the same steps as in the [math]\displaystyle{ n=2 }[/math] case we can use a first-order scheme to approximate the partial derivatives. Let [math]\displaystyle{ U_i }[/math] be the minimum of the values of the neighbors in the [math]\displaystyle{ \pm\mathbf{e}_i }[/math] directions, where [math]\displaystyle{ \mathbf{e}_i }[/math] is a standard unit basis vector. The approximation is then
- [math]\displaystyle{ \sum_{j=1}^n \left(\frac{U-U_j}{h}\right)^2 \ = \ \frac{1}{f_i^2}. }[/math]
Solving this quadratic equation for [math]\displaystyle{ U }[/math] yields:
- [math]\displaystyle{ U = \frac{1}{n}\sum_{j=1}^n U_j + \frac{1}{n}\sqrt{\left(\sum_{j=1}^n U_j\right)^2 - n \left(\sum_{j=1}^n U_j^2 - \frac{h^2}{f_i^2}\right)}. }[/math]
If the discriminant in the square root is negative, then a lower-dimensional update must be performed (i.e. one of the partial derivatives is [math]\displaystyle{ 0 }[/math]).
If [math]\displaystyle{ n=2 }[/math] then perform the one-dimensional update
- [math]\displaystyle{ U = \frac{h}{f_i} + \min_{j=1,\ldots,n} U_j. }[/math]
If [math]\displaystyle{ n \geq 3 }[/math] then perform an [math]\displaystyle{ n-1 }[/math] dimensional update using the values [math]\displaystyle{ \{U_1, \ldots, U_n\} \setminus \{U_i\} }[/math] for every [math]\displaystyle{ i=1,\ldots,n }[/math] and choose the smallest.
Mathematical description
This section has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
(Learn how and when to remove this template message)
|
An eikonal equation is one of the form
- [math]\displaystyle{ H(x,\nabla u(x)) = 0 }[/math]
- [math]\displaystyle{ u(0,x') = u_0(x'),\text{ for } x = (x_1,x') }[/math]
The plane [math]\displaystyle{ x = (0,x') }[/math] can be thought of as the initial condition, by thinking of [math]\displaystyle{ x_1 }[/math] as [math]\displaystyle{ t. }[/math] We could also solve the equation on a subset of this plane, or on a curved surface, with obvious modifications.
The eikonal equation shows up in geometrical optics, which is a way of studying solutions of the wave equation [math]\displaystyle{ c^2 |\nabla_x u|^2 = |\partial_t u|^2 }[/math], where [math]\displaystyle{ c(x) }[/math] and [math]\displaystyle{ u(x,t) }[/math]. In geometric optics, the eikonal equation describes the phase fronts of waves. Under reasonable hypothesis on the "initial" data, the eikonal equation admits a local solution, but a global smooth solution (e.g. a solution for all time in the geometrical optics case) is not possible. The reason is that caustics may develop. In the geometrical optics case, this means that wavefronts cross.
We can solve the eikonal equation using the method of characteristics. One must impose the "non-characteristic" hypothesis [math]\displaystyle{ \partial_{p_1} H(x,p) \neq 0 }[/math] along the initial hypersurface [math]\displaystyle{ x = (0,x') }[/math], where H = H(x,p) and p = (p1,...,pn) is the variable that gets replaced by ∇u. Here x = (x1,...,xn) = (t,x′).
First, solve the problem [math]\displaystyle{ H(x,\xi(x)) = 0 }[/math], [math]\displaystyle{ \xi(x) = \nabla u(x), x\in H }[/math]. This is done by defining curves (and values of [math]\displaystyle{ \xi }[/math] on those curves) as
- [math]\displaystyle{ \dot x(s) = \nabla_\xi H(x(s),\xi(s)), \;\;\;\; \dot \xi(s) = -\nabla_x H(x(s),\xi(s)). }[/math]
- [math]\displaystyle{ x(0) = x_0, \;\;\;\; \xi(x(0)) = \nabla u(x(0)). }[/math] Note that even before we have a solution [math]\displaystyle{ u }[/math], we know [math]\displaystyle{ \nabla u(x) }[/math] for [math]\displaystyle{ x = (0,x') }[/math] due to our equation for [math]\displaystyle{ H }[/math].
That these equations have a solution for some interval [math]\displaystyle{ 0 \leq s \lt s_1 }[/math] follows from standard ODE theorems (using the non-characteristic hypothesis). These curves fill out an open set around the plane [math]\displaystyle{ x = (0,x') }[/math]. Thus the curves define the value of [math]\displaystyle{ \xi }[/math] in an open set about our initial plane. Once defined as such it is easy to see using the chain rule that [math]\displaystyle{ \partial_s H(x(s), \xi(s)) = 0 }[/math], and therefore [math]\displaystyle{ H = 0 }[/math] along these curves.
We want our solution [math]\displaystyle{ u }[/math] to satisfy [math]\displaystyle{ \nabla u = \xi }[/math], or more specifically, for every [math]\displaystyle{ s }[/math], [math]\displaystyle{ (\nabla u)(x(s)) = \xi(x(s)). }[/math] Assuming for a minute that this is possible, for any solution [math]\displaystyle{ u(x) }[/math] we must have
- [math]\displaystyle{ \frac{d}{d s} u(x(s)) = \nabla u(x(s)) \cdot \dot x(s) = \xi \cdot \frac{\partial H}{\partial \xi}, }[/math]
and therefore
- [math]\displaystyle{ u(x(t)) = u(x(0)) + \int_0^t \xi(x(s))\cdot \dot x(s)\, ds. }[/math]
In other words, the solution [math]\displaystyle{ u }[/math] will be given in a neighborhood of the initial plane by an explicit equation. However, since the different paths [math]\displaystyle{ x(t) }[/math], starting from different initial points may cross, the solution may become multi-valued, at which point we have developed caustics. We also have (even before showing that [math]\displaystyle{ u }[/math] is a solution)
- [math]\displaystyle{ \xi(x(t)) = \xi(x(0)) - \int_0^t \nabla_x H(x(s),\xi(x(s))) \, ds. }[/math]
It remains to show that [math]\displaystyle{ \xi }[/math], which we have defined in a neighborhood of our initial plane, is the gradient of some function [math]\displaystyle{ u }[/math]. This will follow if we show that the vector field [math]\displaystyle{ \xi }[/math] is curl free. Consider the first term in the definition of [math]\displaystyle{ \xi }[/math]. This term, [math]\displaystyle{ \xi(x(0)) = \nabla u(x(0)) }[/math] is curl free as it is the gradient of a function. As for the other term, we note
- [math]\displaystyle{ \frac{\partial^2}{\partial x_k \, \partial x_j} H = \frac{\partial^2}{\partial x_j \, \partial x_k} H. }[/math]
The result follows.
Applications
- A concrete application is the computation of radiowave attenuation in the atmosphere.
- Finding the shape from shading in computer vision.
- Geometric optics
- Continuous shortest path problems
- Image segmentation
- Study of the shape for a solid propellant rocket grain
See also
References
- ↑ The Oxford English Dictionary. 2nd ed. 1989. OED Online. Oxford University Press. 4 April 2000 http://dictionary.oed.com/cgi/entry/00292404
- ↑ Evans, L. C.. Partial Differential Equations. AMS Graduate Texts in Mathematics. 19. p. 93.
- ↑ Dimassi, Mouez; Sjöstrand, Johannes (1999). Spectral asymptotics in the semi-classical limit. London Math. Society Lecture Notes 268.. Cambridge University Press. ISBN 0-521-66544-2.
- ↑ Rauch, Jeffrey (2012), Hyperbolic partial differential equations and geometric optics, Graduate Studies in Mathematics, 133, American Mathematical Society, ISBN 978-0-8218-7291-8, Bibcode: 2012hpde.book.....R
- ↑ Bruns, Heinrich (1895). Das Eikonal. S. Hirzel.
- ↑ Hamilton, William Rowan (1828). "Theory of Systems of Rays". Transactions of the Royal Irish Academy 15: 69–174. https://www.emis.de/classics/Hamilton/index.html.
- ↑ Sakai, Takashi. "On Riemannian manifolds admitting a function whose gradient is of constant norm." Kodai Mathematical Journal 19.1 (1996): 39-51.
- ↑ Clawson, Z.; Chacon, A.; Vladimirsky, A. (2014). "Causal Domain Restriction for Eikonal Equations". SIAM Journal on Scientific Computing 36 (5): A2478–A2505. doi:10.1137/130936531. Bibcode: 2014SJSC...36A2478C.
- ↑ Bardi, M.; Capuzzo-Dolcetta, I. (1997). Optimal Control and Viscosity Solutions of Hamilton–Jacobi–Bellman Equations. Boston: Birkhäuser. ISBN 0-8176-3640-4.
- ↑ 10.0 10.1 10.2 10.3 10.4 10.5 Chacon, A.; Vladimirsky, A. (2012). "Fast two-scale methods for eikonal equations". SIAM Journal on Scientific Computing 34 (2): A547–A578. doi:10.1137/10080909X. Bibcode: 2012SJSC...34A.547C.
- ↑ 11.0 11.1 11.2 Kimmel, R.; Sethian, J. A. (1998). "Computing Geodesic Paths on Manifolds". Proceedings of the National Academy of Sciences 95 (15): 8431–8435. doi:10.1073/pnas.95.15.8431. PMID 9671694. Bibcode: 1998PNAS...95.8431K.
- ↑ 12.0 12.1 12.2 Bronstein, A. M.; Bronstein, M. M.; Kimmel, R. (2007). "Weighted distance maps computation on parametric three-dimensional manifolds". Journal of Computational Physics 225 (1): 771–784. doi:10.1016/j.jcp.2007.01.009. Bibcode: 2007JCoPh.225..771B.
- ↑ 13.0 13.1 Sethian, J. A.; Vladimirsky, A. (2000). "Fast methods for the Eikonal and related Hamilton–Jacobi equations on unstructured meshes". Proc. Natl. Acad. Sci. USA 97 (11): 5699–5703. doi:10.1073/pnas.090060097. PMID 10811874. Bibcode: 2000PNAS...97.5699S.
- ↑ 14.0 14.1 Yershov, D. S.; LaValle, S. M. (2012). "Simplicial Dijkstra and A* Algorithms: From Graphs to Continuous Spaces". Advanced Robotics 26 (17): 2065–2085. doi:10.1080/01691864.2012.729559.
- ↑ 15.0 15.1 Sethian, J. A. (1996). "A Fast Marching Level Set Method for Monotonically Advancing Fronts". Proc. Natl. Acad. Sci. 93 (4): 1591–1595. doi:10.1073/pnas.93.4.1591. PMID 11607632. Bibcode: 1996PNAS...93.1591S.
- ↑ 16.0 16.1 Tsitsiklis, J. N. (1995). "Efficient algorithms for globally optimal trajectories". IEEE Trans. Autom. Control 40 (9): 1528–1538. doi:10.1109/9.412624.
- ↑ Bertsekas, D. P. (1993). "A Simple and Fast Label Correcting Algorithm for Shortest Paths". Networks 23 (8): 703–709. doi:10.1002/net.3230230808.
- ↑ Bertsekas, D. P.; Guerriero, F.; Musmanno, R. (1996). "Parallel Asynchronous Label Correcting Methods for Shortest Paths". Journal of Optimization Theory and Applications 88 (2): 297–320. doi:10.1007/BF02192173.
- ↑ 19.0 19.1 Bak, S.; McLaughlin, J.; Renzi, D. (2010). "Some improvements for the fast sweeping method". SIAM Journal on Scientific Computing 32 (5): 2853–2874. doi:10.1137/090749645. Bibcode: 2010SJSC...32.2853B.
- ↑ Zhao, H. (2004). "A fast sweeping method for eikonal equations". Math. Comp. 74 (250): 603–627. doi:10.1090/S0025-5718-04-01678-3.
- ↑ Zhao, H. (2007). "Parallel Implementations of the Fast Sweeping Method". J. Comput. Math. 25 (4): 421–429.
- ↑ Detrixhe, M.; Gibou, F.; Min, C. (2013). "A parallel fast sweeping method for the Eikonal equation". Journal of Computational Physics 237: 46–55. doi:10.1016/j.jcp.2012.11.042. Bibcode: 2013JCoPh.237...46D.
- ↑ Chacon, A.; Vladimirsky, A. (2015). "A parallel two-scale method for Eikonal equations". SIAM Journal on Scientific Computing 37 (1): A156–A180. doi:10.1137/12088197X. Bibcode: 2015SJSC...37A.156C.
Further reading
- Paris, D. T.; Hurd, F. K. (1969). Basic Electromagnetic Theory. McGraw-Hill. pp. 383–385. ISBN 0-07-048470-8.
- Arnold, V. I. (2004). Lectures on Partial Differential Equations (2nd ed.). Springer. pp. 2–3. ISBN 3-540-40448-1.
External links
Original source: https://en.wikipedia.org/wiki/Eikonal equation.
Read more |