-
有线性方程 A x = b Ax=b Ax=b,若已知 A , b A,b A,b,需要求解 x x x,该如何求解?
这对 A 和 b A和b A和b有哪些要求?
提示:从 A A A的维度和秩角度来分析。
-
求解方法:
- QR分解
- LDLT
- 高斯列主元法
- 具体求解过程交给相关库吧,比如Eigen;
-
对 A 、 b A、b A、b有哪些要求?
直观理解:当 b b b是矩阵 A A A各列向量的线性组合时,有解;
参考MIT线性代数教程Lecture 6 向量空间与列向量;
- 有解无解总结:
- 通过高斯消元法,化简,化成阶梯行方程组;
- 出现 0 = d {0=d} 0=d形式的不相容方程,则无解;
- 有解情况下,有效方程个数小于未知数个数,则有无穷多解;如果正好相等,则有唯一解;
- 齐次方程组:
b
=
0
b=0
b=0
- 不存在无解的情况;(0必然是其解)
- 判断 d e t ( A ) det(A) det(A)
- 若 d e t ( A ) = = 0 det(A)==0 det(A)==0,则有非零解(无穷多个解)
- 若 d e t ( A ) ! = 0 det(A)!=0 det(A)!=0,则只有零解(唯一解)
- 非齐次方程组:
b
!
=
0
b!=0
b!=0
- 考察系数矩阵 r ( A ) r(A) r(A),增广矩阵 r ( A , b ) r(A,b) r(A,b),以及方程组未知数个数 n n n
- 若 r ( A ) < r ( A , b ) r(A)<r(A,b) r(A)<r(A,b),则方程组无解;
- 若 r ( A ) = r ( A , b ) < n r(A)=r(A,b)<n r(A)=r(A,b)<n,则方程组有多个解;
- 若 r ( A ) = r ( A , b ) = n r(A)=r(A,b)=n r(A)=r(A,b)=n,则方程组有唯一解;
- 有解无解总结:
-
-
高斯分布是什么?它的一维形式是什么样子?它的高维形式是什么样子?
- 高斯分布:高斯分布(正态分布)是一个常见的连续概率分布。
- 一维形式
- 若随机变量 X X X服从一个位置参数为 μ μ μ、方差为 σ 2 σ^2 σ2的正态分布,可以记为 X N ( μ , σ 2 ) X ~ N(μ,σ2) X N(μ,σ2),则其概率密度函数为:
- 高维形式
-
你知道C++中的类吗?你知道STL吗?你使用过它们吗?
- C++类
- 可以看作是对相似事物的抽象;
- 用类描述对象;对象是指现实世界中的一切事物;
- C++中使用关键字class来定义类;
- STL
- Standard Template Library,标准模板库;
- 广义上分为三类:algorithm(算法)、container(容器)、iterator(迭代器)
- 几乎所有代码都采用了模板类和模板函数的方式,提供了更好的代码重用机会;
- C++类
-
你以前怎样书写C++程序?(你完全可以说只在Visual C++ 6.0下写过C++工程,只要你有写C++和C语言的经验就行。)
使用vscode编辑代码,然后编写CMakeLists.txt,生成makefile编译软件;
-
你知道C++11标准吗?你听说过或用过其中那些新特性?有没有其他标准?
- 新特性
- auto
- for (auto &kp in keypoints)
- lambda表达式
- 其他标准
- C99 C++98
- C++21 2021
- 新特性
-
你知道Linux吗?你有没有至少使用过一种(不算安卓)操作系统,比如Ubuntu?
-
Linux的目录结构是什么样的?你知道哪些基本命令,比如ls、cat等?
-
目录结构
-
基本命令
-
-
如何在Ubuntu系统中安装软件(不打开软件中心的情况下)?这些软件被安装在什么地方?如果只知道模糊的软件名称(比如想要安装一个名称中含有Eigen的库),应该如何安装它?
- 安装软件
- sudo apt install
- dpkg -i *.deb
- 源码安装
- 安装位置
- /usr/local
- 模糊安装软件
- sudo apt-cache search libeigen*
- 安装软件
-
花一个小时学习vim,因为你迟早会用它。
能够在学习本书的过程中使用它输入代码即可;
不要在它的插件上浪费时间,不要想着把vim用成IDE,只用它做文本编辑的工作。
- 四种模式:命令模式、编辑模式、末行模式、可视化模式;