在MATLAB中把二次元形式转换为经典形式
二次方形式是在任何数量的变量中的二阶同构多项式。在这篇文章中,我们将看到,二次元形式与经典形式的转换。
举例来说。
如果
那么,
这是一个二次方程。
每一个二次元形式都可以简化为一个平方之和,被称为经典形式。
λ1x2 + λ2y2 + λ3z2,
其中 λ1, λ2 & λ3 是上述的特征值
Matrix 'A' (Matrix of Quadratic form)
将二次元形式转换为经典形式的步骤:
第1步: 考虑到给定的二次元形式是以下格式。
ax2+by2+cz2+2fyz+2gxz+2hxy
第2步: 然后,从上述二次方程中,我们找到以下矩阵’A’(称为二次方程的矩阵)。
每一个二次元形式都可以简化为一个平方之和,被称为经典形式。
λ1x2 + λ2y2 + λ3z2,
Where λ1, λ2 & λ3 are Eigen Values of the above
Matrix 'A' (Matrix of Quadratic form)
将二次元形式转换为经典形式的步骤
第1步: 考虑到给定的二次元形式是以下格式。
ax2+by2+cz2+2fyz+2gxz+2hxy
第3步: 在找到上述矩阵 “A “之后,我们通过解决它的特征方程找到它的特征值。A “的特征方程是。
|A-λI3| = 0,
Where I3 is the Identity Matrix of order 3.
第4步: 展开上述关系,我们得到。
λ3 + C1λ2 + C2λ + C3I3 = 0,
where C1, C2 & C3 are Real Constants.
第5步: 解决了上述关系,我们得到了’λ’的3个解决方案,让这3个解决方案成为λ 1 , λ 2 & λ 3\。
第6步: 那么给定的二次函数形式(ax 2 +by 2 +cz 2 +2fyz+2gxz+2hxy)的经典形式被表示为。
Canonical Form = λ1x2 + λ2y2 + λ3z2
与二次元形式相关的不同参数是
- 指数。它是矩阵’A’(二次型矩阵)的正的特征值的数量。二次方形式的指数也可以定义为二次方形式的经典形式表示中的正方形项的数量。
- 签名。它是矩阵 “A”(二次型矩阵)的正负特征值的数量之差。二次方形式的签名也可以定义为二次方形式的经典形式表示中的正负平方项数量之差。
- 等级:它是矩阵’A’(四维形式的矩阵)的非零特征值的数量。二次方形式的等级也可以定义为矩阵’A’的行梯形中非零行的数量。
- 二次方形式的性质。根据矩阵’A’(二次形式的矩阵)的特征值的性质,决定二次形式的性质。
- 如果矩阵 “A”(二次元矩阵)的所有特征值都是正值,那么二次元的性质就被称为正定值。
- 否则,如果矩阵 “A”(二次型矩阵)的所有特征值都是负数,那么二次型的性质就被称为负定数。
- 否则,如果矩阵’A’(二次元矩阵)的所有特征值都是非负的,那么二次元的性质就被称为正半自由度。
- 否则,如果矩阵’A’(二次元矩阵)的所有特征值都不是正数,那么二次元的性质就被称为负半自由度。
- 否则,在所有其他情况下(A的正、负和零特征值的混合),二次元形式的性质被称为 “不确定”。
注意: 这里,一个非负的特征值意味着它可以是零或正的阀门。同样,一个非正的特征值意味着它既可以是零也可以是一个负的阀门。
以下代码中使用的MATLAB函数
- disp(“txt”)。该方法向用户显示消息–“txt”。
- input(“txt”)。这个方法显示消息–“txt”,等待用户输入一个值并按下返回键。
- eig(A)。该方法返回一个包含方形矩阵’A’的特征值的列向量。
- strcat(A, B,…)。该方法水平连接其输入参数中的文本。
- rank(A)。该方法返回矩阵’A’的等级。
示例:
% MATLAB Implementation to convert Quadratic Form
% to Canonical Form and to find Different Parameters
% associated with Quadratic form:
clear all
clc
disp("MATLAB Implementation to convert Quadratic Form to
Canonical Form and to find Different Parameters associated
with Quadratic form | GeeksforGeeks")
E = input("Enter the coefficients in the order
[a,b,c,f,g,h] for the Quadratic form: [ax^2+by^2+cz^2+2fyz+2gxz+2hxy] : ");
a = E(1);
b = E(2);
c = E(3);
% Coefficients of the Quadratic form
f = E(4); g=E(5); h=E(6);
% Finding Matrix 'A' (Matrix of Quadratic form)
e = eig(A);
A = [a h g;h b f;g f c];
% λ1 , λ2 & λ3
l1 = e(1);
l2 = e(2);
l3 = e(3);
disp(strcat('The Canonical form of given Quadratic form is:
(',num2str(l1),')x^2+(',num2str(l2),')y^2+(',num2str(l3),')z^2'))
a=0;
b=0;
% Counting the Number of Positive and Negative Eigen
% values of Matrix 'A' (Matrix of Quadratic form)
for i=1:3
if(e(i)>0)
a=a+1;
elseif(e(i)<0)
b=b+1;
end
end
% Number of Positive Eigen values of Matrix
% 'A' (Matrix of Quadratic form)
index=a
% Difference between the number of Positive and Negative
% Eigen values of Matrix 'A' (Matrix of Quadratic form)
signature=a-b
rank=rank(A)
% If all Eigen values of Matrix 'A'
% (Matrix of Quadratic form) are Positive
if(a==3)
disp('The Nature of given Quadratic form is Positive Definite')
% If all Eigen values of Matrix 'A'
% (Matrix of Quadratic form) are Negative
elseif(b==3)
disp('The Nature of given Quadratic form is Negative Definite')
% If all Eigen values of Matrix 'A' (Matrix of Quadratic form)
% are non-negative (positive or zero)
elseif(b==0)
disp('The Nature of given Quadratic form is Positive Semi-Definite')
% If all Eigen values of Matrix 'A' (Matrix of Quadratic
% form) are non-positive (negative or zero)
elseif(a==0)
disp('The Nature of given Quadratic form is Negative Semi-Definite')
else
% If all Eigen values of Matrix 'A' (Matrix of
% Quadratic form) are Mix of Positive, Negative & Zero
disp('The Nature of given Quadratic form is InDefinite')
end
**input:** If the Quadratic form is x2+3y2+3z2-2yz
输出:
**Input:** If the Quadratic form is 2yz+2xz-2xy
输出: