龙空技术网

泛函分析:广义的距离与变分法

底层技术栈 1657

前言:

而今朋友们对“c语言计算几何”大约比较关切,大家都想要分析一些“c语言计算几何”的相关知识。那么小编在网摘上收集了一些关于“c语言计算几何””的相关文章,希望看官们能喜欢,大家一起来了解一下吧!

#头条创作挑战赛#

实变函数、泛函分析、抽象代数,是数学的新三高

抽象代数的出现,是因为高次方程的求根问题。

实变函数的出现,是因为黎曼积分的范围问题。

泛函分析的出现,是因为最速降线问题

1696年,伯努利给牛顿出了一个题:

不在同一条垂线上的高低两点,让小球在重力的作用下从高点沿着曲线滚动到低点,问小球沿着哪一条曲线(滚动),所花的时间最少?

最速降线问题

如果没有重力作用的话,那肯定是沿着两点之间的直线花的时间最少[呲牙]

有重力的情况下,这就是从很多曲线组成的集合里选一条最优曲线的问题。

曲线,是一个函数。

这样,微积分上由点组成的集合,就被扩展到了由函数组成的集合。

实数空间,也就扩大到了函数空间。

实数上的两点之间的距离,是它们的差的绝对值:那么,函数空间上的两点之间的距离,该怎么定义?

1)距离是非负的:d(x, y) >= 0,并且只有x = y时才有d(x, x) = 0.

2)距离是对称的,交换两点的顺序,距离不变:d(x, y) = d(y, x).

3)距离满足三角形不等式,两边之和大于等于第三边,并且只有在三点共线的情况下等号才成立:d(x, y) + d(y, z) >= d(x, z).

距离的三角形不等式

上面的3条公理,就是广义的距离定义。

或者说,满足这3条公理的二元函数都是“距离”。

定义了距离的空间(集合),叫度量空间

1,度量空间,收敛性,

定义了距离之后,就可以进一步定义空间里的点列收敛性

{xn | n = 0, 1, 2, 3, ...},

如果任取一个足够小的数,都有一个足够大的数N,当m, n > N时有那么这个点列就是收敛的。

收敛的定义跟高数上一样,也是用语言。

只不过这里的空间不一定是实数集或复数集,也可以是函数集(或其他复杂的集合)。

函数集上的距离定义,一般选择两个函数的差的绝对值de最大值:

max { | f(x) - g(x) |, x是它们共同的定义域上的点}.

如下图:如果两个函数的定义域就选这么一段的话,那么d3就是它们之间的“距离”。

函数之间的距离

当然也可以使用其他的距离定义(例如差的平方和再开根),总之只要满足距离的3个公理就可以。

2,极限点,完备空间,

定义了距离和点列的收敛之后,当n趋向于无穷大时,两点之间的距离趋向于0,两点趋向于一点:这一点,就是极限点

如果所有收敛点列的极限点,都在这个空间内,那么这个空间就是完备的

实数集R是完备的。

微积分就是求极限点的游戏,微积分使用的就是实数集:使用复数集的叫复变函数[捂脸]

3,压缩映射,不动点定理,

这是完备空间上的一个常用定理。

如果A是一个压缩映射:x, y是空间上的两点,并且d(Ax, Ay) <= p d(x, y),p < 1,那么有且仅有一点满足方程Ax = x.

它就是用A不断地去乘以Ax,形成一个收敛的点列:

(这里的乘法是广义的,可以是复合函数,也可以是矩阵乘法,etc.)

当迭代的次数足够多时(m, n > N),两点之间的距离趋向于0,所以这个点列是收敛的,并且存在唯一的极限点:Ax = x.

令A = d/dt,x = e^t,那么Ax = de^t / dt = e^t = x,就是微积分为什么使用自然指数e的原因!

深度学习要想在BP算法下训练到收敛,也得满足这个定理:

随着训练次数的增多,输入样本和它的标签应该是模型的"不动点"。

所以,为了让BP算法构成压缩映射,人们想出了各种正则化的方法:调参艺术[大笑]

4,内积空间,余弦定理,

距离,主要是判断收敛的。

定义了距离之后,也可以导出范数:d(x, y) = || x - y ||,它扩展的是实数的绝对值。

如果在向量空间里,范数就是各个坐标的平方和的平方根:

这就是欧氏空间的范数,有它导出的距离也是符合距离3公理的。

向量的距离、向量的范数,和向量的内积是关联的:

两个向量的夹角的余弦,也可以通过内积来定义:

定义了内积的无限维空间,叫希尔伯特空间

泛函,就是把距离和内积的定义给广义化了之后引出来的。

5,变分法,

变分法,属于非线性泛函分析。

但它出现的比泛函还早得多,在1700年的牛顿时代因为物理问题就被提出来的。

这个物理问题,就是本文开头的最速降线问题,牛顿一个晚上就解出来了[捂脸]

最速降线-y轴向下

让y轴向下,x轴向右,曲线方程要简单一些,点的y坐标正好是下降的高度:

根据能量守恒定律:

速度v的方向沿着曲线的切线,v与切线是始终重合的,它们的夹角为0,所以不用对v进行向量的分解了。

时间就是曲线的弧长除以速度,只不过要用积分表示:

它确定了连续函数空间C[0, c]到实数集R的一个映射:这是一个泛函。

泛函的定义域是一个函数空间,值域是实数或复数集。

被积分的部分,分子是曲线的弧长,分母是速度。

要想求一条时间最少的曲线,在曲线的细微改变下,泛函的值应该怎么细微改变:就是泛函的变分,物理上全是这类问题。

把被积分的式子按照一阶导数展开,可得:

分步积分法之后,第2项在积分界限上为0,只剩下第1和第3项。

因为曲线的变分(细微改变)是任意的,所以只能小括号里面的为0,这就是欧拉-拉格朗日方程

但是,欧拉-拉格朗日的年代只有变分法,还没有泛函分析,科学史有时候就是这么奇怪。

代进欧拉-拉格朗日方程,

化简之后是:

这就是最速降线的微分方程。

先让y' = p, y'' = dp/dx = dp/dy dy/dx = pdp/dy,就可以把方程降到一阶。

分离变量之后,获得:

即,A/(1+p^2)=y,其中A = e^C.

只取正号,开方之后获得:

再让

获得:

获得:

这就是最速降线问题的解析式。

标签: #c语言计算几何