【转载请注明出处】http://www.cnblogs.com/mashiqi

2018/08/08

eikonal equation如下:$$|\nabla_x \tau (x)| = n(x).$$

定义Hamiltonian:$H(p,x) = \tfrac 1 2 n^{-2}(x)|p|^2 - \tfrac 1 2$,于是可得$$0 = \textrm{d}H = \sum_j \frac{\partial H}{\partial p_j} \textrm{d}p_j + \sum_j \frac{\partial H}{\partial x_j} \textrm{d}x_j.$$ 若我们参数化x和p,令$\frac{\textrm{d}x_j(t)}{\textrm{d}t} = \frac{\partial H}{\partial p_j},\quad \frac{\textrm{d}p_j(t)}{\textrm{d}t} = - \sum_j \frac{\partial H}{\partial x_j}$,则此时$x(t)$和$p(t)$满足$\textrm{d}H(p(t),x(t)) = 0$。若我们同时再要求$x(t)$与$p(t)$满足$H(p(t),x(t)) = 0$,则我们得到了原eikonal equation的characteristics。令$\tau(t)$满足$\frac{\textrm{d}\tau(t)}{\textrm{d}t} = \sum_j p_j \frac{\partial H}{\partial p_j} = 1.$

ODE的characteristics的性质,可参见Evans的Partial Differential Equations (v2)的section 3.2。

eikonal equation - 程函方程的更多相关文章

  1. [LeetCode] Solve the Equation 解方程

    Solve a given equation and return the value of x in the form of string "x=#value". The equ ...

  2. hdu2199Can you solve this equation?(解方程+二分)

    Can you solve this equation? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  3. [题解+总结]NOIP2010-2015后四题汇总

    1.前言 正式开始的第一周的任务--把NOIP2010至NOIP2015的所有D1/2的T2/3写出暴力.共22题. 暴力顾名思义,用简单粗暴的方式解题,不以正常的思路思考.能够较好的保证正确性,但是 ...

  4. Zhulina 的高分子刷理论

    高分子刷的解析平均场理论有两种表述方式.一个是MWC理论(Macromolecules 1988, 21, 2610-2619),另外一个就是Zhulina和Birshtein这两位俄罗斯老太太的理论 ...

  5. 单应性(homography)变换的推导

    矩阵的一个重要作用是将空间中的点变换到另一个空间中.这个作用在国内的<线性代数>教学中基本没有介绍.要能形像地理解这一作用,比较直观的方法就是图像变换,图像变换的方法很多,单应性变换是其中 ...

  6. 壁虎书8 Dimensionality Reduction

    many Machine Learning problems involve thousands or even millions of features for each training inst ...

  7. 如何用简单例子讲解 Q - learning 的具体过程?

    作者:牛阿链接:https://www.zhihu.com/question/26408259/answer/123230350来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  8. NOIP2010-2015后四题汇总

    1.前言 正式开始的第一周的任务——把NOIP2010至NOIP2015的所有D1/2的T2/3写出暴力.共22题. 暴力顾名思义,用简单粗暴的方式解题,不以正常的思路思考.能够较好的保证正确性,但是 ...

  9. A Multigrid Tutorial中涉及到的难点词汇

    Multigrid Tutorial中涉及的词汇: Elliptic PDEs 椭圆型偏微分方程 Lawrence Livermore National Laboratory 劳伦斯利福摩尔国家实验室 ...

随机推荐

  1. js的一些常用方法

    1.判断是否为一个空对象 let a={}; console.log(Object.keys(arr).length==0);//true 2.从数组中取出重复的数据 var arr = [" ...

  2. JeasyUI,导出Excel

    这个是客户端表格导出伪Excel文档. 不知道为啥,超过200条,不能导出,显示网络错误 $.extend($.fn.datagrid.methods, { //超过200条,不能导出,显示网络错误? ...

  3. linux—epoll

    一.epoll服务端实现中需要的3个函数: epoll_create:创建保存epoll文件描述符的空间. epoll_ctl:向空间注册并注销文件描述符. epoll_wait:与select函数类 ...

  4. one list to muti list

    List<Integer> intList = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8); List<List<Integer> ...

  5. Linux之文件、目录

    Linux之文件.目录 文件权限 User.Group.Others 在Linux中,任何一个文件都具有这三种身份的个别权限,三者的区别是 User: 指每一个单独的用户,例如member1,memb ...

  6. js检测页面离开

    window.location = 'yjk://app.h5.ihaozhuo.com?page=livetrailer&videoLiveId=' + parseInt(this.Requ ...

  7. python中list,tuple,dict,set等深浅拷贝的问题记录

    对于字典.元祖.列表 而言,进行赋值.浅拷贝和深拷贝时,其内存地址的变化是不同的. 1.赋值 赋值,只是创建一个变量,该变量指向原来内存地址,如: 1 2 3 n1 = {"k1" ...

  8. java课堂笔记4

  9. 解决flask的502错误:upstream prematurely closed connection while reading response header from upstream

    我在使用 tiangolo/uwsgi-nginx-flask 部署flask应用的时候,经常运行一会儿就出现502错误,重新启动容器后,就恢复. 且经常会出现数据更新后,刷新结果不一致. docke ...

  10. method.invoke()s

    在框架中经常会会用到method.invoke()方法,用来执行某个的对象的目标方法.以前写代码用到反射时,总是获取先获取Method,然后传入对应的Class实例对象执行方法.然而前段时间研究inv ...