矩阵的秩

旁观OpenGL里的透视投影矩阵

一笑奈何 提交于 2020-02-06 11:58:04
OpenGL里的代码已经形成和使用了好多年,从程序员的角度,对OpenGL底层代码做升级或修改的实际意义并不大,而且风险高。所以,修改底层算法的想法是有些太狂了。但是,从教学的角度、提供一种新的视角去理解、或者重新再解读前人代码字里行间潜在的、独立于代码作者的理解而存在的深意,应该是值得探讨探讨的。这就是旁观了,观棋不语真君子,实在手痒拿起棋子、自己从头用代码把等价的功能重新实现一遍,或者是可能的。 我记得当年刚学Turbo Pascal /Turbo C 2.0编写几何变换程序的时候,我感觉 “平行投影”、尤其三维空间里向 x O y xOy x O y 坐标平面的正平行投影是毫无意义、根本不需要存在的,而且我自己也完全没有意识到它存在就已经开始画图了。因为获得三维的点坐标 ( x , y , z ) (x,y,z) ( x , y , z ) 之后,直接从代码里面拿 ( x , y ) (x,y) ( x , y ) 的数据来用就是了,谁还管它投影不投影?头晕不头晕、麻烦不麻烦? 从很多国内搞图形学的研究者们发表的文章里来看,即使认识到齐次坐标和齐次矩阵表示几何变换的重要性和有用性,大家也一直并不严格区分降秩的投影和非降秩的几何变换。所以,概念的理解上至少在不少实用派的人的认识中实际是一直处于混乱状态,但这不意味着所有的人都糊涂。但糊涂的人多了,带着这种糊涂认识的文章

matlab考试重点详解

谁说我不能喝 提交于 2020-02-06 09:56:22
  此帖是根据期末考试复习重点补充完成, 由于使用word编辑引用图片和链接略有不便, 所以开此贴供复习及学习使用。侵删 复习要点 第一章 Matlab的基本概念,名称的来源,基本功能,帮助的使用方法 1.基本概念和名称来源: MATLAB [1] 是美国 MathWorks 公司出品的商业 数学软件 , 用于算法开发、数据可视化、数据分析以及 数值计算 的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是matrix&laboratory两个词的 组合 ,意为矩阵工厂(矩阵实验室) 2.基本功能:   2.1数值计算和符号计算功能   MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。   2.2绘图功能,matlab提供了两个层次的绘图操作。一种是对图形句柄,进行底层绘图操作。另一种是建立在低层绘图操作之上的高层绘图操作。   2.3编程语言   MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高   2.4MATLAB工具箱   MATLAB包含两部分内容:基本部分和各种可选的工具箱。   MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。 3.帮助的使用方法   3.1 帮助命令   MATLAB帮助命令包括help命令和lookfor命令。

矩阵论 - Part II

拜拜、爱过 提交于 2020-01-25 21:31:26
矩阵论 - Part II 文章目录 矩阵论 - Part II 概念索引 4 矩阵空间 概念索引 4 向量空间, 最大线性无关组, 线性(子)空间, 线性空间的维数, 基和坐标, 同构映射, 同构空间, 基变换, 过度矩阵, 坐标变换, 线性变换, 线性变换的矩阵表示, 相似矩阵 , 欧式空间, 內积, 范数, Schwartz不等式, 夹角, 规范正交基, Schmidt正交化过程, 正交矩阵 4 矩阵空间 向量空间 向量空间: n n n 维向量的集合 V V V , 如果对加法和数乘运算封闭, 则集合 V V V 称为 向量空间 生成向量空间 子空间 空间维数 0空间 最大线性无关组 : 向量组 A A A 中有 r r r 个向量(设为向量组 A 0 A_0 A 0 ​ )线性无关, 任意 r + 1 r+1 r + 1 个向量线性相关, 则称 A 0 A_0 A 0 ​ 是一个 最大线性无关组 , r r r 称为向量组的 秩 , 只含有0向量的向量组没有最大无关组, 规定其秩为 0 0 0 矩阵的秩等于其列向量组的秩, 也等于其行向量组的秩 向量组 B B B 可以由向量组 A A A 线性表示, 则向量组 B B B 的秩不大于向量组 A A A 的秩 等价的向量组秩相等 设 C = A B C = AB C = A B , 则 { R ( C ) ≤ R ( A

Matlab矩阵

匆匆过客 提交于 2020-01-25 13:26:28
1.矩阵的逆 2.矩阵的秩 3.其他函数 4.特征值与特征向量 特征值和特征向量 相似矩阵和平衡矩阵 5.矩阵对角化 判断是否可以对角化 6.矩阵标准型 来源: CSDN 作者: 金_大虾 链接: https://blog.csdn.net/qq_21835111/article/details/104069138

线性代数学习笔记——矩阵

陌路散爱 提交于 2020-01-17 23:39:25
1.引出 在利用Gauss消元法求解线性方程组的过程中,参与运算的只是其中的系数和常数项,将这些系数和常数项写成"表格"的形式来表示求解的过程,于是引入矩阵的概念。 2.定义 矩阵及其初等行变换  ①矩阵 ( a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋮ ⋮ a s 1 a s 2 ⋯ a s n ) (1) \left( \begin{matrix} a11 &a12 &\cdots &a1n \\ a21 &a22 &\cdots &a2n \\ \vdots &\vdots &\vdots &\vdots \\ as1 &as2 &\cdots &asn \end{matrix} \right)\tag{1} ⎝ ⎜ ⎜ ⎜ ⎛ ​ a 1 1 a 2 1 ⋮ a s 1 ​ a 1 2 a 2 2 ⋮ a s 2 ​ ⋯ ⋯ ⋮ ⋯ ​ a 1 n a 2 n ⋮ a s n ​ ⎠ ⎟ ⎟ ⎟ ⎞ ​ ( 1 ) a ij 称为矩阵的 元素 。元素为实数的矩阵称为 实矩阵 ,元素为复数的矩阵称为 复矩阵 。如果s=n,则(1)式中的矩阵称为 n阶矩阵 或 n阶方阵 两个矩阵完全相同时(行数相同,列数相同,对应元素相同),称他们 相等 两个或两个以上矩阵,行数相同,列数相同,称它们为 同型矩阵  ②初等行变换

线性代数学习笔记

大城市里の小女人 提交于 2020-01-13 22:51:26
线性代数学习笔记 1 矩阵 1.0 矩阵的基本概念 首先需要了解基本的东西,矩阵. 定义一个矩阵 \(A\) 有 \(m\) 行 \(n\) 列,那么可以写成: \[ \begin{matrix} A_{1,1}\ A_{1,2}\cdots A_{1,n}\\ A_{2,1}\ A_{2,2}\cdots A_{2,n}\\ \ \ \ \ \ \ \ \vdots \\ A_{m,1}\ A_{m,2}\cdots A_{m,n}\\ \end{matrix} \] 我们还可以定义矩阵的数乘为 \(\lambda A\) ,相当于是给矩阵中所有的元素都乘上一个数字. 然后矩阵有如下性质: 结合率: \(ABC=A(BC)\) 数乘结合律: \(\beta(\lambda A)=\beta\lambda A\) ...(自行百度) 有一些特殊的矩阵,我们称之为 \(I\) , \(0\) . \(I\) ,单位矩阵,就是对角线全是 \(1\) ,其他位置都是 \(0\) 的矩阵. \(0\) ,零矩阵,就是所以位置都是 \(0\) 的矩阵. 1.1 矩阵的逆,矩阵的秩 矩阵的逆,就是存在一个矩阵 \(A^{-1}*A=I\) ,我们就称 \(A^{-1}\) 为 \(A\) 的逆矩阵. 矩阵的秩 \(A^{T}\) ,定义就是 \(A^{T}(i,j)=A(j,i)\) .

NMF: non-negative matrix factorization.

让人想犯罪 __ 提交于 2020-01-10 21:58:34
1. 矩阵分解可以用来解决什么方法, 以及how? 利用矩阵分解来解决实际问题的分析方法很多,如 PCA(主成分分析)、ICA(独立成分分析)、SVD(奇异值分解)、VQ(矢量量化) 等。在所有这些方法中,原始的大矩阵V被近似分解为低秩的V=WH形式。这些方法的共同特点是,因子W和H中的元素可为正或负,即使输入的初始矩阵元素是全正的,传统的秩削减算法也不能保证原始数据的非负性。在数学上,从计算的观点看,分解结果中存在负值是正确的,但负值元素在实际问题中往往是没有意义的。例如图像数据中不可能有负值的像素点;在文档统计中,负值也是无法解释的。 2. NMF NMF的基本思想可以简单描述为:对于任意给定的一个非负矩阵A,NMF算法能够寻找到一个非负矩阵U和一个非负矩阵V,使得满足 ,从而将一个非负的矩阵分解为左右两个非负矩阵的乘积。 分解前后可理解为:原始矩阵 的列向量是对左矩阵 中所有列向量的加权和,而权重系数就是右矩阵对应列向量的元素,故称 为基矩阵, 为系数矩阵。一般情况下 的选择要比 小,即满足 ,这时用系数矩阵代替原始矩阵,就可以实现对原始矩阵进行降维,得到数据特征的降维矩阵,从而减少存储空间,减少计算机资源。 other documentations: NMF 非负矩阵分解 -- 原理与应用 Supplementary knowledge 1. matrix rank矩阵的秩

行列式,矩阵的秩,迹,范数,条件数

血红的双手。 提交于 2020-01-10 01:56:34
方阵的行列式 det(A) 求方阵的A所对应的行列式的值 矩阵的秩 rank(A) 求矩阵A的秩 求3~20阶魔方阵的秩 for n=3:20 magic(n) r(n)=rank(magic(n)) bar(r) grid on end 矩阵的迹 迹等于对角线之和等于特征值之和 trace(A)求矩阵的A的迹 向量和矩阵的范数 norm(V)或norm(V,2) 计算向量V的2范数 矩阵A的转置的最大特征值的平方根 norm(V,1)计算向量V的1范数 矩阵列元素绝对值之和的最大值 norm(V,inf)计算向量V的∞范数 所有矩阵行向量绝对值之和的最大值 矩阵的条件数 条件数是范数与逆矩阵范数的乘积 条件数越接近于一,矩阵的性能越好 cond(A,1) 1范数条件数 cond(A)或cond(A,2) 2 cond(A,inf) 无穷 来源: CSDN 作者: qq_41724350 链接: https://blog.csdn.net/qq_41724350/article/details/103913734

shader_线性代数复习提纲

╄→гoц情女王★ 提交于 2020-01-05 22:06:42
MIT线代教程 http://open.163.com/movie/2010/11/7/3/M6V0BQC4M_M6V29E773.html 《转载》 《线性代数》复习提纲 第一部分:基本要求(计算方面) 四阶行列式的计算; N阶特殊行列式的计算(如有行和、列和相等); 矩阵的运算(包括加、减、数乘、乘法、转置、逆等的混合运算); 求矩阵的秩、逆(两种方法);解矩阵方程; 含参数的线性方程组解的情况的讨论; 齐次、非齐次线性方程组的求解(包括唯一、无穷多解); 讨论一个向量能否用和向量组线性表示; 讨论或证明向量组的相关性; 求向量组的极大无关组,并将多余向量用极大无关组线性表示; 将无关组正交化、单位化; 求方阵的特征值和特征向量; 讨论方阵能否对角化,如能,要能写出相似变换的矩阵及对角阵; 通过正交相似变换(正交矩阵)将对称矩阵对角化; 写出二次型的矩阵,并将二次型标准化,写出变换矩阵; 判定二次型或对称矩阵的正定性。 第二部分:基本知识 一、行列式 1.行列式的定义 用n^2个元素aij组成的记号称为n阶行列式。  (1)它表示所有可能的取自不同行不同列的n个元素乘积的代数和;  (2)展开式共有n!项,其中符号正负各半; 2.行列式的计算 一阶|α|=α行列式,二、三阶行列式有对角线法则; N阶(n>=3)行列式的计算:降阶法  定理:n阶行列式的值等于它的任意一行(列

4.A=LU的矩阵分解(消元法的另一种求解方式)

烈酒焚心 提交于 2020-01-01 01:10:48
一.了解A=LU 其实简单的说A=LU是高斯消元法的另一种求解形式。 从上一节中,我们知道高斯消元法的形式主要是 EA=U。 其中 E 我们称其为消元矩阵。通过 进行变换,其中 。通过上边的变换,我们可以得到 A=LU。 在这里 L 就是英文单词lower,代表着下三角; U 的英文单词就是upper代表着上三角。 举个例子:2X2的例子 E x A = U 通过变换得到: A = L x U 我们还可以通过进一步的分解U,来进行LDU分解,把主元提出来: A = L x D x U 其中 D 是英文单词(diagonal)。表示对角矩阵的意思。通过LDU的分解产生的作用是很多的,接下来的博客会介绍。 二. 为什么要进行LU分解消元法 1.方便计算 举个3x3矩阵的例子。 对于一个矩阵A,假如需要通过三次消元才能得到U,这三次消元分别是 。所以 。 例如: 则 转换成 A=LU 的形式: . 通过上边我们发现通过普通消元法得到的初等矩阵在第三行有个数10,这是因为把第一行的-2倍加到了第二行,新的第二行的-5倍加到了第三行,所以第三行的10倍第一行加到第三行。这个10的出现大大降低了我们消元矩阵的可读性,特别是对于大型矩阵来说,也加大了他的存储和处理。而我们观察 L, 他首先是个下三角形的对角矩阵,对角全是1,同时他的其他元素刚好是我们要对各行处理的倍数