MATLAB -对称正定矩阵

1 正定矩阵

    设二次型f(x)=x^{T}AxA 是对称矩阵,如果对任何x\neq 0,都有f(x)>0(显然f(0)=0),则称f为正定二次型,并称对称矩阵A是正定的[1]。

2 MATLAB随机生成正定矩阵

    1)用随机函数rand生成对称正定矩阵

         rand(m,n):随机生成每个元素在0~1之间的m行n列的矩阵。

M=diag(rand(N,1)); 
Z=orth(rand(N,N));
A=Z'*M*Z;    % A为N阶正定矩阵

   2)判定是否为正定矩阵

[R p]=chol(A)   
% 若A是正定矩阵,则从矩阵A的对角线和上三角产生一个上三角矩阵R,满足等式R'* R = A且p为零。
% 如果A不是正定的,则p是一个正整数并且MATLAB 不会产生错误。

 

参考文献:[1] 线性代数.同济大学数学系编.第六版.高等教育出版社,2014.

你可能感兴趣的:(Matlab)