刚刚工作的时候, 一个学生问我: 哪一个概念最能体现高等代数的本质? 我当时的回答是矩阵的特征值. 现在再回答这个问题的话, 答案就不一样了. 在由线性方程组发展出来的理论体系中, 有一个概念始终占据着核心地位, 那就是线性空间(或线性性)的概念. 很多学生都觉得代数比较难, 主要是觉得代数太抽象. 其实数学发展的一般规律是: 从特殊到一般, 从具体到抽象, 最后又回到特殊和具体, 也是螺旋式的. 然而这个过程就像生物进化一样经历了前期长时间的发展, 在不断的量变之后才在某个时间点突变, 实现了质的飞跃. 我们在讲授或者学习一个理论的时候, 常常忽略了其发展过程, 直奔结果而去, 这当然会给人一种突兀的感觉而难以接受. 学生们的一个通病是, 背起概念或结论来头头是道, 让他们举个例子或者讲讲其中的内涵却如登蜀道, 所谓知其然不知其所以然. 线性空间的概念其实很自然, 它孕育于古老的数学思想中, 让我们从经典的例子谈起.

Finoancci 数列

Fibonacci(斐波那契, 1175–1250)是意大利人, 被誉为中世纪最具天分的西方数学家. 他在年轻时游历地中海沿岸各国, 学习印度、阿拉伯的数学知识, 回国后于 1202 年写下了著名的《算盘书》, 其中有一个有趣的兔子问题: 兔子在出生一个月后就成年, 两个月后就有繁殖能力. 每对有繁殖能力的兔子在每个月初都能生下一对小兔子, 假设兔子不死并且每对兔子都有同样的繁殖能力. 如果第一年初有一对新生兔子, 第二年初将有多少对兔子?

如果记第 n 个月初的兔子对数为 Fn, 则 F1= F2= 1, 且 n > 3 时满足递推关系 Fn= Fn−1+ Fn−2, 这就是所谓的 Fibonacci 数列. 这个数列其实早在公元前200 年就被印度数学家发现了, 前几项分别为 1, 1, 2, 3, 5, 8, 13, 21,···, 一个有一点难度的问题是它的通项公式是什么?

曾经就这个问题问过一些学生(有中学生也有大学生), 有些人知道做法, 一般都会首先考虑特征方程. 我会打断他们, 问为什么要考虑这个方程? 它为什么叫特征方程? 绝大多数学生都回答不出来. 这个问题可以从几种不同的角度来看, 有初等的也有不那么初等的. 比如可以考虑把递推关系中的三项化为两项, 即设 Gn= Fn− aFn−1, 希望递推关系转换为 Gn= bGn−1, 自然就需要a,b 满足 a+b = 1, ab = −1, 即 a,b 是方程 的根. 这样, 求出 Gn就可以得到 Fn了.

换一种体现线性性的思路. 我们把问题简化一下, 不考虑 Fibonacci 数列的前两项取值. 为了方便, 我们称(实)数列 {an} 为类 Fibonacci 数列, 如果我们首先找一些类 Fibonacci 数列. 对于数列, 中学生最熟悉的是等差数列和等比数列. 容易发现, 等差的类 Fibonacci 数列的每一项都是 0, 等比情形更有趣一点. 什么样的等比数列是类 Fibonacci 数列呢? 不难得到, 即 λ 是方程 的根, 特征方程再一次出现! 于是有两个解. 因此有两个满足条件的等比数列. 实际上我们可以得到更多有类似性质的数列, 任取(实)数 k,l, 数列也满足条件. 我们称的线性组合. 实际上我们已经得到所有满足递推关系的数列了(这并不是显然的), 其中就包含Fibonacci 数列. 这时候需要利用 Fibonacci 数列的前两项了, 于是我们有

容易求出 k,l, 即可得 Fibonacci 数列的通项公式了.

线性空间

上述思路启发我们应该考虑类 Fibonacci 数列的全体, 记为 V . 这样, 如果数列, 则(等价地,). 抽象地说, 一个非空集合 V 上如果能定义加法, 这个加法与整数的加法的性质一样: 有交换律、结合律、零元素与负元素, 并且也能做伸缩, 称为数乘, 也就是某个数域 F(比如实数域、复数域或有理数域)上的数与 V 中的元素能相乘, 也满足四条性质, 就称 V 为 F 上的线性空间.

除了类 Fibonacci 数列的全体, 常见的线性空间的例子其实很多. 比如中学里比较熟悉的平面向量, 向量可以用平行四边形法则作加法, 也可以伸缩, 即向量的某个实数倍. 另一个常见的例子孕育在线性方程组 AX = β 的求解中. 如果求出

其一个解为 X0, 则对其任意解 X1, 有 X1− X0是 AX = 0 的解; 反之, AX = 0的任意解 Y , X0+ Y 是 AX = β 的解. 而 AX = 0 的解集具有更好的结构: 若Y1,Y2是其解, 则对任意 k,l, kY1+ lY2也是其解, 也就是说 AX = 0 的解是一个线性空间. 更一般的, 数域 F 上的 m × n 矩阵的全体就是 F 上的线性空间. 其中, 自然也是线性空间. 在分析课程中也有很多线性空间的例子, 它们通常是由特定函数构成的线性空间.

线性空间的好处是其中有两个运算, 这意味着空间中的元素有(线性)关系, 比如我们前面提到的一个元素是另外几个元素的线性组合. 我们考虑平面向量的全体的时候, 通常会建立直角坐标系, 实际上就是选定两个互相垂直的单位长度的向量 ε1,ε2, 所有向量的起点都在坐标原点. 这样, 任何平面向量在两个坐标轴上都有投影向量, 而投影向量自然是 ε1,ε2的某个实数倍, 于是平面向量都是坐标向量 ε1,ε2的线性组合. 我们称 ε1,ε2为平面向量空间的一组基, 基的元素个数称为空间的维数. 同样, 立体几何中建立坐标系需要三个坐标向量, 也就是说也就是说空间三维的. 物理上说的时空还要增加时间维度, 故是四维的. 前面提到的类 Fibonacci 数列的全体也是二维的. 就是 mn 维的.

不难验证, 线性空间的基(坐标系)有很多选择, 而维数始终是不变的, 因此, 维数是线性空间的一个重要的不变量, 实际上也是唯一的, 也就是说, 同样维数的线性空间没有本质区别. 要理解这一点就需要建立线性空间之间的联系, 也就是考虑映射.

线性映射与线性变换

Klein 说: 函数是数学中最重要的概念. 也许把“函数”换成“映射”更准确一点. 在各种不同的数学环境下我们会关注不同性质的映射: 连续、可微、光滑、解析等是拓扑、分析、几何等学课中常见的; 下面要提到线性映射、以后会涉及的群同态、环同态、域同态、代数同态等是代数学中常见的; 更深的数学中如表示论、代数几何、概率论中都会考虑一些特定的映射. 这些映射的共同点是它们需要保持所研究的对象的自身的性质或者结构(拓扑结构、微分结构、代数结构等). 特别地, 一个集合到自身的映射称为变换, 变换是研究一个数学对象本身性质的重要工具.

首先来看中学比较熟悉的平面向量. 在直角坐标系中, 每个向量被其终点的坐标唯一确定. 这就建立了平面向量的全体 V 到的一一对应 ϕ. 容易看出 ϕ是保持加法和乘法运算的, 即

ϕ(α + β) = ϕ(α) + ϕ(β),  ϕ(kα) = kϕ(α),  α,β ∈ V, k ∈ R,

这样的映射称为线性映射. 线性映射如果是一一对应, 则称其为线性同构. 两个线性空间之间如能建立线性同构, 则这两个空间在本质上没有区别. 利用基(或坐标系)很容易得到两个线性空间是线性同构的当且仅当它们的维数一样.

再如类 Fibonacci 数列的全体 V . 我们知道, 每个这样的数列实际上由其前两项唯一确定的, 也就可建立映射

这是 V 到 的一一对应, 容易验证也是线性同构.

用这个观点来看待线性方程组 AX = β, 其中,

映射 ϕ : X ↦ AX 是的线性映射. 通常它不是一一对应. 如果 AX = β有解, 则 β 在 ϕ 的像空间中. 此时, 求 AX = β 的解实际上是求 β 在映射 ϕ 下的原像. 这儿有一个比较烧脑的概念—– 商空间. 简单地说就是像空间中的元素 β 唯一的确定了定义域中的一个子集(β 的原像 ϕ−1(β)), 于是这些子集的集合 V 与 ϕ的像空间存在一一对应, 从而 V 是一个线性空间, 称为 的商空间. 从几何上看, 所有的原像都是平行的, 它们都平行于 ϕ−1(0), 而 ϕ−1(0) 是一个线性空间, 称其为定义域的一个子空间. 更一般地, 有线性映射或者子空间就可以自然定义商空间, 这个概念是可以推广到其他代数环境中的.

特征值

我们可以用线性映射的观点来求 Fibonacci 数列的通项公式. 为了方便, 我们约定. 利用矩阵乘法, 不难得到

这样就有. 也可以利用

且注意到,从而有

 ,于是问题转化为求或者. 考虑 V 到自身的线性映射(称为线性变换) ϕ : X ↦ AX, 问题转换为求 ϕ 对中向量 α 迭代n 次的结果. 对于 α =,自然不好算, 不过我们可以寻找容易计算的元素, 比、例如是否存在元素 α ∈ 使得 ϕ(α) 为 α 的倍数, 即存在 λ ∈ R 使得 ϕ(α) = λα? 这就是求线性方程组

的非零解. 根据Cramer 法则, 此时必须有系数矩阵的行列式为零, 即,也就是说 λ 是方程的根. 称 λ为 ϕ 或 A 的特征值, 称为特征多项式, 自然就是特征方程了. 此时有两个解

代入原方程组分别得到解为

于是. 注意到

从而有.

当然也可以计算 . 注意到, 故有

如果记, 则有AT=TA. 利用 Cramer 法则, 存在唯一的矩阵使得称 S 为 T 的逆矩阵, 记为. 于是我们有 我们称 A 与 Λ 相似. 由于 Λ 是对角矩阵, 也称 A 可对角化. 由此, .

当然不是所有的矩阵都可对角化. 比如考虑满足递推关系的数列 {an}, 利用上述方法需要考虑矩阵. 这个矩阵的特征值只有 1(二重), 特征向量也只有一个(差别一个常数意义下). 因此, 此类矩阵就要进一步处理, 由此可以发展出 Jordan 标准形理论. 这可能是数学院系的本科生遇到的第一个系统完整的研究课题, 对它的理解可以反映出学生对高等代数内容的程度.

matlab线性平面映射求通项_代数学发展史: 线性空间相关推荐

  1. MATLAB教程_11方程式求根_台大郭彦甫课程笔记

    MATLAB教程_11方程式求根_台大郭彦甫课程笔记 一.符号寻根法(解析法) 1.使用sym()或syms()创建符号变量 2.符号根查找:solve() 3.解多重方程 4.求解用符号表示的方程 ...

  2. matlab如何泰勒公式用求近似值_泰勒公式及其用典型例题.doc

    泰勒公式及其用典型例题 ?? 泰勒公式及其应用 常用近似公式,将复杂函数用简单的一次多项式函数近似地表示,这是一个进步.当然这种近似表示式还较粗糙(尤其当较大时),从下图可看出. 上述近似表达式至少可 ...

  3. matlab如何泰勒公式用求近似值_用泰勒公式求sin(x)的近似值

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #define PI 3.1415927 double FACT(double x); double fact(int ...

  4. 数据结构_C语言_实验一_线性结构 ——一元多项式求导

    文章目录 实验一 线性结构 1. 实验目的 2. 实验内容 3. 实验要求 4. 实验过程 (1) 问题描述 (2) 数据结构与算法设计 (3) 程序实现 (4) 实验结果 (5) 实验总结 实验一 ...

  5. c#中计算三角形面积公式_高中数学|向量公式之用平面向量求三角形面积

    高中数学|数列求和的几种策略 点击上方蓝字关注"公众号" 向量公式之 用平面向量求三角形面积 在学习向量时,我们能体会到向量的表达形式的多样化和直观性,而这些特点使解题更加简洁,可 ...

  6. matlab中图像映射实例,[转载]Matlab实现多种图像配准(转)

    本文讲述如何利用Matlab Image Processing Toolbox中的图像配准工具实现线性正投影.仿射.投影.多项式.分段线性.局部加权平均配准的过程. 实验平台 X86 PC,Windo ...

  7. matlab绘制系统函数频率特性,7.6应用于离散系统的Matlab基本函数 7.7 求离散系统的时域响应 频率特性分析...

    功能:求离散系统的单位阶跃响应. 格式: [c,t]=dstep(n,d) [c,t]=dstep(n,d,m) 说明: dstep函数可绘制出离散系统以多项式函数g(z)=n(z)/d(z)表示的系 ...

  8. matlab实现线性函数逼近,[转载]【MATLAB】MATLAB 线性拟合小结 ——nb

    MATLAB 线性拟合小结 -- REGRESS多元线性回归(用最小二乘估计法) http://wenku.baidu.com/view/0a0ea0de941ea76e59fa0418.html?r ...

  9. 【camera】自动驾驶感知系统实现(车道线检测和拟合、目标检测与跟踪、道路可行驶区域分割、深度估计、图像视野到BEV空间映射、像平面到地平面映射)

    自动驾驶感知系统实现(车道线检测和拟合.目标检测与跟踪.道路可行驶区域分割.深度估计.图像视野到BEV空间映射.像平面到地平面映射) 项目下载地址:项目下载地址 推理引擎下载地址:推理引擎下载地址 支 ...

最新文章

  1. 在Ubuntu 16.04.04 LTS上调研QUIC开源项目minq笔记
  2. Android移动开发之【Android实战项目】通过Java代码设置TextView
  3. 浅谈 Windows API 编程
  4. ExpandableListActivity列表嵌套列表
  5. Django数据获取操作
  6. PHP中的数组(数据结构)
  7. UPCA条形码生成器
  8. 多元统计分析matlab,matlab与应用多元统计分析..doc
  9. mysql 性能指标计算_干货|MySQL 性能指标及计算方法总结
  10. 会计实务综合模拟计算机实训心得,模拟企业会计实训心得体会
  11. linux/unix交互shell使用scanf函数获取键盘输入时按Backspace键总是出现^H^H^H^的解决方法
  12. python绘制象棋棋盘图片_如何用Python画一个中国象棋棋盘?
  13. 1 自定义无边框窗体
  14. android+获取电池信息,Delphi XE5 Android应用程序获取电池信息
  15. 波动方程的行波解(一)| 一维波动方程的通解和初值问题的达朗贝尔(d' Alembert)公式 | 偏微分方程(九)
  16. java中的hwid验证,JAVA设置HttpOnly Cookies
  17. 如何显示和删除联想的OEM分区
  18. System.out.println()的使用
  19. 第十一天 乐在其中-Android与远端之JDBC
  20. html+css模仿微信主页面

热门文章

  1. uni-app 实现小程序rsa加密(非对称加密原理)
  2. 一个mapper接口有多个mapper.xml 文件_爱了!分享一个基于Spring Boot的API、RESTful API项目种子(骨架)!...
  3. c语言最小点对问题_C语言教程(一):程序开发理论基础!
  4. Android怎么导入Moudle
  5. Linux cd后显示文件,关于linux系统显示文件的问题!
  6. vue项目使用webSocket前后端建立连接推送消息
  7. c语言实现英文文本编辑器_用flutter实现富文本编辑器(二)
  8. python电脑推荐_6款Python必备的可视化工具推荐
  9. python一年收入_你的年收入过5万了吗?数据科学家的Python模块和包
  10. installEventFilter、eventFilter函数理解