如何理解二次型?

article/2025/10/2 22:03:11

通过矩阵来研究二次函数(方程),这就是线性代数中二次型的重点。

1 二次函数(方程)的特点

1.1 二次函数

最简单的一元二次函数就是:

给它增加一次项不会改变形状:

增加常数项就更不用说了,更不会改变形状。

1.2 二次方程

下面是一个二元二次方程:

给它增加一次项也不会改变形状,只是看上去有些伸缩:

1.3 小结

对于二次函数或者二次方程,二次部分是主要部分,往往研究二次这部分就够了。

2 通过矩阵来研究二次方程

因为二次函数(方程)的二次部分最重要,为了方便研究,我们把含有n 个变量的二次齐次函数:

\begin{aligned}    f(x_1,x_2,\cdot,x_n)        &=a_{11}x_1^2+a_{22}x_2^2+\cdots+a_{nn}x_n^2\\        &+2a_{12}x_1x_2+2a_{13}x_1x_3+\cdots+2a_{n-1,n}x_{n-1}x_n\end{aligned}

或者二次齐次方程称为二次型。

2.1 二次型矩阵

实际上我们可以通过矩阵来表示二次型:

更一般的:

可以写成更线代的形式:

所以有下面一一对应的关系:

在线代里面,就是通过一个对称矩阵,去研究某个二次型。

2.2 通过矩阵来研究有什么好处

2.2.1 圆锥曲线

我们来看下,这是一个圆:

我们来看改变一下二次型矩阵:

哈,原来椭圆和圆之间是线性关系呐(通过矩阵变换就可以从圆变为椭圆)。

继续:

咦,双曲线和圆之间也是线性关系(准确的说是仿射的)。

其实圆、椭圆、双曲线之间关系很紧密的,统称为圆锥曲线,都是圆锥体和平面的交线:

从上面动图可看出,一个平面在圆锥体上运动,可以得到圆、椭圆、双曲线,这也是它们之间具有线性关系的来源(平面的运动是线性的、或者是仿射的)。

2.2.2 规范化

再改变下矩阵:

这个椭圆看起来有点歪,不太好处理,我们来把它扶正,这就叫做规范化。

如果我们对矩阵有更深刻的认识,那么要把它扶正很简单。

往下读之前,请先参看我在如何理解特征值下的回答。

首先,矩阵代表了运动,包含:

  • 旋转

  • 拉伸

  • 投影

对于方阵,因为没有维度的改变,所以就没有投影这个运动了,只有:

  • 旋转

  • 拉伸

具体到上面的矩阵:

我把这个矩阵进行特征值分解:

注意我上面提到的正交很重要,为什么重要,可以参看我在如何理解特征值中的解释。

对于二次型矩阵,都是对称矩阵,所以特征值分解总可以得到正交矩阵与对角矩阵。

特征值分解实际上就是把运动分解了:

那么我们只需要保留拉伸部分,就相当于把矩阵扶正(图中把各自图形的二次型矩阵标注出来了):

所以,用二次型矩阵进行规范化是非常轻松的事情。

2.2.3 正定

正定是对二次函数有效的一个定义,对方程无效。

对于二次型函数,f(x)=x^TAx :

  • f(x)>0,x\ne0,x\in\mathbb{R} ,则f 为正定二次型,A 为正定矩阵

  • f(x)\geq0,x\ne0,x\in\mathbb{R} ,则f 为半正定二次型,A 为半正定矩阵

  • f(x)<0,x\ne0,x\in\mathbb{R} ,则f 为负定二次型,A 为负定矩阵

  • f(x)\leq0,x\ne0,x\in\mathbb{R} ,则f 为半负定二次型,A 为半负定矩阵

  • 以上皆不是,就叫做不定

从图像上看,这是正定:

半正定:

不定:

既然二次型用矩阵来表示了,那么我们能否通过矩阵来判断是否正定呢?

下面我分别给出了二次型的图形,以及对应的特征值矩阵的图形,你可以自己动手试试(3D窗口可以通过鼠标旋转,方便观察),得出自己的结论:

此处有互动内容,点击此处前往操作。

起码,我们可以观察出这个结论,特征值都大于0,则为正定矩阵。

3 总结

在很多学科里,二次型都是主要研究对象,很多问题都可以转为二次型。线代作为一门数学工具,在二次型的研究中也发挥了很好的作用。

此处可以查看最新版本(可能不定期更新):如何理解二次型?


http://chatgpt.dhexx.cn/article/3aBZDpHB.shtml

相关文章

常微分方程——非齐次线性微分方程与常数变易法

文章目录 性质性质1性质2定理 例题 性质 性质1 性质2 定理 例题

一阶线性微分方程

目录 线性方程 例题&#xff1a; 伯努利方程 例题&#xff1a; ​编辑 线性方程 我们先对齐次方程进行求解&#xff1a; 所以一阶线性微分齐次方程的公式&#xff1a; 那么对于非齐次的方程&#xff0c;我们该怎么求解呢&#xff1f; 我们可以把这里的任意数c换成一个函数&a…

计算方法(六):常微分方程初值问题的数值解法

文章目录 常微分方程初值问题的数值解法欧拉&#xff08;Euler&#xff09;方法与改进欧拉方法欧拉方法欧拉公式的局部截断误差与精度分析改进欧拉方法 龙格-库塔(Runge-Kutta)法构造原理经典龙格-库塔法步长的自动选择 收敛性与稳定性收敛性稳定性 一阶方程组与高阶方程的数值…

数学建模笔记(九):差分方程与代数方程模型

文章目录 一、概述1.引例2.定义&#xff08;函数的差分&#xff09;3.定义&#xff08;差分方程&#xff09;4.差分方程的阶5.差分方程的解6.差分方程与微分方程的联系 二、一阶常系数线性差分方程1.一阶常系数齐次线性差分方程&#xff08;一&#xff09;一般形式&#xff08;…

算法基础——1.4常数变易法

例一&#xff1a; [java] view plain copy /* * * * * * * * * * * * * * * * */ public class T1 { public static void main(String[] args) { for(int k1; k<5; k){ for(int i0; …

MT【129】常数变易法

已知数列\(\{x_n\}\)满足\[x_{n1}\left(\dfrac 2{n^2}\dfrac 3n1\right)x_nn1,n\in\mathbf N^*,\]且\(x_13\)&#xff0c;求数列\(\{x_n\}\)的通项公式&#xff0e; 解答: 根据题意&#xff0c;有\[x_{n1}\dfrac{(n1)(n2)}{n^2}x_nn1,\]于是\[\dfrac{x_{n1}}{(n1)^2(n2)}\dfrac…

常微分方程

高数中的微分方程 全微分方程&#xff08;需要积分域与路径无关&#xff09; 一阶线性常微分方程 y’p(x)yq(x) 对于一阶线性常微分方程&#xff0c;常用的方法是常数变易法&#xff1a; 对于方程&#xff1a;将y’p(x)y0中的常数变为函数求解非齐次方程 ( ∫ q ( x ) ∗ e …

常数变易法二

/*打印这个* A* ABA* ABCBA* ABCDCBA* ABCDEDCBA */// " ABCDCBA" 第3行&#xff08;下标从0开始吧&#xff01;&#xff09;for(int i0;i<4;i) System.out.print(" ");for(int i0;i<4;i) System.out.print((char)(Ai));for(in…

常数易变法

/*常数变易法* 打印金字塔* ** * ** * * ** * * * ** * * * * **/ public class A {public static void main(String[] args) {//常数变易法&#xff0c;演变过程System.out.println(" *");//第一行System.out.println(&…

个人对于常微分方程之一阶线性非齐次方程的常数变易法的见解

我们都知道&#xff0c;对常微分方程 最简单也是最本质的处理方法就是分离变量&#xff0c;使得方程可以变成的形式&#xff0c;两边再进行积分便可以得到方程的解.在常微分方程&#xff08;以下简称为方程&#xff09;中&#xff0c;有两类比较特殊的方程&#xff0c;分别是一…

常数变易法

思路: 现将变动部分用常数代替&#xff0c;再逐步将常数替换为变数(变量) 关键是寻找变化的规律&#xff0c;如果不直观&#xff0c;可以列出所有变化&#xff0c;进行比对&#xff0c;然后设计公式 实例: 1.输出三角星号 首先找规律&#xff0c;发现每一行都是先输出空格&…

常数变易法的“前世今生”

常数变易法思想的来源或本质是什么&#xff1f;https://www.zhihu.com/question/31329122 “常数变易法”有效的原理&#xff1a;https://blog.csdn.net/w573719227/article/details/83050039 常数变易法的解释https://www.cnblogs.com/lookof/archive/2009/01/06/1370065.html…

DBUtils事务

#DBUtils&事务 掌握DBUtils实现增删改 掌握DBUtils实现查询 理解事务的概念 理解脏读,不可重复读,幻读的概念及解决办法 能够在MySQL中使用事务 能够在JDBC中使用事务 能够在DBUtils中使用事务 第一章 DBUtils 如果只使用JDBC进行开发&#xff0c;我们会发现冗余代码过多…

Dbutils下载

链接&#xff1a;https://pan.baidu.com/s/1LlGyKUgYX8zgjgQk6GOwhA?pwdqdm3 提取码&#xff1a;qdm3 版本为最新1.7版本&#xff0c;解压即可用

java dbutils工具类_DbUtils工具类使用

DbUtils工具类使用 创建数据库 CREATE TABLE student ( userId int(11) NOT NULL, userName varchar(30) NOT NULL, gender char(1) NOT NULL, age int(11) DEFAULT NULL, PRIMARY KEY (userId) ) ENGINEInnoDB DEFAULT CHARSETutf8 把相关的包引入到项目里: 编写Student类: pa…

python DbUtils 封装

python dbutils 简介及准备工作 dbutils封装文件传送门 DBUtils是一套Python数据库连接池包&#xff0c;并允许对非线程安全的数据库接口进行线程安全包装。DBUtils来自Webware for Python。 DBUtils提供两种外部接口&#xff1a; PersistentDB &#xff1a;提供线程专用的数…

DBUtils工具

DBUtils工具 为了更加简单地使用JDBC&#xff0c;Apache组织提供了一个工具类库commons-dbutils&#xff0c;它是操作数据库地一个组件&#xff0c;实现一个对JDBC的简单封装&#xff0c;可以在不影响性能的情况下极大地简化JDBC地编码工作量。 API介绍 commons-dbutils的核…

java dbutils_Java学习之DBUtils

DBUtils&#xff1a;只是帮我们简化了CRUD 的代码。数据库连接的创建以及获取工作&#xff0c;不在其工作范围 一、DBUtils应用 ①、DBUtils的jar文件的下载 ②、Sql Server 、C3P0、DBUtils环境搭建(导入相应jar文件) Sql Server &#xff1a;sqljdbc42.jar(JDBC驱动) C3P0&am…

DBUtils介绍与使用

目录 一、DBUtils介绍二、DBUtils使用&#xff08;一&#xff09;导入相关Jar包&#xff08;二&#xff09;使用DBUtils完成数据库操作 一、DBUtils介绍 DBUtils&#xff1a;是为了简化JDBC的快发而产生的开发工具包&#xff0c;是对JDBC的一种封装。 DBUtils是个小巧的JDBC轻…