第十篇:二次型

二次型的矩阵表示

非退化线性替换

线性替换的矩阵表示

矩阵的合同

矩阵等价

定义:对同型矩阵A、B,存在可逆阵P和Q,使得B=PAQ;B=PAQ
充要条件:A和B的秩相等
矩阵合同

定义:对同型方阵A、B,存在可逆阵P使得B=PTAP;B=PTAP
矩阵相似

比等价严苛
定义:对同型方阵A、B,存在可逆阵P,使得B=P−1AP;B=P−1AP
三者关系:

等价(只有秩相同)–>合同(秩和正负惯性指数相同)–>相似(秩,正负惯性指数,特征值均相同),矩阵亲密关系的一步步深化。(正惯性指数:属于数学学科,简称正惯数,是线性代数里矩阵的正的特征值个数,也即是规范型里的系数"1"的个数。实二次型的标准形中,系数为正的平方项的个数为二次型的正惯性指数。)

二次型的标准形

配方法(化标准形),技巧性大

合同的变换法(化标准形第二种方法,易操作)

from sympy import pprint,Symbol,linsolve,solve,symarray,Eq,Expr,roots,simplify
from sympy.matrices import Matrix,zeros,diag,eye,GramSchmidt
from sympy.abc import lamda
import numpy as np
A = np.array([[1,2,2,1],[2,2,1,1],[2,1,0,1],[1,1,1,1]])
# A=np.array([[5,-4,-2],[-4,5,2],[-2,2,2]])
# A = np.array([[0,1,1],[1,0,-3],[1,-3,0]])

eig_val,eig_vet=np.linalg.eig(A)
X = np.random.randint(0,10,(A.shape[1]))
print(X)
Y = np.dot(np.linalg.inv(eig_vet),X) # 令 X = eig_vet*Y,所以 Y = eig_vet.I * X
# Y = np.linalg.solve(eig_vet,X)

def f_to_norm(A):
    B = Matrix(A)
    x = Matrix(symarray('x',A.shape[1]+1))
    x.row_del(0)
    print('原二次型:')
    f = simplify((x.T*B*x)[0,0])
    pprint(f)
    y = Matrix(symarray('y',A.shape[1]+1))
    y.row_del(0)
    D = diag(*eig_val)
    print('二次标准型:')
    f_norm = simplify((y.T*D*y)[0,0])
    pprint(f_norm)

    print('\n'+'*'*18+'使用sympy代值验证'+'*'*18)
    print('使用原二次型的结果:')
    print(f.subs({key:val for key,val in zip(x,X)}))
    print('使用二次型标准的结果:')
    print(f_norm.subs({key:val for key,val in zip(y,Y)}))

f_to_norm(A)
print('\n'+'*'*18+'使用numpy验证'+'*'*18)
print('X.T * A * X 的结果:{}'.format(np.dot(X.T,np.dot(A,X))))
eig_val = np.diag(eig_val) #特征值组成对角矩阵
print('eve.I * A * eve等于eva:{}'.format(np.allclose(np.dot(np.linalg.inv(eig_vet),np.dot(A,eig_vet)),eig_val)))
print('eve * eva * eve.I等于A:{}'.format(np.allclose(np.dot(eig_vet,np.dot(eig_val,np.linalg.inv(eig_vet))),A)))
print('二次标准型的结果:{}'.format(np.dot(Y.T,np.dot(eig_val,Y))))

'''验证练习题用合同变换法的结果'''
# C = np.array([[1,-2,2,-1],[0,1,-3,1],[0,0,2,-1],[0,0,0,1]])
# y = np.dot(np.linalg.inv(C),X)
# d = np.diag([1,-2,2,0])
# print(np.dot(y.T,np.dot(d,y)))

正定二次型

正定性的判定

正定矩阵

●正定矩阵判定定理
判定定理1:对称阵A为正定的充分必要条件是:A的特征值全为正。

判定定理2:对称阵A为正定的充分必要条件是:A的各阶顺序主子式都为正。

判定定理3:任意阵A为正定的充分必要条件是:A合同于单位阵。

正定矩阵的必要条件

顺序主子式、主子式

实二次型的分类

 

 判定

 

posted @ 2019-07-08 16:24  码迷-wjz  阅读(1869)  评论(0)    收藏  举报