Coding the Matrix (2):向量空间
1. 线性组合
概念很简单:

当然,这里向量前面的系数都是标量。
2. Span
向量v1,v2,.... ,vn的所有线性组合构成的集合,称为v1,v2,... ,vn的张成(span)。向量v1,v2,...vn的张成记为Span{v1,v2,... ,vn}。
回顾上一次课里面的电脑登陆认证的过程,假设黑客知道使用 GF(2) 加密,截获到一组电脑的问题 alpha 以及用户的回答 beta:

那么即使黑客不知道密码, alpha 所组成的 span 里面的所有问题都可以通过线性组合来得到答案了,证明如下:

3. Generator
实际上就是基的概念:

4. 向量在实数上的 span
span 就是向量的所有线性组合。一个非零向量的 span 通过原点的线,是一维,两个向量的 span 可能是一维的,亦可能是二维。
一个过原点的平面可以表示成:
{[x, y, z]: [a, b, c] · [x, y, z] = 0}
在几何上, (a, b, c) 又叫法向量。两个平面相交,可以得到一根直线:

可以看到,有两种方法表示一个几何物体:
- 几个向量的 span
- 齐次线性方程组(b = 0)的解集。
5. Convex Full
向量线性组合系数之和为 1,可以得到 Convex Full, 实际上这就是一个仿射组合。两个二维向量的 Convex Full 是一条线段,三个三维向量的 Convex Full 是一个三角形。
6. 仿射空间和仿射组合
过三个点 u1, u2, u3 的平面可以表示成 u1 + span{u2-u1, u3-u1},进一步可以推导如下:

同样的仿射组合的定义可以表示成:

和上面的推导一样,实际上

7. 齐次与非齐次线性方程组
齐次线性方程组的解集表示了一个过原点的几何物体,如点,直线,平面等,这个结集也可以看做一个 span。假设 U1 和 U2 是非齐次方程组的解,那么将 U1 和 U2 分别带到方程组,想减可以得到 U1 - U2 是齐次方程的组。所以有:

联系第6小节中的推导,假设 U1, U1, U3 是非齐次线性方程的三个解,那么 U3 -U1 和 U2 -U1 必定是齐次线性方程组的两个解,可以看到,非齐次方程组的解就在 u1 + span{u2-u1, u3-u1} 的仿射空间内。
Coding the Matrix (2):向量空间的更多相关文章
- Coding the Matrix Week 1 The Vector Space作业
Coding the Matrix: Linear Algebra through Computer Science Applications 本周的作业较少,只有一个编程任务hw2.作业比较简单,如 ...
- 【Python】Coding the Matrix:Week 5: Dimension Homework 5
这一周的作业,刚压线写完.Problem3 没有写,不想证明了.从Problem 9 开始一直到最后难度都挺大的,我是在论坛上看过了别人的讨论才写出来的,挣扎了很久. Problem 9在给定的基上分 ...
- Coding the Matrix作业Python Lab及提交方法
Coding the Matrix: Linear Algebra through Computer Science Applications 这是一门用python实现矩阵运算的课,第一次作业就感觉 ...
- Coding the Matrix (0):映射、复数和域
1. 非常好的 Python 教程 <深入 Python 3.0> 以及 IBM 开发社区的博客探索 Python. 2. 子集: s 是 S 的子集 >>>S = {2 ...
- Coding the Matrix (3):矩阵
1. 矩阵与映射 矩阵和映射包含两方面的关系: 简单:已知矩阵 M, 从向量 x 映射到 M * x. (注:矩阵与行向量的点乘) 稍微复杂:已知映射 x ->M * x, 求矩阵 M. 第一种 ...
- Coding the Matrix (1):向量
1. list 画点 >>> from plotting import plot >>> L = [[2, 2], [3, 2], [1.75, 1], [2, 1 ...
- 【Python】Coding the Matrix:Week 5 Perspective Lab
这个Lab的内容光是说明就有7页之巨,我反复看了很久才看懂一点点,Lab主要完成的是从不同坐标系表示之间变换的方法. 原始的图片,从Camera basis的表示转换成WhiteBoard basis ...
- 论文阅读笔记(三)【AAAI2017】:Learning Heterogeneous Dictionary Pair with Feature Projection Matrix for Pedestrian Video Retrieval via Single Query Image
Introduction (1)IVPR问题: 根据一张图片从视频中识别出行人的方法称为 image to video person re-id(IVPR) 应用: ① 通过嫌犯照片,从视频中识别出嫌 ...
- {Reship}{Code}{CV}
UIUC的Jia-Bin Huang同学收集了很多计算机视觉方面的代码,链接如下: https://netfiles.uiuc.edu/jbhuang1/www/resources/vision/in ...
随机推荐
- Hadoop blocks
一In cases where the last record in a block is incomplete, the input split includes location informat ...
- URAL 1416 Confidential --最小生成树与次小生成树
题意:求一幅无向图的最小生成树与最小生成树,不存在输出-1 解法:用Kruskal求最小生成树,标记用过的边.求次小生成树时,依次枚举用过的边,将其去除后再求最小生成树,得出所有情况下的最小的生成树就 ...
- C# 编码约定(C# 编程指南)
C#注释约定 将注释放到另一行,而不要放在代码行的末尾. 以大写字母作为注释文本的开头. 以句点结束注释文本. 在注释分隔符 (//) 和注释文本之间插入一个空格,如以下示例所示. // The fo ...
- IL查看委托
查看委托的IL 通过IL来查看委托的原理, 委托示例代码 写一个委托的类如下 using System; namespace MyCollection { //定义一个类,该类包含两个静态方法 c ...
- svn分支开发与主干合并(branch & merge)
下面我将step by step地演示如何一次完整的branching和merging,包括创建分支.分支开发.分支和主线同步,分支合并到主线的全过程,甚至包括如何在本地创建一个测试用的reposit ...
- java22 - 1 多线程之 单线程和多线程的图解
- main方法的理解
1),在执行一个类的时候,所找到的方法是mian(). 2)string args[]:输入的参数. public class StaticDemo08{ public static void mai ...
- Git技巧总结分享
接触Git有很长一段时间了,从最初的不懂到逐渐熟悉运用,相比于SVN,更热衷于Git这一款强大的版本控制工具. 废话不多说,下面对Git做了一些技巧总结,在此分享下,希望能帮助到一些喜欢Git的朋友们 ...
- iOS数组使用
相关链接: ios数组基本用法和排序 NSArray 排序汇总 iOS 数组排序方法 IOS-筛选数组内的元素 关于EnumerateObjectsUsingBlock和for-in之间的较量 [iO ...
- *.location.href 用法:
*.location.href 用法: top.location.href=”url” 在顶层页面打开url(跳出框架) self.location.href=”url” ...