考虑自治方程
dx1dt=f(x1,x2)\frac{dx_{1}}{dt}=f(x_{1},x_{2})dtdx1​​=f(x1​,x2​)
dx2dt=g(x1,x2)\frac{dx_{2}}{dt}=g(x_{1},x_{2})dtdx2​​=g(x1​,x2​)
  其中(f(x1,x2),g(x1,x2))(f(x_{1},x_{2}),g(x_{1},x_{2}))(f(x1​,x2​),g(x1​,x2​))大多数情况下表示连续函数,他们的光滑性足够好。在上式中坐标分别为x1,x2x_{1},x_{2}x1​,x2​,它们对时间t的导数存在这样的函数关系。之后用无角标xxx表示向量,即 x=(x1,x2)x=(x_{1},x_{2})x=(x1​,x2​)。然后,我们用F(x)F(x)F(x)表示一个R2⇒R2R^{2}\Rightarrow R^{2}R2⇒R2的映射,用 F1(x1,x2)F_{1}(x_{1},x_{2})F1​(x1​,x2​), 来表示这个函数向量的第一个分量。在这里,我们用大写的字母表示一个函数向量,用小写或者脚标的形式来表示一个分量。

1.连续性、场、流

  微分方程的解如果可以用一定的解析形式表达出来,这样的解称为解析解。但是基本我们见到的大多数方程解析解不存在,我们就需要用理论上无限精度的数值计算来求解微分方程,这样的解称为数值解。对于微分方程的解统称为流(flow)
  在流之前先引入的概念。给出一个二维坐标平面x1−x2x_{1}-x_{2}x1​−x2​,在二维平面中,我们可以定义每一点的方向向量(f(x1,x2),g(x1,x2))(f(x_{1},x_{2}),g(x_{1},x_{2}))(f(x1​,x2​),g(x1​,x2​)),只要对平面内的每一个点,都做这样的方向向量的运算,我们就可以得到一个平面矢量场。对其中每一个点,沿着方向向量方向走无限小的距离,就可以到达另一个点,不停地这样操作,我们就可以得到一条曲线。如果F(x)F(x)F(x)是连续的,那么我们得到的是一条光滑的曲线。
  所有的这样的光滑曲线,组成的一个集合,我们称之为ψ\psiψ ,其中的每一个元素,都是上述微分方程组的一个解。注意,流是不相交的,因为相交会出现一个问题:在交点处,存在两个方向向量,但是,按照我们的定义,某一点的方向向量是惟一的,因而矛盾。
  我们经常研究连续函数的流,因为它在定义域内是光滑的,这十分有利于分析。如果 F(x)F(x)F(x)的其中一个分量不是连续的,那么其图像会产生“拐点”,因此其分析性质是比较困难的。
借用原文的图,给出洛伦兹系统的流示意图

  洛伦兹吸引子图像如下

  为了更清楚地了解运动的形态,庞加莱对连续运动的轨迹用一个截面(叫庞加莱截面)将其横截,那么根据 轨迹在截面上穿过的情况,就可以简洁地判断运动的形态,由此所得图像叫庞加莱映像。在截面图上,轨迹下一次穿过截面的点xn+1x_{n+1}xn+1​可以看成前一次穿过的点xnx_nxn​的一种映射xn+1=f(xn)(n=1,2,3,⋯)x_{n+1}=f(x_n) \quad (n=1,2,3,\cdots)xn+1​=f(xn​)(n=1,2,3,⋯),这种映射就叫庞加莱映射,它的作用是将连续运动化为简洁的离散映射来研究。
   在庞加莱映射中的不动点反映了相空间的周期运动,如果运动是二倍周期的,则庞加莱映射是两个不动点,四倍周期则有四个不动点等。

流的体积变化

  我们使用ϕ(x0;t)\phi (x_{0};t)ϕ(x0​;t)表示起始点为x0x_{0}x0​ 的流,经过时间 ttt 演化后的位置。(其中x0x_{0}x0​为初值)因此,流是一个动态的概念,我们不应该仅仅考虑其静态的局部。
  流的群性质:易知:ϕ(ϕ(x0;t1);t2)=ϕ(x0;t1+t2)\phi (\phi (x_{0};t_{1});t_{2})=\phi (x_{0};t_{1}+t_{2})ϕ(ϕ(x0​;t1​);t2​)=ϕ(x0​;t1​+t2​)。这便是流的群性质。
  接下来,我们引入一个发散量的概念。其实,发散量的概念,与场中的散度的概念是一样的。我们首先回顾一下场的散度的概念(我们常见的有散度、梯度和旋度)。对于一个矢量场F(x)F(x)F(x) ,其散度为:▽F(x)\bigtriangledown F(x)▽F(x) 。其含义为,用哈密顿算符作用于函数矢量F(x)F(x)F(x) ,得到的结果为散度。散度是指朝每个方向的发散量的总和,其和表示体积膨胀的变化率。
  发散量的概念与之类似,用以衡量流上一点的体积变化率。事实上谈论一个点的体积变化率是没有意义的,因为一个点的定义就是要求无穷小,自然没有体积变化率的概念。在这里,我们指的更多是一个足够小半径的球,这个足够小半径的球中的每一点,我们都将其取为初始点,也就是说,是这样的一个集合AAA:
A(t)={ϕ(x;t),x∈D}A(t)= \left \{ \phi (x;t),x \in D \right \}A(t)={ϕ(x;t),x∈D}
其中,DDD表示的是以下集合D={x:∣x−a∣⩽ε}D=\left \{ x:\left | x-a \right | \leqslant \varepsilon \right \}D={x:∣x−a∣⩽ε},aaa表示该空间中的一点, ε\varepsilonε表示一个足够小的半径。将这两个集合分开写,是为了便于理解。因为我们这里需要一个动态的集合和一个静态的集合, AAA表示动态的集合,DDD表示了静态的集合,因此我们令AAA是时间t的函数,在t=0t=0t=0时,A=DA=DA=D。

2. 庞加莱映射

2.1 直观理解

  为了更清楚地了解运动的形态,庞加莱对连续运动的轨迹用一个截面(叫庞加莱截面)将其横截,那么根据 轨迹在截面上穿过的情况,就可以简洁地判断运动的形态,由此所得图像叫庞加莱映射。在截面图上,轨迹下一次穿过截面的点xn+1x_{n+1}xn+1​可以看成前一次穿过的点xnx_nxn​的一种映射xn+1=f(xn)(n=1,2,3,⋯)x_{n+1}=f(x_n) \quad (n=1,2,3,\cdots)xn+1​=f(xn​)(n=1,2,3,⋯),这种映射就叫庞加莱映射,它的作用是将连续运动化为简洁的离散映射来研究。
   在庞加莱映射中的不动点反映了相空间的周期运动,如果运动是二倍周期的,则庞加莱映射是两个不动点,四倍周期则有四个不动点等。
  简而言之,庞加莱映射是基于流本身的一种特殊的映射。找到了通俗说法如下:
  流,形象化地说,就是空间中的一条曲线,微分方程的一组解对应了空间中一条曲线。这条曲线的去向是未知的,但是很显然,当一个方程确定下来,以及给定了初始点以后,这个流就确定下来了。这个流可能孤独地往前走,走向了无穷远处,也可能在某一个地方开始弯折,朝着原来的反方向前进。这些都是由微分方程组决定的。
  以Vanderpol方程组为例
dx1dt=x2\frac{\mathrm{d}x_{1} }{\mathrm{d} t}=x_{2}dtdx1​​=x2​
dx2dt=−x1−(x12−1)x2\frac{\mathrm{d}x_{2} }{\mathrm{d} t}=-x_{1}-(x_{1}^{2}-1)x_{2}dtdx2​​=−x1​−(x12​−1)x2​
相图x1−x2x_{1}-x_{2}x1​−x2​如下:

**Vanderpol方程的流最终趋向于一个由闭合曲线构成的环,这个环不是圆环。**在这里,虽然数值模拟不能够完美地反应一个方程组的相图,但是,对于复杂度不高的方程组(所谓复杂度不高的方程组,是指其混沌特性在一定的可控范围内,或者说,像是洛伦兹系统那样,局限于一个小的范围内,并且在这个小的范围内,流的特点有一定的相似性),由于其流的一定范围内有足够的相似性,因此我们可以认为,数值模拟得到的相图能够反映该方程组的局部性态。

2.2 数学定义

  为了推广到高维空间,先定义超平面的概念,所谓超平面,就是对于一个n维欧式空间而言,一个n-1维的子空间,这个子空间的要求和线性代数中的子空间要求不同,不需要满足线性空间的要求。或者说,我们可以把超平面理解成内嵌于n维欧式空间的一个n-1维流形。这个流形的要求就是该流形存在一个线性同胚的流形,且这个新流形上的点满足某个坐标相等。线性同胚:是用来刻画两个拓扑线性空间结构相似性的概念。我的理解是类似于相似,具有一些相等的性质。)
  超平面的例子原文也给出,三维空间中的平面就是一个二维空间,而二维空间中的直线就是一维空间。上述两个例子都是超平面,超平面就是三维空间中平面的推广,四维空间中的超平面就是一个三维空间。只不过,与线性空间的区别在于,不需要存在加法单元。(一懂半懂的。。。。。不过不影响后面的内容)
  接下来可以定义庞加莱映射。(看了很多网上的定义,下面这个定义比较直观简洁)
  对于空间中的流 ϕ(x0;t)\phi (x^{0};t)ϕ(x0;t),取一个包含x0x^{0}x0而不与 ϕ(x0;t)\phi (x^{0};t)ϕ(x0;t)相切的超平面φ\varphiφ,可知, x0x^{0}x0是流 ϕ(x0;t)\phi (x^{0};t)ϕ(x0;t)与φ\varphiφ的第一个交点。沿着流运动,如果存在第一个时间 t1>0t_{1}> 0t1​>0使得 ϕ(x0;t)∈φ\phi (x^{0};t) \in \varphiϕ(x0;t)∈φ,那么,我们称ϕ(x0;0)\phi (x^{0};0)ϕ(x0;0)经过一次庞加莱映射到了 ϕ(x0;t1)\phi (x^{0};t_{1})ϕ(x0;t1​),记为: P(ϕ(x0;0))=ϕ(x0;t1)P\left ( \phi (x^{0};0) \right )=\phi (x^{0};t_{1})P(ϕ(x0;0))=ϕ(x0;t1​)。
  简而言之,庞加莱映射,就是初始点从过初始点的超平面开始,沿着流,直到流再次与超平面相交得到一个新的点。因此,庞加莱映射是随着微分方程组变化而变化的。而且庞加莱映射的定义域是那些存在这样的超平面使得流能够回归的初始点。

3 周期轨

  庞加莱映射给出了一种回归性,这种回归性不是完全回归的,而是近似回归的,在绝大多数情况下的庞加莱映射,都不是一个恒等映射。
  回归怎么理解:有一门课程叫做回归分析是用来确定两种或两种以上变量间相互依赖的定量关系的一种复统计分析方法。回归可以理解为两种或两种以上变量间相互依赖的定量关系。恒等映射怎么理解:对任意集合A,如果映射f:A→A定义为f(a)=a,即规定A中每个元素a与自身对应,则称f为A上的恒等映射。
  以Vanderpol方程为例,例如我们取 x0x^{0}x0为(0,5),且超平面我们直接取为yyy轴。由数值计算结果,我们可以得到,P((0,5))=(0,−2.1868)P((0,5))=(0,-2.1868)P((0,5))=(0,−2.1868)。并且我们可以简单地从图像中观察得到,庞加莱映射得到的点的纵坐标是在0两端跳跃的。因此我们可以得到一个数列,其中的第 jjj个项是 Pj((0,5))P^{j}\left ( \left ( 0,5 \right ) \right )Pj((0,5))的纵坐标,则数列的第0个项就是初始点纵坐标5,我们来观察这个数列,显然,这个数列是没有极限的,因为它在0两端跳跃,而且不是趋于0的。由此,我们可以得出一个结论,该数列的奇数项子列有一个极限,偶数项子列也有一个极限。由数值模拟可以得到奇数项的极限约为-2.172825,按照对称性,偶数项的极限约为2.172825。
  这样可以从流的角度来定义周期轨,对于流 ϕ(x0;t)\phi (x^{0};t)ϕ(x0;t),如果存在某一最小的 T>0T> 0T>0,使得ϕ(x0;0)=ϕ(x0;T)\phi (x^ {0};0)=\phi (x^{0};T)ϕ(x0;0)=ϕ(x0;T),那么称流 ϕ(x0;t)\phi (x^{0};t)ϕ(x0;t) 形成了周期轨,并且我们称TTT 为周期轨的周期。
  假如我们做一个穿过 ϕ(x0;0)\phi (x^{0};0)ϕ(x0;0)的超平面 φ\varphiφ,并且φ\varphiφ不与 ϕ(x0;t)\phi (x^{0};t)ϕ(x0;t)相切(事实上,相切也没有很大的问题,但是可以使讨论变得简单),我们就可以得到这样的庞加莱映射: P(ϕ(x0;0))=ϕ(x0;T)=ϕ(x0;0)P\left ( \phi (x^{0};0) \right ) =\phi (x^{0};T)=\phi (x^{0};0)P(ϕ(x0;0))=ϕ(x0;T)=ϕ(x0;0),那么,我们称该系统存在周期轨。非不动点的要求并非是完全必要的,因为庞加莱映射基本上是不考虑不动点的,因为不动点对于庞加莱映射是没有意义的

https://zhuanlan.zhihu.com/p/83082587
https://zhuanlan.zhihu.com/p/83323162

流(flow)、庞加莱(Poincare)映射、周期轨道相关推荐

  1. 云效飞流Flow项目版本管理的最佳实践

    简介:飞流Flow的最佳实践(使用阿里云云效)为了更好地使用飞流Flow,接下来将结合阿里云云效来讲解飞流Flow的最佳实践 目录 一.分支规约 二.版本号规约 2.1 主版本号(首位版本号) 2.2 ...

  2. 跟我学 Java 8 新特性之 Stream 流(五)映射

    转载自   跟我学 Java 8 新特性之 Stream 流(五)映射 经过了前面四篇文章的学习,相信大家对Stream流已经是相当的熟悉了,同时也掌握了一些高级功能了,如果你之前有阅读过集合框架的基 ...

  3. java流与文件——内存映射文件

    [0]README 0.1) 本文描述转自 core java volume 2, 旨在理解 java流与文件--内存映射文件 的相关知识: 0.2)内存映射文件的目的是: 提高访问速度, 缓冲区Bu ...

  4. 项目版本管理的最佳实践:云效飞流Flow篇

    简介: 飞流Flow的最佳实践(使用阿里云云效)为了更好地使用飞流Flow,接下来将结合阿里云云效来讲解飞流Flow的最佳实践 目录 一.分支规约 二.版本号规约 2.1 主版本号(首位版本号) 2. ...

  5. python工作任务流flow实时框架:prefect

    python工作任务流flow实时框架:prefect prefect是一个python的工作任务流调度实时框架,prefect可以快速构建平台系统复杂模块间工作流的监测.当平台系统模块之间的调用链越 ...

  6. 【协程】冷流flow详解

    一.目前异步返回多个值方案 如果存在异步返回多个值的需求,我们探索以下解决方案 1.1.集合 集合返回了多个值,但是一个一个返回的,不是异步 fun simpleList(): List<Int ...

  7. Java 8 新特性之 Stream 流(五)映射

    经过了前面四篇文章的学习,相信大家对Stream流已经是相当的熟悉了,同时也掌握了一些高级功能了,如果你之前有阅读过集合框架的基石Collection接口,是不是在经过前面的学习,以前看不懂的东西,突 ...

  8. Kotlin 协程 (5/7篇) - 响应式编程(冷流) Flow

    一.概念 场景:List 是同步一次性返回多个值,Sequence 是同步(阻塞)分开返回多个值,Suspend 是异步返回单个值,Flow可以异步返回多个值. 冷流:只能在创建的时候定义生产数据的代 ...

  9. Deployer-6-部署流-Flow

    如果我们的配方基于 '常用配方或 Deployer 附带的框架配方之一',那么我们正在使用默认部署流中的一个.每个部署流都被描述为 deploy 命名空间下的一组其他任务.一个常见的部署流可能如下所示 ...

  10. matlab画虫口模型分岔图,Matlab画图片碰磨转子系统中的分岔图,poincare映射图???...

    图片中是转子碰磨故障的动力学模型,应用龙格库塔法求解,在画分岔图和poincare截面图,画出来不对,不知道为什么,下面是我自己编的程序,请大侠们帮忙看看我错在哪里了? global omega;  ...

最新文章

  1. SOLO: 按位置分割对象
  2. 21张让你代码能力突飞猛进的速查表(神经网络、机器学习、可视化等)
  3. RIP协议的基本配置(1)
  4. 创建尽可能小的 Docker 容器
  5. linux运维脚本编写,Linux运维常用shell脚本实例 (转)
  6. maven 工程启动找不到 Spring ContextLoaderListener 的解决办法
  7. 查看mysql的版本的四种方法
  8. 把一个字符串里符合表情文字标签的地方全部替换为相应的图片的方法
  9. Java接口、implements关键字、接口中抽象方法,默认方法,静态方法,私有方法,常量、final关键字
  10. go语言学习--string、int、int64互相转换,字符串的截取,数组和字符串的转换
  11. 亲测:解决“正在进行另一Java安装,您必须先完成该安装,然后才能运行此安装程序”的问题
  12. 史陶比尔机器人的 LLI (Low Level Interface)
  13. 几张图,简单弄懂pcb生产工艺流程!
  14. 音频文件压缩大小如何操作?分享一个音频压缩的小技巧
  15. YOLOX: Exceeding YOLO Series in 2021
  16. cpu压力测试 Android,android开发之压力测试的命令
  17. python 阮一峰_ES6 Iterator笔记(摘抄至阮一峰的ECMAScript 6入门)
  18. 在线绘制函数图像和在线图标绘制网址
  19. 白话 P-value 这个再通俗不过了~
  20. Immutable 详解及 React 中实践 1

热门文章

  1. 分数化成有限小数的方法_什么样的分数能化成有限小数?
  2. 十. Go学习:接口详解
  3. 栈结构应用_普通计算器和逆波兰计算器
  4. 计算机多媒体应用软件有超媒体特点吗,以下不属于多媒体的主要特性的是()。...
  5. PhotoShop CC 2017软件工具面板使用---污点修复画笔工具
  6. 浏览器工作原理及相关内核、技术介绍
  7. 程序员久坐不动的8大危害
  8. C语言中的强符号与弱符号
  9. 变压器容量kVA与电机kW的关系
  10. Linux C TCP Socket实现客户与服务器简单通信