热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

线性代数学习点(五):向量运算规则的几何表示

原文链接:http:thejuniverse.orgPUBLICLinearAlgebraLOLAgeomVectcalc.html翻译过程稍有删减前面

原文链接:http://thejuniverse.org/PUBLIC/LinearAlgebra/LOLA/geomVect/calc.html

翻译过程稍有删减

        前面已经介绍了最基本的向量相加及向量数乘。在实际中,向量的运算往往是这两种基本运算的复合,这就需要一些运算的规则。向量绝大部分的运算规则与标量对应的运算规则一致。

        第一条规则是:向量相加满足交换律。用更数学化的语言可表述为:对任意向量u 和 v,有如下等式成立: u + v = v + u.

        这点很好理解,下图为采用平行四边形法则的向量相加几何示意图,无论是u 和加v,还是  vu,结果都是以uv两个向量为边构成的平行四边形的对角线。

                                
        若有三个或者三个以上的向量相加,结果又如何呢?三角形法则告诉我们,将这些向量的起点和终点相连,则以第一个向量的起点为起点,以最后一个向量的终点为终点,构成的这个向量即为和向量,如下图所示。

                               

        上述规则无疑是正确的。但从技术上来讲,向量相加的法则仅定义了两个向量相加。因此,我们必须确保上述法则在只有两个向量相加时也是正确的。因此,我们还需要如下的规则:即向量相加满足结合律。用更数学化的语言可表述为:对任意向量u 、vw,有如下等式成立:  (u + v)+ w = u + (v + w).

        下图给出了向量加法结合律的几何图示。上面是等式左边的相加结果,下面是等式右边的相加结果。可以看出,结果都是黑色的向量。

                

                

         利用交换律和结合律这两个规则,我们就可以解决任意多个向量以任意次序相加的问题。

        前面我们仅给出了向量相加运算法则在二维空间的几何示意图。下图给出了三个向量在三维空间相加的几何示意图。图中三个向量处于不同的平面,我们可以先将他们的起点放置在一起,然后先利用平行四边形法则计算u + v,然后再利用三角形法则计算(u + v)+ w。由图可以看出,和向量实际上是由u、 v、w三个向量构成的平行六面体的对角线。因此,在三维空间,向量相加的法则也称为平行六面体法则,这是二维空间到三维空间的自然推广。在数学抽象上,这样的法则还可以推广到三维以上的空间,只是无法给出具体的几何示意图。

                                

        上面我们讨论了多个向量相加的问题。对数乘运算,假定现在有两个数c 和 d,都要和向量v进行数乘运算,那么运算的次序有关系吗?可以证明,数乘运算时,先用那个数进行数乘并不影响最终的结果,即有:c(dv) =d(cv) = (cd)v.

        如果c 和 d均为正数,那么很明显,上述三种运算所得的结果相同,并且仍然是一个向量,其方向与v相同,其长度为v的长度乘以cd。如果c 和 d有一个为负数或者两者均为负数,上述三种运算就必须要考虑方向的变反的情况,但注意到,在三种运算中,向量方向变反的次数是一样的,因此,三种运算所得的结果仍然相同。这即说明上述数乘满足交换律的运算规则是有效的。

        我们再考虑更复杂一些的情况,几个向量之间的运算不仅有加法,还有数乘运算,这时就需要分配率。这里,分两种情况来讨论。

        第一种情况是两个数相加后再与向量相乘。此时的运算规则如下:两个数相加之后再与向量相乘,等于两个数分别与向量相乘后再相加。用数学公式可表示为:对于任意的数c,d及任意的向量v,有:

                (c + d)v =cv +dv.

        如果c 和 d均为正数,如下图所示,那么从图很容易看出,上述等式两边的运算结果相同,结果均为向量,其方向与v相同,长度为v的长度乘以(c +d)。

                                 

        如果c 和 d有一个为负数,或者均为负数,上述分配率规则同样有效,但所得向量的方向与(c+d)的取值有关,可能与v相同,也可能与v相反。

        再来考虑另外一种情况,一个数与两个向量相加的结果相乘,此时的运算规则如下:一个数与两个向量相加的结果相乘,等于这个数分别与这两个向量单独相乘,然后再相加。用数学公式可表示为:对于任意的数c,d及任意的向量v,有:

                c(u + v) = cu + cv.

        对这条规则的理解与第一种情况的完全类似,下图给出了一个这种情况下的几何示意图。

                        

        综合这两种情况,用更口语化的方式,分配率可统一表述为:相加之后的相乘与相乘之后的相加相等。



推荐阅读
  • 表面缺陷检测数据集综述及GitHub开源项目推荐
    本文综述了表面缺陷检测领域的数据集,并推荐了多个GitHub上的开源项目。通过对现有文献和数据集的系统整理,为研究人员提供了全面的资源参考,有助于推动该领域的发展和技术进步。 ... [详细]
  • 题目链接:http://poj.org/problem?id=3083。题目描述:给定一个迷宫,其中 'S' 表示起点,'E' 表示终点,'#' 表示墙壁,'.' 表示可通行的道路。起点和终点均位于迷宫的边界上,并且保证存在唯一路径。任务是求从起点 'S' 到终点 'E' 的最短路径步数,且优先考虑向左转弯。通过深度优先搜索(DFS)和广度优先搜索(BFS)算法进行路径探索,分析两种方法的优劣及适用场景。 ... [详细]
  • 在探索 Unity Shaders 的过程中,我逐渐意识到掌握 OpenGL 基础知识的重要性。本文将详细介绍 OpenGL 的核心概念和基本操作,帮助读者从零开始理解这一图形编程技术。通过实例和代码解析,我们将深入探讨如何利用 OpenGL 创建高效的图形应用。无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。 ... [详细]
  • 在 PyTorch 中,`pin_memory` 技术用于锁定页面内存。当在创建 `DataLoader` 时将 `pin_memory` 参数设置为 `True`,这意味着生成的 Tensor 数据最初会被存储在锁定的内存中。这一技术能够显著提高数据从 CPU 到 GPU 的传输效率,从而加快训练速度。通过合理利用 `pin_memory`,可以有效减少数据加载的瓶颈,提升整体性能。 ... [详细]
  • 【高效构建全面的iOS直播应用】(美颜功能深度解析)
    本文深入探讨了如何高效构建全面的iOS直播应用,特别聚焦于美颜功能的技术实现。通过详细解析美颜算法和优化策略,帮助开发者快速掌握关键技术和实现方法,提升用户体验。适合对直播应用开发感兴趣的开发者阅读。 ... [详细]
  • 如何在ES6中实现Promise的完整流程
    在ES6中,Promise是一种用于处理异步操作的数据结构,它代表了一个现在、将来或永远可能可用的结果。本文将详细介绍如何在ES6中实现Promise的完整流程,包括创建、链式调用、错误处理等关键步骤,帮助开发者更好地理解和应用这一重要的异步编程工具。 ... [详细]
  • 本周,我深入研究了 ECharts 插件的使用方法,整体感觉插件操作较为简便,但后台算法较为复杂。此外,我还学习了 MySQL 函数的新应用,进一步提升了数据库操作的灵活性。同时,分享了自己在 Python 书籍外借过程中的体验,总结了一些实用的借阅技巧和心得。 ... [详细]
  • 在Unity中,人物服装更换系统的优化与实现涉及多个关键技术点。本文重点探讨了SkinnedMeshRenderer组件的作用及其优化方法。SkinnedMeshRenderer负责角色模型的网格渲染,通过合理配置其属性,如材质和骨骼权重,可以显著提升服装更换的效率和效果。此外,文章还介绍了如何利用Unity的动画系统和脚本编程,实现动态的服装更换功能,以提高用户体验和游戏性能。 ... [详细]
  • 求助高手:下载的压缩包中包含CMake文件,如何在Windows环境下使用已安装的CMake GUI进行运行?
    从GitHub仓库 `https://github.com/vonmax007/RobotSimulation` 下载的代码包含多种算法,其中算法1的文件目录中包含了CMake文件。为了在Windows环境下使用已安装的CMake GUI运行这些文件,需要先确保CMake已正确安装,并按照以下步骤操作:打开CMake GUI,设置源代码路径和构建路径,点击“Configure”配置项目,然后点击“Generate”生成构建文件。最后,在生成的构建目录中使用命令行或IDE进行编译和运行。 ... [详细]
  • 深入解析 OpenCV 2 中 Mat 对象的类型、深度与步长属性
    在OpenCV 2中,`Mat`类作为核心组件,对于图像处理至关重要。本文将深入探讨`Mat`对象的类型、深度与步长属性,这些属性是理解和优化图像操作的基础。通过具体示例,我们将展示如何利用这些属性实现高效的图像缩小功能。此外,还将讨论这些属性在实际应用中的重要性和常见误区,帮助读者更好地掌握`Mat`类的使用方法。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • 深度森林算法解析:特征选择与确定能力分析
    本文深入探讨了深度森林算法在特征选择与确定方面的能力。提出了一种名为EncoderForest(简称eForest)的创新方法,作为首个基于决策树的编码器模型,它在处理高维数据时展现出卓越的性能,为特征选择提供了新的视角和工具。 ... [详细]
  • 深入解析 Unity URP/SRP 渲染管线:匠心打造的全面指南
    本文深入探讨了Unity中的URP、SRP和HDRP渲染管线,详细解析了它们之间的关系及各自的特点。首先介绍了SRP的基本概念及其在Unity渲染架构中的作用,随后重点阐述了URP和HDRP的设计理念与应用场景。文章还分析了SRP诞生的背景,解释了为何Unity需要引入这一灵活的渲染框架,以满足不同项目的需求。通过对比URP和HDRP,读者可以更好地理解如何选择合适的渲染管线,以优化项目的性能和视觉效果。 ... [详细]
  • 自回归与非自回归模型如何融合?预训练模型BANG提供可能解决方案
    近年来,预训练技术的快速发展显著提升了自然语言生成的性能。然而,自回归模型和非自回归模型在生成质量和效率上各有优劣。微软研究院提出了一种新的预训练模型BANG,通过巧妙地结合两者的优点,提供了一种有效的解决方案。该模型不仅在生成质量上表现出色,还在推理速度上实现了显著提升,为自然语言生成任务带来了新的可能性。 ... [详细]
  • Kali Linux 渗透测试实战指南:第24章 客户端安全威胁分析与防御策略
    客户端安全威胁分析与防御策略主要探讨了终端设备(如计算机、平板电脑和移动设备)在使用互联网时可能面临的各种安全威胁。本章详细介绍了这些设备如何作为信息和服务的提供者或接收者,以及它们在与服务器等其他系统交互过程中可能遇到的安全风险,并提出了有效的防御措施。 ... [详细]
author-avatar
让安丷全筑起心灵的屏障
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有