把4维的x向量X=(x1,x2,x3,x4),拓展成14维的向量(x1,x2,x3,x4,x1*x1,x1*x2,x1*x3,x1*x4,x2*x2,x2*x3,x2*x4,x3*x3,x3*x4,x4*x4),可以把原问题化简为老师提示的问题,从而进行求解.
楼主学过模式识别(Pattern Recognition)里的LDA(Linear Discriminant Analysis)算法吗?中文叫线性判别分析.LDA算法基本就是求解这么个问题:
minimize t
subject to Ax=-1 (数值)
LDA算法是模式识别里的经典算法,它有很成熟的解析解,你随便网上搜搜,就能得到很详细的解答.
楼主本身的这个问题,算是QDA算法(Quadratic Discriminant Analysis),中文叫二次项判别分析.因为QDA带了二次项,因此比LDA本身要复杂一些.
但是QDA问题可以简化成LDA算法,具体方法就是把4维向量X=(x1,x2,x3,x4),扩展成如下的14维向量Y=(x1,x2,x3,x4,x1*x1,x1*x2,x1*x3,x1*x4,x2*x2,x2*x3,x2*x4,x3*x3,x3*x4,x4*x4).
这样XT*A*X+bT*X+c,就可以化为dT*Y+c的形式了(这个14维向量d和A,b的关系很容易算),然后套用下现成的LDA算法求出d,然后反推出A和b,基本就搞定了.