
正文
python共轭函数 python共轭复数的输出
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Convex functions
说完python共轭函数了凸集,下一个要将的肯定就是凸函数啦~
凸函数的相关性质在优化中的地位不言而喻~!
是凸函数,如果 的定义域是凸集,并且 成立python共轭函数:
如果 时上面的不等号严格成立,那么就说这个函数是 严格凸 的。
几何上看,凸函数要求 和 这条线段位于函数图形的上方。
对应的,python共轭函数我们还有定义“凹函数”,当 是凸函数时, 被称为凹函数。
对于仿射函数,它是既凸又凹的。同时, 既凸又凹的函数只有仿射函数 。
如果 是凸函数,那么 也是凸函数,反过来的结论也成立。这说明,凸函数限制在任何一条直线上都是凸!凸函数的概念完全可以从欧式空间推广到一般的线性空间,在一般的线性空间上,这条性质成为我们判断凸函数的重要依据。
凸函数还具有良好的分析性质,比如,凸函数在它定义域的相对内点集上是连续的;凸函数的不连续点只可能出现在它的相对边界上。
有时候我们会把一个凸函数的定义域延拓到整个 空间中python共轭函数:
可以证明,这样延拓的凸函数也满足凸函数的定义。(在定义好关于 的运算后)。这样的定义在函数表示上有一定的意义。
可微的凸函数满足一阶条件:
这个不等式揭示了凸函数的局部特性,那就是在一点的切平面是整个函数的 global underestimate 。
如果上面的不等号严格成立,那么这个函数是严格凸的。这里的条件是 充分必要 的。
如果定义在 开凸集 上的二阶可微函数 满足 ,那么 是凸函数。
如果 ,那么 是严格凸的。
关于一阶条件和二阶条件的证明,要用到泰勒展开。在此从略。
定义 的 为:
易证 是凸函数的时候 是个凸集。
从而这里给出了判断凸集的另一个方法:能被写成某个凸函数的 -sublevel set 的集合是凸集。反之,一个函数的 sublevel set 是凸的,并不能反推出它是凸函数(事实上这个函数是拟凸的)。
对于 是凹函数有相应的结论: 是凸集。
一个函数的 的 epigraph 是指:
是 的子集,是函数图形的上方。 是凸集当且仅当 是凸函数。 所以 epigraph 也是一种主要的判断凸函数的方法。
对应于凹函数我们定义 hypograph :
是凸集当且仅当 是凹函数。
琴生不等式是凸函数的重要性质。
对 和 成立:
这是有限个点的情况。该不等式还能扩展到无限和、积分等情况。
对某些凸函数应用琴生不等式可以得到许多著名的不等式:
比如Holder 不等式:
在 infinite 的情况下, 对 是凸的,那么 也是凸的。
事实上,绝大多数的凸函数,都能够表示成一族仿射函数的上确界函数,这种方法也是判断凸函数最常用的方法。
透视操作是保持凸(凹)性的。
如果 对 是凸的, 是一个非空凸集,那么 是凸的。
另外,也可以通过 来证明凸性。
定义函数 的共轭函数为: 共轭函数是多个仿射函数的上确界,因此是一定是凸函数。共轭函数的定义域是上确界值有限的 的值。
一些例子:
共轭函数具有鲜明的几何意义:
当 是一元函数的时候,如上图所示, 表示以 为斜率且过原点的直线,与 的图像的最大距离(或者其负数)。
当 是 元函数的时候, 表示以 为法向量(n+1维)且过原点的平面,与 的图像的最大距离(或者其负数)。
非空集合 的示性函数( indicator function ) 定义为: 的共轭函数是支撑函数 :
设 代表 中的一种范数,其对偶范数为 ,我们能得到共轭函数:
根据共轭函数的定义,下式是显然的:
应用到上面的例子,还能得到:
如果 是凸函数,并且 是闭集,那么 。
如果 是凸函数并且一阶可微,那么根据凸函数的极值理论,容易得到,使得 最大的 满足:
从而我们有:
欲求 ,只需要解 得到向量
如果 ,且 都是凸函数,那么:
拟凸函数就是 所有下水平集是凸集 的函数。比如 就不是凸函数,但是是拟凸的。
很多凸函数具有的良好性质,可以推广到拟凸函数上。
一个定义在凸集上的函数是拟凸函数, 当且仅当 , ,成立:
这意味着,线段上的函数值,一定小于等于两个端点函数值最大的那一个。这个既可以当做拟凸函数的性质,也能当做拟凸函数的定义。(关于两种定义等价性的证明,看 这里 )
针对这个性质还有另一个版本:
来看一些例子。
类似于凸函数,当函数可微时,可以推导出拟凸函数需要满足的一阶条件和二阶条件。
该条件也有鲜明的几何意义。 导出了过点 的对下水平集 的支撑超平面。(高维情况很难想象,不妨考虑一维情况,这时候支撑超平面就退化为一个点,下水平集是一个区间)
虽然拟凸函数和凸函数在一阶条件上具有相似性,但是拟凸函数并不能用一阶条件来判断全局的最小值。当 时, 不一定是 global minimizer .
这个条件,意味着 在 是半正定的,同时 至多有一个负特征值。( 是一维的,从而 是 维的)
简单讲, ,并且 是凹函数,那么 就称为对数凹的。
对数凹还可以用 来定义。从这里看,凸函数可以视作一种“算术平均”,对数凸则是“几何平均”。
为什么要研究对数凸/凹函数呢python共轭函数?
统计学中的似然函数,是一个经常要取对数的函数, 欲求参数的极大似然估计值,其实就是一个关于似然函数的优化问题 ,如果似然函数是对数凹的,那么求对数似然函数负值的最小值,就是一个凸优化问题!这是研究对数凹函数的目的所在。
事实上,很多常见的概率分布函数,都是对数凹的。
如果 具有良好的光滑性,通过 的凹凸性,我们可以得到一些关于 的性质:
因为:
于是可以得到 对数凹的一个充要条件:
在一元函数的情况,就是: 。
此外,对数凸/凹性是对乘法保持封闭的。从 容易看出。如果概率密度函数是对数凹的,那么多个密度函数相乘的结果也是对数凹的。
通过前面提到的广义不等式,可以定义函数的“单调递增”和“严格单调递增”。
例子:
相关问答
Q1: 什么是共轭函数?
e^a+1/e^a,如果a是实数其复共轭就是其本身,如果a=a+bi
e^(a+bi)+e^(-a-bi)=e^a(cosb+isinb)+e^-a(cosb-isinb)=(e^a+e^-a)cosb+isinb(e^a-e^-a)
其复共轭就是(e^a+e^-a)cosb-isinb(e^a-e^-a),上面是实数也可归结到这一结果,是它b=0时的特殊情况。
Q2: python怎么输出方程的共轭复根
只要能给出方程根的表达式,python就能输出,复数也是。
比如方程 x^2 + x + 1 = 0
∆ = -3 0,有一对共轭复根,直接韦达定理公式扔给python就行
(-1 + (-3)**(1/2))/2
(-0.49999999999999994+0.8660254037844386j)
(-1 - (-3)**(1/2))/2
(-0.5-0.8660254037844386j)
Q3: 为什么在python中(8.0+4.2j)/(1-2j)等于-0.08+4.04j?
这是复数的除法计算,化简时要将分母实数化,也就是把除法换算成乘法做,在分子分母同时乘上分母的共轭。共轭可以理解为加减号的变换,如1-2j的共轭是1+2j。
关于python共轭函数和python共轭复数的输出的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







