求教hessian matrix~~急~~
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教hessian matrix~~急~~相关的知识,希望对你有一定的参考价值。
突然忘记怎么用hessian matrix特征了
是不是特征值>0说明是local minimum,
特征值<0说明是local maximum,
特征值=0什么也不能说明
那很多个特征值的情况怎么办呢
还有个小问题,讲taylor series的时候,貌似,(x1,x2...,xn)要分别代入
但如果可以展开,比如f(x,y)=e^(xy),求f(0.3,0.4)为什么也要把x和y分别代入,直接e^(0.12)不行么,还是老师怕我们不懂~~故意用那个形式
上课没大听懂,等达人
顺便多问点东西吧
1. 左极限=右极限=该点函数值 --> 该点函数连续
2. 左导数=右导数+该点连续 --> 该点可导
3. 左导数=右导数=该点导数 --> 该点导数连续
这理解对么
但有时比如f(x)=x^2sin(1/x),f(0)=0和f(x)=x^3sin(1/x),f(0)=0时,x=0时导数都无意义
为什么后者导数连续,前者不连续
或者解释1下这题
http://iknow.baidu.com/question/123084771.html
还有个小问题,按定义求极限的时候要用到这俩符号ε和δ什么意思,怎么发音,写个拼音或者音标就好了
1.
hessian矩阵可以判断多元函数的极值问题.
在x0点上,hessian矩阵是负定的,且各分量的一阶偏导数为0,
则x0为极大值点
在x0点上,hessian矩阵是正定的,且各分量的一阶偏导数为0,
则x0为极小值点
矩阵是负定的充要条件是各个特征根均为负数
矩阵是正定的充要条件是各个特征根均为正数
我不清楚你说的单个特征值与0比较的方法以及多个特征值等,可能我没学到.
2.泰勒展开.
f(x,y)=e^(xy),求f(0.3,0.4),为什么也要把x和y分别代入.
这是二元函数的泰勒展开,
为什么不用e^(0.12),即是f(x)=e^x的泰勒展开是吗?
假如说只要求e^(0.12)的值,确实是只需展开e^x就行了.
我想你老师这么做,是举个例子来讲解如何展开二元函数,并做近似计算.
并非所有二元函数都能像e^(xy)可以看成是一个一元函数.
3.
(1)正确的
(2)不需要加该点连续的条件
有定理:若f(x)在x0的某领域有定义,则f(x)在x0可导的充要条件为:
左、右导数存在且相等.
左导数=右导数 --> 该点可导 --> 该点连续
(3)这个我要想想
正确来说,应该是要求导函数在该点的某邻域有定义,且导函数的左右极限存在且相等.
f(x)=x^2sin(1/x),f(0)=0
先求其导函数:f'(x)=2xsin(1/x)-cos(1/x).
其导函数在x=0处是间断点,当然导函数在x=0是不连续的.
f(x)=x^3sin(1/x),f(0)=0时,x=0时导数都无意义,导数连续,要用定义来做.
先求其导函数:f'(x)=3x^2sin(1/x)-x*cos(1/x).
要证其导函数在x=0上连续
首先,先证f'(x)左右极限相等,显然极限值均为0,
再求f(x)在x=0上的导数值,这需要用定义做
lim [f(0)-f(x)]/x=0
x->0
综合两点,f'(x)在x=0上连续
4.对于f(x)=(x^n)*sin(1/x),f(0)=0,n=自然数,
你可以参考上面n=2,3的证法.
5.ε和δ
在求极限时常用到,用其他符号也行,只是习惯问题.
ε习惯用于表示任意小的数.
δ习惯用于表示一个区间,如[x-δ,x+δ] 参考技术A matrix的问题没听懂
泰勒级数问题:之所以有这个级数,更多是为数值计算准备的,(当然进行分析证明也经常能用到),用e^(0.12)当然完全正确,但这能说明什么呢,你很难知道(2.71828....)^(0.12)等于什么,而且就2.71828....这个近似值还可能是通过taylor级数得到的。。。如果这样,何必不直接用taylor级数展开,通过“可操作”的加减乘除进行近似的计算呢?
(2)左导数=右导数 就可以在这点可导了,因为导数本质上是一个极限,导数存在与否也就是该极限存在与否。(1)(3)的理解没什么问题,这都是函数连续的定义
解释下你给连接的那个题吧
x不等于0时,
f'(x)=n*x^(n-1)*sin(1/x)-x^(n-2)*cos(1/x)
要导函数连续,需要上面的极限当x->0时为0
这必须要n>=3,因sin(1/x),cos(1/x)都是有界量,要使上面极限存在,x^(n-2)必须是无穷小
补充一下,就此题而言,
当n=1时,函数f(x)仅在X=0处连续,而并不可导,原因是
f'(x)=lim|(f(x)-f(0))/(x-0)|(x->0)不存在
当n=2时,函数f(x)仅在X=0处连续并可导,但导函数不连续 参考技术B 左导数=右导数=该点导数 --> 该点导数连续
这个是错的,只能说该点导数存在。
Hess矩阵的问题看lmocvce的回答。单个特征值的符号不能用来判定。
补充的其他问题看刑俊杰的回答。 参考技术C 不妨设0是临界点,且f(0)=0.
hessian为0的临界点称为退化的临界点。对于不退化的点,情况非常简单。
因为hessian实对称,可以对角化,假设在某坐标下,其特征值符号有如下形式:
diag( +1, +1, ....+1, -1, -1, ... -1 )
那么经过坐标变换,函数 f 在临近可以表示为
f(x1, ..., xn) = x1^2 + x2^2 + ... + xk^2 - x(k+1)^2 - ... - xn^2
这样极大极小值就一目了然了:
如果 k = n,即所有特征值都为正,显然0是极小值
如果 k = 0,所有特征值都为负,显然0是极大值
其他情况,不确定。
比如 f(x, y ) = x^2 - y^2,在(0,0)处既不是极大,也不是极小。 参考技术D 不太明白啊
急!!!求教高手!用c语言实现1,5,6,11,14,15,16,18,19的全排列,并且要求14要在11后面,18要在16后面。
还有就是6在1和5的后面,1和5顺序不考虑,19在14和15后面,14和15顺序也不考虑。
搞定后另有重赏!!!急求!!!
void main()
int a,b,c,d,e,f,g,h,i,count=0;
int num[9],shu[9];
int fun(int s[]);
int max(int p,int q);
for(a=0; a<9;a++)
for(b=0; b<9;b++)
for(c=max(a,b)+1;c<9;c++)
for(d=0; d<9;d++)
for(e=d+1; e<9;e++)
for(f=0; f<9;f++)
for(g=0; g<9;g++)
for(h=g+1; h<9;h++)
for(i=max(e,f)+1;i<9;i++)
shu[0]=a;
shu[1]=b;
shu[2]=c;
shu[3]=d;
shu[4]=e;
shu[5]=f;
shu[6]=g;
shu[7]=h;
shu[8]=i;
num[a]=1;
num[b]=5;
num[c]=6;
num[d]=11;
num[e]=14;
num[f]=15;
num[g]=16;
num[h]=18;
num[i]=19;
if(fun(shu))
printf("%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n",num[0],num[1],num[2],num[3],num[4],num[5],num[6],num[7],num[8]);
count++;
if(count%100==0) getchar();//数据太多,每100行停一次
int fun(int s[])
int x,y,z;
z=1;
for(x=0;x<9;x++)
for(y=x+1;y<9;y++)
if(s[x]==s[y]) z=0;continue;
return(z);
int max(int p,int q)
int t;
if(p>q) t=p;
else t=q;
return(t);
本回答被提问者采纳 参考技术B 这个数据的规律是什么呢??
1+5=6
5+6=11
6+11=14?
这个貌似没有规律啊。。追问
。。。我说的很清楚了啊,就是这9个数的排列,没有什么规律。本来是9!个组合结果,但是有些要求(14要在11后面,18要在16后面。6在1和5的后面,其中1和5顺序不要求,19在14和15后面,14和15顺序也不要求)没有四则运算,就是简单的排列,只是顺序有些要求。
参考技术C 能把规律说清楚么追问比如1,5,11,6,15,14,16,19,18就符合要求。排列出来的数列顺序有那几个要求。(14要在11后面,18要在16后面。6在1和5的后面,其中1和5顺序不要求,19在14和15后面,14和15顺序也不要求 )谢谢
以上是关于求教hessian matrix~~急~~的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB实现Hessian Matrix(海森矩阵)的计算