最近, 老有同学问, (线性)代数应该怎样复习呀. 本期就来谈谈我对这门课程的看法, 希望对大家有所帮助.

线代故事梗概大家不妨回想一下之所以有这门课程的「罪魁祸首」是什么? 那当然是 线性方程组

如果没有线性方程组, 就没有这门课程.

当然有人会说, 中国人在上千年前的《九章算术》中已经解释了怎么解线性方程组了, 为什么到近代才有线性代数呢? 是的, 如果我们只想知道线性方程组的解是什么, 《九章算术》就已经告诉我们解法了, 就是我们课本里提到的Gauss消元法. 这个方法用的就是矩阵的方法.

从字面上讲,感觉「方程」跟「矩阵」好像差不多是一个意思.

但是, 如果仅仅是将一些数字整齐的排在一起做一些初等行列变换, 这个矩阵好像也没有什么好玩的.

下面我们就来看下矩阵(方程)是怎样一步步被「玩坏」的.

矩阵乘法   这是矩阵变得「好玩」的最「刻骨铭心」的时刻. 矩阵有了「乘法」后,一切都变得不同了.

初等行变换可以看成在矩阵左边乘以相应的初等矩阵;

可以玩可逆矩阵, 以及可逆矩阵的各种刻画,如: 它们正好是初等矩阵的乘积; 方阵可逆当且仅且秩与阶数相等.

还可以利用初等变换求可逆矩阵的逆矩阵.

行列式   方阵A的行列式是否为零可以用来判断相应的线性方程组Ax = 0是否只有只唯一解.

矩阵乘积的行列式等于它们行列式的乘积. 这使得矩阵乘法的问题和行列式的问题有时候可以相互转化.

比如: 可逆的矩阵行列式一定非零, 反过来也成立, 实际上, 如果A的行列式非零, 它的逆矩阵可以用它的伴随矩阵写出来

系数矩阵可逆的线性方程组的克莱姆规则是用矩阵行列式描述的.

向量空间   向量空间的出现进一步丰富的矩阵的玩法.

向量空间与矩阵的相互转化关系是这样的. 取n维向量空间V 的一组基, 对于V 中向量组 α1,⋅⋅⋅,αm, 分别取它们在这组基下的坐标A1,⋅⋅⋅,Am, 将它们拼在一起组成矩阵A.

原向量组的问题可转化为矩阵A的问题. 例如: α1,⋅⋅⋅,αm线性无关, 当且仅当线性方程组Ax = 0只有零解, 当且仅当A的秩是m.

要寻找α1,⋅⋅⋅,αm的极大线性无关组也可以从矩阵A来考虑, 可对A进行初等行变换(就像Guass 消元法一样), 将A变为A′ = [A′1,⋅⋅⋅,A′m]. 这时, 与A′的列向量的极大线性无关组对应的α1,⋅⋅⋅,αm中的向量就组成其极大线性无关组.

由于最常见的向量空间是像ℝm这样的空间, 它里面的每个向量都是m个实数的一个序列. 如果把n个这样的向量排成n列, 我们就得到一个m行n列的矩阵.

矩阵和向量空间的还有一个重要的联系是: 假设A是一个n列的矩阵, 齐次线性方程组Ax = 0的所有解组成一个向量空间, 称为Ax = 0的解空间, 记为Ker(A). 我们知道

dim Ker(A) = n−rank(A)

一个矩阵的秩的看法也变得更加丰富: 假设A是一个m行n列的矩阵. A的秩有下面几种看法:

  1. 如果A可以通过初等变换变为(i,i), i = 1,⋅⋅⋅,r为1, 其余位置全为0 , 那么rank(A) = r.

  2. 如果A为非零矩阵, A的秩等于A的非零子式的最大阶数.

  3. A的秩可以看成其所有列(或者行)组成的向量组的最大线性无关组的向量个数.

  4. A的秩可以看成其所有列(或者行)生成的向量空间的维数.

线性变换   线性变换是一个向量空间V 自己到自己的保持线性组合的映射σ. 取定向量空间V 的一组基, 考虑σ在这组基下的矩阵. 这样σ的问题同样可以转化为矩阵A的问题.

当然这里取不同的基, 得到的矩阵不一样(但它们彼此相似). 寻找那些相对简单的矩阵, 即相似标准型的艰辛过程成了这一章的主要内容.

用到的方法主要还是矩阵和线性方程组. 如: 方阵A的特征值和特征向量, 分别是求

fA(x) = |xI −A|的根λ和解线性方程组 (A−λI)x = 0如果要完全读懂这一部分的内容, 需要很花费一番功夫.

详情参见: 相似标准型导读

二次型   由于矩阵实在是「太好玩」了, 因此近代以来很多数学问题都试图转化为矩阵的问题来解决. 比如二次型就是这样一个典型例子.

本来二次型的样子是这样的

q(x1,x2) = 2x12 + 3x22 + 4x1x2但在那些「挖空心思」想玩矩阵的眼里是这样的 这样这个二次型的所有信息都包含在中间这个对称矩阵里了.

用线性替换将二次型化为只有平方项的形式, 等价于将中间矩阵合同到一个对角矩阵.

这里有个巨大的「坑」需要注意: 实对称矩阵合同到对角矩阵欧氏空间中有别的办法.

对于一个实对称矩阵A, 如果要求找一个正交矩阵U使得UTAU是对角矩阵, 不能用这里初等变换的方法.

欧氏空间   欧氏空间V 是实数ℝ上的向量空间,同时有一个内积 (−,−) : V ×V → ℝ它是双线性, 对称, 正定的.

有了这个内积, 我们在初等数学中学到的向量的内容都可以在欧氏空间中实现: 向量长度, 两个向量夹角, 垂直等等.

欧氏空间上保持向量长度的线性变换无疑是我们最感兴趣的. 这样的线性变换称为正交变换.

我们同样希望将正交变换的问题转化为矩阵的问题. 但由于正交变换是一种「来之不易」的变换, 它配得一上种「漂亮」的矩阵. 如果我们随便找一组基, 再考虑正交变换在这组基下的矩阵的话, 会有「暴殄天物」的风险.

最终,我们发现,如果为欧氏空间找一组像直角坐标系那样的基: 相互正交且都是单位向量, 称为规范正交基, 那么正交变换在规范正交基下的矩阵就是正交矩阵, 即满足UTU = I的实数矩阵.

沿着这个方向,你会问: 怎样找一组规范正交基? 答案就是 Schmidt 正交化方法.

怎样找出或者判断正交矩阵? 只要矩阵的列向量组成规范正交基即可.

欧氏空间中, 还有一种重要的线性变换是对称变换. 它在规范正交基下的矩阵是实对称矩阵.

对称实矩阵A有个很重要的特点是, 存在一个正交矩阵U, 使得UTAU  = Λ是一个对角矩阵. 注意到此时UT = U−1, 因此A与Λ既是相似, 又是合同.

怎样寻找这样的U? 从书中找找答案吧.

要注意和实二次型那里的方法对比, 看看这两者的区别.

线代「硬核科技」

如果要评选线性代数中最「基本」, 最「硬核」的技术, 我想应该选下面两个, 这两个基本知识不掌握熟练, 线性代数不可能学得好.

1. Gauss 消元(加减消元)法.

2. 线性方程组Ax = b的解的结构.

特别是齐次线性方程组Ax = 0的基础解系.

从上面的梗概可以看出, 几乎所有的问题都与这两个知识相关.

「矩阵」的看法假设A是一个m行n列的实数矩阵, 在不同的场景下,我们通常需要以不同的视角来看待A.

1. 在解线性方程组Ax = b时,我们把A和b拼在一起形成线性方程组的增广矩阵(A,b), 然后对这个增广矩阵做初等行变换. 这是我们看A最普通的视角: mn个数字排在一起.

2. 有时候我们需要把A看成是列(或者行)向量拼在一起. A的列向量都是ℝm中的向量, 它们的所有线性组合组成ℝm的一个子空间, 称为A的列空间, 记为Col(A);

类似的, A的行都可以看成ℝn中的向量, 它们的所有线性组合组成ℝn的一个子空间, 记为Row(A).

这时A的秩rank(A)与其列空间和行空间的维数相同. 这样就可以把向量空间的方法用来解决与矩阵秩相关的问题.

比如: 如果B是另外一个矩阵且BA = O, 要求证明

rank(A) + rank(B) ≤ m这时, 如果将A看成若干个列向量拼起来的, 我们就很容易看出A的列向量都是齐次线性方程组Bx = 0的解, 从而Col(A)包含在Bx = 0的解空间Ker(B)中. 因此 伙伴们, 如果B也是m × n的矩阵,说明下 

或者B是一个m行的矩阵, 证明下

(提示: 矩阵的秩等于其列向量组的最大线性无关组的向量个数)

3. 当然, 还有的时候我们要将方阵A看作线性变换, 它将α映为Aα.

最后几点tips线性代数的特点是: 概念多, 概念之间关系复杂. 任何试图在几分钟之内掌握所有知识点都是徒劳的. 如果想要比较好的掌握这些知识, 比较有效的办法是.

  1. 分章节列出各个知识点, 以及这些知识点之间的关系图.

  2. 针对每个知识点, 举1-2个例子或者例题来理解这个知识点.

  3. 做适当的练习题,特别是证明题, 增加对知识点的应用能力.

  4. 最后, 记得我们的宗旨: 尽量把问题转化为矩阵和线性方程组的问题.

c++求矩阵的秩_线性代数复习(被玩坏的矩阵)相关推荐

  1. c++求矩阵的秩_常见的矩阵分解

    矩阵的谱分解(可对角化矩阵--满秩可逆) 谱分解定理:设 为一个n阶可对角化矩阵,A的谱为 其中 的重数为 ,则存在唯一一组s个n阶方阵 ,满足 (1) (2) (3) (4) (5) 这些矩阵 称为 ...

  2. branch什么意思中文翻译_日本街头被“玩坏”的中文翻译,你能忍到第几条?

    问:「笨鸟先飞」用日语怎么说? 答:私はばかだから.お先に失礼します. (我是笨蛋,先告辞了.) 问:「赤ちゃん」的中文是? 答:小红. (正解:婴儿) 以上的"神翻译"都是网友们 ...

  3. java 矩阵求秩_线性代数精华3——矩阵的初等变换与矩阵的秩

    矩阵的初等变换这个概念可能在很多人听来有些陌生,但其实我们早在初中的解多元方程组的时候就用过它.只不过在课本当中,这种方法叫做消元法.我们先来看一个课本里的例子: 假设我们要解这个方程,怎么做呢? 首 ...

  4. numpy求逆矩阵_线性代数精华2——逆矩阵的推导过程

    点击上方蓝字,和我一起学技术. 上一讲当中我们复习了行列式的内容,行列式只是开胃小菜,线性代数的大头还是矩阵. 矩阵的定义很简单,就是若干个数按照顺序排列在一起的数表.比如m * n个数,排成一个m ...

  5. c++求矩阵的秩_一文搞定矩阵相关概念 使用Excel矩阵计算不用愁

    知识要点: 矩阵的本质 矩阵的计算公式 实例演示 背景 矩阵计算是我们经常碰到的一个问题.在几乎所有跟"学问"二字稍微沾点边的东西里,矩阵这个家伙从不缺席.那Excel在其中扮演什 ...

  6. c++求矩阵的秩_利用Python矩阵求逆、特征值及特征向量

    今日,分享点Python学习小记,利用Python实现以下目的: (1)判定是否为方阵 矩阵的本质就是映射.对于一个m×n的矩阵A,y=Ax的作用是将向量从n维原始空间中的x坐标位置,映射到m维目标空 ...

  7. python求矩阵的秩_【案例】求出矩阵的最简型?——sympy登场

    案例介绍 学过线性代数的同学都知道,在将矩阵进行初等变换化为最简型时过程有多么繁琐.今天,给大家带来一个小项目--使用 Python 化简矩阵. 将要学习:使用特殊的科学计算库--sympy,来化简矩 ...

  8. c++求矩阵的秩_一篇文章搞定矩阵相关概念及意义通俗解释汇总

    最近在学习矩阵相关知识,但是其抽象的解释让人摸不着头脑,通过浏览一些博客的内容和自己的理解,本文通过通俗的语言将矩阵的内涵做了总结.其中除了书本和个人观点,部分引用博客.本文主要帮助大家理解矩阵,但不 ...

  9. c++求矩阵的秩_对于向量和矩阵的理解

    学数值计算还有复变函数了喔,矩阵忘干净了.又看了一遍 蓝棕 的相关的讲解,总结一下. 1.向量是什么? 从初到末的箭头(物理角度,表示一种运动过程) 有序的数字列表(计算机/数学角度)[1,2] 加和 ...

最新文章

  1. FLASH与ASP.NET通讯
  2. Maven开发web项目的搭建
  3. PHP-ExcelReader
  4. zepto返回顶部动画
  5. ORB-SLAM 解读(二) ORB描述子如何实现旋转不变性
  6. NfcA/NfcB/NfcF/NfcV/IsoDep/Ndef/Mifare/Felica/Pboc/ISOxxxx 标签格式及标准
  7. Linux服务器查看任务计划,Linux的任务计划
  8. matlab lte rsrp,为什么选择 FieldFox 手持式分析仪?- 更宽带宽,更高精度
  9. 腾讯云微搭x腾讯文档,企业协同研发更便捷
  10. Android音频系统学习二:Android音频框架
  11. esxi 创建虚拟交换机_对vSphere虚拟交换机的理解
  12. jquery foreach循环
  13. jsp内置对象-session对象
  14. 计算机老师教育感言,教育信息技术培训心得感言
  15. 【整理】linux学习笔记整理8
  16. 只是想要自己喜欢的生活,可是你有资格么?
  17. java 字符串中取消换行或添加换行
  18. 刻意练习-理解哈夫曼树构建哈夫曼表C语言
  19. cmd中cd命令使用
  20. 郑州大学计算机专业学生证学号,《郑州大学学生证、校徽管理办法》(校学生〔2017〕2号)...

热门文章

  1. jmeter connection reset解决方法
  2. MATLAB 的运算符
  3. nagios监控告警之网络流量监控(附pnp模板)
  4. 查看服务器cpu是否支持VT
  5. fedora8 使用小记之:终端字体设置
  6. 转---SQL与EXCEL交互(导出/导入)
  7. Server.MapPath(path)的使用
  8. BNUOJ 4067 美丽的花环 (几何题)
  9. java - 朴素贝叶斯
  10. 北风设计模式课程---2、工厂方法模式