实验6二次型及其标准形
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验6 二次型及其标准形
一、 实验目的
学习利用Matlab 命令求二次型的秩,化二次型为标准形,判断二次型的正定性.
二、实验原理
(一)预备知识
• 线性代数中的关于二次型的知识:
1. 二次型的秩就是二次型的矩阵的秩;
2.判别二次型为正定二次型的充要条件是,它的矩阵A 的特征值全为正,或
A 的各阶主子式为正。
• 本实验所用Matlab 命令提示:
1. 二次型的矩阵为A, 因此用命令rank(A)可以求二次型的秩;
2. d = eig(A)输出方阵 A 的全部特征值组成的列向量d ;
3. 命令[P,D]=eig(A)输出的是对角线上的元素为A 的特征值的对角矩阵D ,以A
的相应的特征向量为列的矩阵P.
(二)实验举例
在Matlab 中,我们运用函数[P,D]=eig(A)求出二次型的矩阵A 的特征值矩阵X 和特征向量矩阵P ,所求的矩阵X 即为系数矩阵A 的标准形,矩阵P 即为二次型的变换矩阵.
例1 把二次型222122332343f x x x x x =+++化为标准形.
解 输入:
clear
A=[2 0 0;0 3 2;0 2 3];
syms y1 y2 y3
y=[y1;y2;y3];
[P ,D]= eig(A)
x=P*y
输出为:
P =
0 0
D =
0 0
0 0
0 0
x =
[ y2 ]
[ -1/2*2^(1/2)*y1+1/2*2^(1/2)*y3]
[ 1/2*2^(1/2)*y1+1/2*2^(1/2)*y3]
f=[y1 y2 y3]*D*y
f =y1^2+2*y2^2+5*y3^2.
由输出结果可知,线性变换x=py 化二次型为标准型22212325f y y y =++.
判别二次型为正定二次型的充要条件是,它的矩阵A 的特征值全为正,或 A 的各阶主子式为正.
例2 判断二次型222112213324824f x x x x x x x =+++-的正定性.
解1 输入:
clear
A=[2 2 1;2 8 0;1 0 -4];
D= eig(A)
输出为:
D =
由输出结果可知二次型的矩阵的特征值为,,,不全为正,所以二次型不是正定的.
解2 二次型的矩阵为221280104A ⎛⎫ ⎪= ⎪ ⎪-⎝⎭
,所以输入
c lear
A2=[2,2;2,8];
A3=[2,2,1;2,8,0;1,0,-4];
D2=det(A2)
D3=det(A3)
输出为:
D2=
12
D3=
-56
输出结果显示:二次型的3阶主子式为-56<0,所以二次型不正定.
三、实验练习
1.求二次型22221223341234222f x x x x x x x x x x =++++++的秩.
2.化二次型222123121323564610f x x x x x x x x x =++---为标准形,并求出所作的非退化的线性变换.
3.用正交变换化二次型121323222f x x x x x x =++为标准形.
4.判别二次型222123122313104224f x x x x x x x x x =+++--是否正定?