同伦问题与同伦算法

  • 同伦问题
    • 据我所知,这篇博客是CSDN上少数几篇讲同伦算法的博客之一
  • 考虑
  • 同伦算法的目的
    • 扩大初值选取范围
    • 解决非线性代数方程组的全部解计算问题

同伦算法中的基本概念

  • 考虑F:D\subset R^n\rightarrow R^n,F(x)=0的解x^*\in D人为地引入参数t,构造一个函数族H(x,t)使得

H(x,0)=F_0(x),H(x,1)=F(x)

  • 同时假设F_0(x)=0的解已知,从t=0出发可以求解H(x,t)=0
  • 对于t\in [0,1],假设H(x,t)=0x(t)
    • 如果x(t)可以形成一条R^n中的光滑曲线,其奇点x(0)F_0(x)=0的解,据假设它是已知的,曲线的终点x(1)正是我们要求的x^*\in D
    • H(x,t)称为一个同伦 其解为同伦曲线
  • 同伦的构造,例如
    • H(x,t)=tF(X)+(1-t)F_0(x)
  • 同伦曲线的存在与光滑
    • 假设存在
    • 假设其性质好

同伦算法得到的等价问题 

H(x(t),t) \equiv 0,\forall t\in [0,1]

\left\{\begin{matrix} H_x(x(t),t)x'(t)+H_t(x(t),t)=0,\forall t\in[0,1]\\ x'(t)=-[H_x(x(t),t)]^{-1}H_t(x,t),t\in(0,1)\\ x(0)=x_0 \end{matrix}\right.

代数方程组与同伦方程

  • 假定多项式方程组P(x)=0其分量形式

\begin{matrix} p_1(x_1,x_2,...,x_n)=0\\ ...\\ p_n(x_1,x_2,...,x_n)=0 \end{matrix}

  • 假定Q(x)=0易得到

Q(x)=(q_1(x),q_2(x),...,q_n(x))^T

  • 对应的同伦方程

0=H(x,t)=(1-t)Q(x)+tP(x)

同伦方程的性质

  • 平凡性 
    • Q(x)=0的解已知
  • 光滑性
    • 每一条同伦曲线都是t的单值函数
  • 可达性
    • P(x)=0的任意一个孤立解都有从Q(x)=0出发的同伦方程的解曲线达到
  • 小结
    • 跟踪所有的解曲线即可得到P(x)=0的全部解

Q(x) 的一种取法

\begin{matrix} q_1(x)=a_1x_1^{d_1}-b_1\\ ...\\ q_n(x)=a_nx_n^{d_n}-b_n \end{matrix},\,\,\,d_i=max\sum_{i=1}^n\alpha_i

\alpha_i是多项式p_i某一单项式包含x_i 的幂次(一个p_i 一个d_i)

Bezout 定理

  • Bezout 数 B=\Pi_{i=1}^nd_i
    • Bezout 数定义了全部的解曲线
  • Bezout 定理
    • P(x) 孤立解的个数小于等于 Bezout 数

退化

  • 非线性代数方程组的解的个数小于Bezout 数则为退化的
    • 绝大多数实际问题的解都是远远小于Bezout 数的

同伦算法的计算机实现

  • 私信交流

你可能感兴趣的:(#,动力系统专题,数学建模,python,numpy)