MIT线性代数笔记-第28讲-正定矩阵,最小值

news2024/11/27 0:27:06

目录

  • 28.正定矩阵,最小值
    • 打赏

28.正定矩阵,最小值

首先正定矩阵是一个实对称矩阵

由第 26 26 26讲的末尾可知正定矩阵有以下四种判定条件:

  • 所有特征值都为正
  • 左上角所有 k k k阶子矩阵行列式都为正( 1 ≤ k ≤ n 1 \le k \le n 1kn
  • 所有主元都为正
  • 对于任意实非零向量 x ⃗ \vec{x} x 均满足 x ⃗ T M x ⃗ > 0 \vec{x}^T M \vec{x} > 0 x TMx >0

其中最后一种常常作为正定矩阵的定义

当上述判定条件中的正都换为非负时,得到的就是半正定矩阵

对于一个实对称矩阵 A A A x ⃗ T A x ⃗ \vec{x}^T A \vec{x} x TAx 等于一个由二次项构成的多项式,这种形式就是矩阵的二次型

例: 对于矩阵 A = [ 2 6 6 7 ] A = \begin{bmatrix} 2 & 6 \\ 6 & 7 \end{bmatrix} A=[2667],它的二次型为 x ⃗ T A x ⃗ = [ x 1 x 2 ] [ 2 6 6 7 ] [ x 1 x 2 ] = 2 x 1 2 + 12 x 1 x 2 + 7 x 2 2 \vec{x}^T A \vec{x} = \begin{bmatrix} x_1 & x_2 \end{bmatrix} \begin{bmatrix} 2 & 6 \\ 6 & 7 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = 2 x_1^2 + 12 x_1 x_2 + 7 x_2^2 x TAx =[x1x2][2667][x1x2]=2x12+12x1x2+7x22

  1. 容易证明无论对于多少阶的实对称矩阵,得到的都是二次项构成的多项式,即不存在三次型,四次型等

    也就是说如果一个实对称矩阵的二次型恒大于零,那么它是一个正定矩阵,当考虑一个多元二次函数是否恒为正时,可以找到对应的对称矩阵并判断是否为正定矩阵

    如果这个多元二次函数有二次项或常数项,可以给 x ⃗ \vec{x} x 末尾添加一个元素 1 1 1,那么对应的对称矩阵最后一个元素即为常数项的值,最后一列和最后一行的元素(除最后一个)依次为对应的自变量的系数的二分之一

    即函数 f ( x 1 , ⋯   , x n ) = a 1 , 1 x 1 2 + ⋯ + a n , n x n 2 + b 1 x 1 + ⋯ + b n x n + c f(x_1 , \cdots , x_n) = a_{1 , 1} x_1^2 + \cdots + a_{n , n} x_n^2 + b_1 x_1 + \cdots + b_n x_n + c f(x1,,xn)=a1,1x12++an,nxn2+b1x1++bnxn+c(其中 a i , j a_{i , j} ai,j表示 x i x j x_i x_j xixj的系数)对应的对称矩阵为

    [ a 1 , 1 a 1 , 2 2 ⋯ b 1 2 a 1 , 2 2 a 2 , 2 ⋯ b 2 2 ⋮ ⋮ ⋱ ⋮ b 1 2 b 2 2 ⋯ c ] \begin{bmatrix} a_{1 , 1} & \dfrac{a_{1 , 2}}{2} & \cdots & \dfrac{b_1}{2} \\ \dfrac{a_{1 , 2}}{2} & a_{2 , 2} & \cdots & \dfrac{b_2}{2} \\ \vdots & \vdots & \ddots & \vdots \\ \dfrac{b_1}{2} & \dfrac{b_2}{2} & \cdots & c \end{bmatrix} a1,12a1,22b12a1,2a2,22b22b12b2c ,不过此时“对应的对称矩阵是正定矩阵”就成了充分条件而非充要条件

  2. 考虑将一个二阶实对称矩阵的二次型表示为图像,继续使用刚才的例子 [ 2 6 6 7 ] \begin{bmatrix} 2 & 6 \\ 6 & 7 \end{bmatrix} [2667]得到 z = 2 x 2 + 12 x y + 7 y 2 z = 2x^2 + 12xy + 7y^2 z=2x2+12xy+7y2

    • y = 0 , x = 0 y = 0 , x = 0 y=0,x=0时,分别得到 z O x zOx zOx面和 y O z yOz yOz面上的二次函数
    • x = y x = y x=y时,得到一个 z O x zOx zOx面和 y O z yOz yOz面中间的二次函数

    依此类推可以发现在部分情况下 z < 0 z < 0 z<0,并且可以想象到这个函数图像类似一个马鞍,原点是一个鞍点,在某个方向是极大值,在另一个方向是极小值

    反之,当矩阵为正定矩阵时,图像类似一个碗(抛物面)

    此时将图像水平切开,即令 z z z为一个常数,那么马鞍图像的截面为一个双曲线,碗图像的截面为一个椭圆

  3. 把刚才的例子的最后一个元素换为 20 20 20,得到 [ 2 6 6 20 ] \begin{bmatrix} 2 & 6 \\ 6 & 20 \end{bmatrix} [26620]

    二者的二次型分别配方得到 { 2 x 1 2 + 12 x 1 x 2 + 7 x 2 2 = 2 ( x + 3 y ) 2 − 11 y 2 2 x 1 2 + 12 x 1 x 2 + 20 x 2 2 = 2 ( x + 3 y ) 2 + 2 y 2 \left \{ \begin{matrix} 2 x_1^2 + 12 x_1 x_2 + 7 x_2^2 = 2(x + 3y)^2 - 11y^2 \\ 2 x_1^2 + 12 x_1 x_2 + 20 x_2^2 = 2(x + 3y)^2 + 2y^2 \end{matrix} \right. {2x12+12x1x2+7x22=2(x+3y)211y22x12+12x1x2+20x22=2(x+3y)2+2y2

    实际上配方后这些平方的系数和实对称矩阵的主元有关

    例如 [ 2 6 6 20 ] L U \begin{bmatrix} 2 & 6 \\ 6 & 20 \end{bmatrix} LU [26620]LU分解后得到 [ 1 0 3 1 ] [ 2 6 0 2 ] L U \begin{matrix} \begin{bmatrix} 1 & 0 \\ 3 & 1 \end{bmatrix} & \begin{bmatrix} 2 & 6 \\ 0 & 2 \end{bmatrix} \\ L & U \end{matrix} [1301]L[2062]U,两个主元分别用作平方的系数,而 3 3 3用作第一个平方里 y y y的系数

    n n n阶实对称矩阵的二次型可以写成 d 1 ( x 1 + ⋯ + e 1 , n x n ) 2 + d 2 ( x 2 + ⋯ + e 2 , n x n ) 2 + ⋯ + d n x n 2 d_1(x_1 + \cdots + e_{1 , n} x_n)^2 + d_2(x_2 + \cdots + e_{2 , n} x_n)^2 + \cdots + d_n x_n^2 d1(x1++e1,nxn)2+d2(x2++e2,nxn)2++dnxn2

    模拟一下消元过程可以发现 d i = u i , i , e i , j = l j , i d_i = u_{i , i} , e_{i , j} = l_{j , i} di=ui,i,ei,j=lj,i u , l u , l u,l表示 L U LU LU分解后 U , L U , L U,L中的元素),这是可以证明的,但是我还没找到描述起来比较简洁的证明方法

    由此可以发现平方项的系数即为对应主元,所以正定矩阵的主元均为正数

  4. 已知某个二元函数 f ( x , y ) f(x , y) f(x,y) ( x 0 y 0 ) (x_0 y_0) (x0y0)处有极小值的一个充分条件是函数在 ( x 0 , y 0 ) (x_0 , y_0) (x0,y0)的某邻域内连续且有一阶及二阶偏导数,又 f x ( x 0 , y 0 ) = f x ( x 0 , y 0 ) = 0 , f x x ( x 0 , y 0 ) f y y ( x 0 , y 0 ) − f x y 2 ( x 0 , y 0 ) > 0 f_x(x_0 , y_0) = f_x(x_0 , y_0) = 0 , f_{xx}(x_0 , y_0) f_{yy}(x_0 , y_0) - f_{xy}^2(x_0 , y_0) > 0 fx(x0,y0)=fx(x0,y0)=0,fxx(x0,y0)fyy(x0,y0)fxy2(x0,y0)>0 f x x ( x 0 , y 0 ) > 0 f_{xx}(x_0 , y_0) > 0 fxx(x0,y0)>0

    易证最后两个条件刚好与矩阵 [ f x x ( x 0 , y 0 ) f x y ( x 0 , y 0 ) f y x ( x 0 , y 0 ) f y y ( x 0 , y 0 ) ] \begin{bmatrix} f_{xx}(x_0 , y_0) & f_{xy}(x_0 , y_0) \\ f_{yx}(x_0 , y_0) & f_{yy}(x_0 , y_0) \end{bmatrix} [fxx(x0,y0)fyx(x0,y0)fxy(x0,y0)fyy(x0,y0)]是正定矩阵等价

    这还可以推广至更加多元的函数

    证明: 暂时不会证明 \color{OrangeRed}暂时不会证明 暂时不会证明

  5. 对于一个二阶正定矩阵 A A A,把它拆为 Q Λ Q T Q \Lambda Q^T QΛQT,其中的 Q , Q T Q , Q^T Q,QT可以分别被视为行向量和列向量的旋转矩阵,并且二者导致的旋转一样

    x ⃗ T A x ⃗ = x ⃗ T Q Λ Q T x ⃗ = 1 \vec{x}^T A \vec{x} = \vec{x}^T Q \Lambda Q^T \vec{x} = 1 x TAx =x TQΛQTx =1,依本讲第 2 2 2点可知这是一个中心在原点正上方的平行于 x O y xOy xOy面的斜椭圆的方程,容易发现两个特征值分别决定斜椭圆长轴和短轴长度,即 2 1 λ 1 , 2 1 λ 2 2 \sqrt{\dfrac{1}{\lambda_1}} , 2 \sqrt{\dfrac{1}{\lambda_2}} 2λ11 ,2λ21 分别为长轴和短轴长度(其中 λ 1 < λ 2 \lambda_1 < \lambda_2 λ1<λ2),两个特征向量分别与长轴和短轴方向一致

    推广到更加高阶,这种关系也是成立的,比如三阶正定矩阵的三个特征值倒数的平方根的两倍分别等于对应椭球的三个主轴长度,三个特征向量分别与三个主轴方向一致

    这就是为什么这种拆分被称为主轴定理

    证明: 暂时不会证明 \color{OrangeRed}暂时不会证明 暂时不会证明


打赏

制作不易,若有帮助,欢迎打赏!
赞赏码

支付宝付款码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1300876.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

transformer模型结构|李宏毅机器学习21年

来源&#xff1a;https://www.bilibili.com/video/BV1Bb4y1L7FT?p4&vd_sourcef66cebc7ed6819c67fca9b4fa3785d39 文章目录 概述seq2seqtransformerEncoderDecoderAutoregressive&#xff08;AT&#xff09;self-attention与masked-self attentionmodel如何决定输出的长度…

ToolkenGPT:用大量工具增强LLM

深度学习自然语言处理 原创作者&#xff1a;cola 用外部工具增强大型语言模型(LLM)已经成为解决复杂问题的一种方法。然而&#xff0c;用样例数据对LLM进行微调的传统方法&#xff0c;可能既昂贵又局限于一组预定义的工具。最近的上下文学习范式缓解了这一问题&#xff0c;但有…

【C++】C++中的String类详解及模拟实现示例

文章目录 string类简介string类的基本用法string类的常用方法string类的优势 string类的模拟实现存储结构头文件string.h源文件string.cpp源文件test.cpp string类简介 string类简介在C编程中&#xff0c;字符串是一种非常常见的数据类型&#xff0c;用于存储文本信息。C标准库…

鸿蒙应用开发(二)环境搭建

开发流程 IDE下载 首先下载HUAWEI DevEco Studio&#xff0c;介绍首次启动DevEco Studio的配置向导&#xff1a; 运行已安装的DevEco Studio&#xff0c;首次使用&#xff0c;请选择Do not import settings&#xff0c;单击OK。安装Node.js与ohpm。node.js 是基于 V8 引擎构…

〖大前端 - 基础入门三大核心之JS篇㊿〗- 面向对象之对象的方法、遍历、深浅克隆

说明&#xff1a;该文属于 大前端全栈架构白宝书专栏&#xff0c;目前阶段免费&#xff0c;如需要项目实战或者是体系化资源&#xff0c;文末名片加V&#xff01;作者&#xff1a;哈哥撩编程&#xff0c;十余年工作经验, 从事过全栈研发、产品经理等工作&#xff0c;目前在公司…

堆的基础功能实现和优先级队列

1. 堆的插入与删除 1.1 堆的插入 步骤&#xff1a; 1、先将元素放入到底层空间中(注意&#xff1a;一般是放到整个二叉树的最后一个叶子节点的后边&#xff0c;其次存储空间不够时需要扩容) 2、将最后新插入的节点向上调整&#xff0c;直到满足堆的性质&#xff08;判断该节点…

【金融数据分析】计算沪深300指数行业权重分布并用饼图展示

前言 前面的文章我们已经介绍了如何获取沪深300成分股所述行业以及权重的数据&#xff0c;想要了解这部分内容的小伙伴可以阅读上一篇文章 springbootjdbcTemplatesqlite编程示例——以沪深300成分股数据处理为例-CSDN博客 那么有了上文获取的数据&#xff0c;我们实际上可以…

List 接口

1 List 接口 java.util 中的集合类包含 Java 中某些最常用的类。最常用的集合类是 List 和 Map。 List是一种常用的集合类型&#xff0c;它可以存储任意类型的对象&#xff0c;也可以结合泛型来存储具体的类型对象&#xff0c;本质上就是一个容器。 1.1 List 类型介绍 有序性…

基于Solr的全文检索系统的实现与应用

文章目录 一、概念1、什么是Solr2、与Lucene的比较区别1&#xff09;Lucene2&#xff09;Solr 二、Solr的安装与配置1、Solr的下载2、Solr的文件夹结构3、运行环境4、Solr整合tomcat1&#xff09;Solr Home与SolrCore2&#xff09;整合步骤 5、Solr管理后台1&#xff09;Dashbo…

Redis 五大经典业务问题

一 缓存穿透 缓存穿透是指当请求的数据既不在缓存中也不存在于数据库中时&#xff0c;请求会直接穿透缓存层&#xff0c;到达数据库层。这通常是由于恶意攻击或者程序错误造成的&#xff0c;比如攻击者故意请求不存在的大量数据&#xff0c;导致缓存不命中&#xff0c;所有的请…

python zblog API实现类似XMLRPC/发布文章

我发现python对Zblog的XML发布并不友好&#xff0c;虽然也有对应的模块&#xff0c;但是远远没有XPCRPC更直接方便&#xff0c;但是使用xmlRpc是直接给发布文章带来了不小的便利&#xff0c;但是对系统也并不友好&#xff0c;但是zblog也开放了Api&#xff0c;但是干部子弟不乐…

【Spring教程20】Spring框架实战:AOP(面对切面编程)知识总结

欢迎大家回到《Java教程之Spring30天快速入门》&#xff0c;本教程所有示例均基于Maven实现&#xff0c;如果您对Maven还很陌生&#xff0c;请移步本人的博文《如何在windows11下安装Maven并配置以及 IDEA配置Maven环境》&#xff0c;本文的上一篇为《利用 AOP通知获取数据代码…

为 Compose MultiPlatform 添加 C/C++ 支持(3):实战 Desktop、Android、iOS 调用同一个 C/C++ 代码

theme: serene-rose 前言 在本系列的前两篇文章中我们已经学会了如何在 kotlin native 平台&#xff08;iOS&#xff09;使用 cinterop 调用 C/C 代码。以及在 jvm 平台&#xff08;Android、Desktop&#xff09;使用 jni 调用 C/C 代码&#xff0c;并且知道了如何自动编译 A…

Leetcode—389.找不同【简单】

2023每日刷题&#xff08;五十五&#xff09; Leetcode—389.找不同 实现代码 char findTheDifference(char* s, char* t) {int len strlen(s);int len2 len 1;int a[26] {0};int b[26] {0};if(len 0) {return t[0];}for(int i 0; i < len; i) {int idx s[i] - a;…

使用alpine镜像部署go应用时踩的坑

使用alpine镜像部署go应用时踩的坑 关于交叉编译 实际上我在ubuntu的交叉编译出来的exe并不能在alpine上运行&#xff0c;这边采取拉镜像编译复制出来的做法&#xff0c;部署再用干净的alpine 拉取golang:alpine踩坑 在Dockerhub上可以找到&#xff1a; 然而拉取的alpine中…

蓝桥杯-动态规划专题-子数组系列,双指针

目录 一、单词拆分 二、环绕字符串中唯一的子字符串 双指针-三数之和 ArrayList(Arrays.asList(array)) 四、四数之和&#xff08;思路和三数之和一样&#xff0c;只是多了一层循环&#xff09; 一、单词拆分 1.状态表示 dp[i]:到达i位置结尾&#xff0c;能否被dict拆分 …

JVM进程缓存

引言 缓存在日常开发中启动至关重要的作用&#xff0c;由于是存储在内存中&#xff0c;数据的读取速度是非常快的&#xff0c;能大量减少对数据库的访问&#xff0c;减少数据库的压力。我们把缓存分为两类&#xff1a; 分布式缓存&#xff0c;例如Redis&#xff1a; 优点&…

【MySQL】MySQL 在 Centos 7环境安装教程

文章目录 1.卸载不要的环境2.检查系统安装包3.获取mysql官方yum源4.安装mysql yum 源&#xff0c;对比前后yum源5.安装mysql服务6.查看配置文件和数据存储位置7.启动服务和查看启动服务8.登录9.配置my.cnf 1.卸载不要的环境 先检查是否有mariadb存在 ps ajx |grep mariadb如果…

虚拟机VMware安装centos以及配置网络

目录 1、CentOS7的下载2、CentOS7的配置3、CentOS7的安装4、CentOS7的网络配置 4.1、自动获取IP4.2、固定获取IP 5、XShell连接CentO 准备工作&#xff1a;提前下载和安装好VMware。VMware的安装可以参考这一篇文章&#xff1a;VMware15的下载及安装教程。 1、CentOS7的下载 …

sentinel整合nacos配置中心持久化

在网上找了很多的资料&#xff0c;发现sentinel整合nacos持久化的博文和视频大多数都只有改造限流部分的教程&#xff0c;并且都需要修改前端&#xff0c;略显麻烦&#xff0c;至于剩下的熔断、热点流控、授权的更是没有相关的改造教程&#xff0c;最后在知乎的看到一篇文章后让…