漫谈高数(三) 线性相关和秩的物理意义

什么是线性相关? 这两个矢量(计算机里面用数组表示)v1和v2,如果v2可以从v1的某种乘除运算(幅度拉伸,方向转换),得到v2+K*v1=0,那么我们认为v2和 v1线性相关。例如,两个直线方程,x+2y=0和2x+4y=0,他们的系数向量是(1,2)和(2,4),显然,他们是同一条直线。也就是说 (1,2)和(2,4)是线性相关的。同理,对于3维的情况,x=0,y=0,x=y这3个平面相交于Z轴,我们称这3个平面关于Z轴线性相关,3个平面 方程的系数向量之间可以从其中的任意两个得到另外一个(1,0,0)+(0,1,0)=(1,1,0)。
    说的抽象一点,线性相关就是,对于N个m维向量v1-vN,存在不全为0的一个系数向量K使得 v1*k1+v2*k2+v3*k3+...+vN*kN=0。换句话说,其中的某些向量,可以通过其他向量,对于其系数的四则运算和组合得到。如果3个 向量v1,v2,v3是线性无关的(显然,v1,v2,v3都不是全0向量),那么v1+v2,v2+v3,v1+v3这三个向量之间是什么关系? 其中的任何一个不能通过其他的两个进行4则运算得到,所以仍然是一组线性无关的向量。
    Ax=b的解总是不多于Ax=0的解。这个很好理解: 例如,Ax=0如果是对应3维方程组的话,就是3个平面在3维空间的交点。如果不是交与一条线,也不重合,那么就交与原点(0,0,0)。好了,对于 Ax=b的情况怎么理解呢? 也就是这3个平面都做了一定的平移。那么如果平移的当,交点和原来一样,只是平移到了(a,b,c),但是也有可能这3个面平移的不正好相交,变成无解 了。这个分析的过程对应于矩阵的增广矩阵分析。如果矩阵的秩不等于增广矩阵的秩,那么相当于高斯消元法的过程出现了0=x(x非0)这样的谬,也就是方程 组无解(没有交点)。如果两个秩相等,就相当于解的数量和原来一样。
    那么,怎么理解秩,通解和特解呢? 还是拿3维平面举例子(3维方程组),如果系数矩阵的行列式为0,说明可以通过消元法去掉至少一个方程,就像上面说的x=0,y=0,x-y=0三个平面 的情况一样,x=y可以通过前面两个方程相减得到。系数矩阵的非相关向量个数=2,我们称秩(rank)=2。好了,这个方程组的解有无数个(整个Z 轴),写成通解形式就是(x,y,z)=k(0,0,1),k是任意实数。如果方程组是Ax=b呢,那么交点相当于平移到了(a,b,c),通解形式就是 k(0,0,1)+(a,b,c),这里(a,b,c)是特解,表示平移的基点。怎么求这个特解? 随便代入一个x的值x0,求出y和z的对应值,但是结果(x0,y0,z0)不等于(a,b,c),不要紧,k(0,0,1)填补了(x0,y0,z0) 和(a,b,c)之间的差。

    继续推广,前面说的Ax=b都是齐次线性方程组,如果A是非齐次的(m*n)呢,例如,有4个变量? 那么如果r(A)=2,说明只有两个线性无关的矩阵向量,通解基的个数=max(m,n)-r(A)。这里,通解基个数=4-2=2。所以得到两个方程的 时候,代入(x1,x2)=(1,0),(0,1)两个向量,求出通解k1(x0,y0,1,0)+k2(x1,y1,0,1)。当然,代如 (x3,x4)=某个向量组合,效果一样,因为线性相关性是对称的。最后,求特解,代入一个任意的(x1,x2)组合求出特解(x,y,z,L)。再次推 广,Ax=B,B也是一个矩阵,有解吗? 只要保证r(系数矩阵)=r(增广矩阵)就可以了,也就是保证高斯消元的过程,方程两边不出现0=非0的悖论。
    好了,为了说明线性相关,秩,通解之间的关系,我举个例子。这个例子是线性代数的常见证明题:
    题目:已知A是m*n的矩阵,秩r(A)=m,存在矩阵使得AB=0有解,通解矢量个数为n-m。求证,对于任何矢量a使得Aa=0,那么必然有一个矢量b使得a=Bb。
    怎么证明呢? 要求证的东西其实就是,a可以表示为B的列向量的某种线性组合->也就是求证a总是可以由B的列向量线性表示。那么既然a是Ax=0的一个解,那么 就要求B的列向量必然是Ax=0的通解向量组成的矩阵,那么必然有AB=0的解的个数=n-r(A)=n-m,符合题设。倒过来写就是证明的过程。

    求线性方程组通解的缺点: 求秩的过程依然用到了高斯消元法,没有对应的计算机方法,全靠人为观察。而且很多实际应用的情况下,方程组是没有精确解的,根本求不出秩,为了求得近似解,要引入奇异值分解的方法,而这个方法又引出了:特征矩阵,特征值,特征向量。
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java安全漫谈是一本关于Java安全的书籍,深入探讨了Java应用程序在网络环境中的安全性和相关的安全漏洞。该书内容涵盖了Java安全基础、Java虚拟机的安全机制、Java安全管理、Java安全开发等方面的知识。 首先,Java安全基础部分介绍了Java安全模型的原理和特点,包括Java类库的安全特性、权限管理和访问控制、安全策略配置等。这部分内容可帮助开发人员了解Java应用程序的安全需求,并提供相应的解决方案。 其次,Java虚拟机的安全机制是Java应用程序的基石。该书介绍了Java虚拟机的安全沙箱和类加载机制,并讨论了如何利用这些安全机制避免恶意代码的执行和隐患的防范。 此外,Java安全管理部分从用户角度出发,介绍了Java应用程序的安全管理工具和技术,如Java安全策略文件、权限管理和安全认证等。开发人员可以通过合理配置和使用这些工具来提Java应用程序的安全性。 最后,该书还涉及了Java安全开发过程中的一些最佳实践和常见安全漏洞,如输入验证、跨站脚本攻击(XSS)、SQL注入、跨站请求伪造(CSRF)等。通过学习和掌握这些知识,开发人员可以编写出更加安全的Java应用程序。 总而言之,Java安全漫谈是一本全面讨论Java安全的书籍,内容涵盖了Java安全基础、Java虚拟机的安全机制、Java安全管理和Java安全开发等方面的知识。它对于开发人员和安全从业人员来说,都是一本重要的参考书,有助于提Java应用程序的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值