线性代数的本质——1 向量

向量是线性代数中最为基础的概念。

何为向量?

        从物理上看, 向量就是既有大小又有方向的量,只要这两者一定,就可以在空间中随便移动。

        从计算机应用的角度看,向量和列表很接近,可以用来描述某对象的几个不同属性, 比如长2宽3,就可以写成\begin{bmatrix} 2\\ 3 \end{bmatrix}

        数学上给出最为广义的定义,一切对于相加和数乘有意义的都可以是向量。这实际上暗示了这两种运算会贯穿整个线性代数。

一种思考方式

        一种很好的思考向量的方式是:看到一个向量,想到一个箭头,它落在某个坐标系,且起点大多数时候固定在原点。

        这与上述的第一种定义契合,即“向量是空间中的箭头”。

        现在再看第二种定义,即“向量是有序的数字列表”:在定义了单位长度之后,我们就可以给出一个向量的坐标,这就是一个有序列表,它指示我们如何从向量的出发点(原点)到达向量的尖端。比如\begin{bmatrix} -2\\ 3 \end{bmatrix},告诉我们应该先沿着x轴负方向走2单位,再沿着y轴正方向走3个单位。

        每个有序列表对应唯一一个箭头,每个箭头对应唯一一个有序列表。

向量相加

        现在来考虑两种最基本运算中的加法。

        几何上看

        沿用上述的思考方式,定义中的向量相加,就是把两个箭头首尾相接,然后画一个从前一个向量的首(原点)到后一个向量的尾的向量,这个向量就是结果。像这样

        但为什么要这样定义, 而不是从首到首呢?像这样

        因为往往将向量看作一个特定的运动,从首到尾, 按这种定义,向量的和就是先后沿着两个向量运动的整体上的结果,具有很直观的意义。

        实际上,如果把这种加法放到一维坐标系(数轴)上,其实就是在数轴上做数字加减的方法。

        代数上看

        第一个向量坐标是(1, 2)第二个向量坐标是(3, -1)。

        前面提到过,这个坐标指示我们如何通过先后沿平行x轴和y轴的方向移动,从一个向量的首走到尾,那么对于两个首位相接的向量,我们做加法的任务就是找出类似的这种方案,从第一个向量的首走到第二个向量的尾。

        在得到这个方案之前,我们只知道,先走第一个向量,再紧接着走第二个向量,按坐标给出的信息,这是一个4步的方案:x轴1,y轴2,x轴3,y轴-1。我们要得到的方案是两步的,也就是x轴几,y轴几。

        因为x轴和y轴上的行走是独立的,所以我们可以交换顺序,先做水平运动,再做竖直运动。整体上看,就等同于在x轴走(1+3)在y轴走(2-1)。这样我们就找到了我们要找的方案。

       \begin{bmatrix} 1\\ 2 \end{bmatrix}+\begin{bmatrix} 3\\ -1 \end{bmatrix}=\begin{bmatrix} 1+3\\ 2+(-1) \end{bmatrix}

        这样我们也就推出了向量的加法法则,也知道了为什么要这样加。即有

\begin{bmatrix} x_1\\ y_1 \end{bmatrix}+\begin{bmatrix} x_2\\ y_2 \end{bmatrix}=\begin{bmatrix} x_1+y_1\\ x_2+y_2 \end{bmatrix}

向量数乘 

        对向量乘上一个数,本质上就是在做缩放(scaling)

        拉伸或压缩,如果有负号就反向。

         这个用来缩放(scaling)的数,英文上很自然的可以叫做scalar,确实有这个词,而它的中文翻译是标量。所以标量其实就可以理解成用来缩放向量的东西。在线性代数中,标量的作用基本上就是用来缩放向量。

        数乘的运算法可以用相似推出来, 就是对每个分量分别乘上标量。

a\begin{bmatrix} x_1\\ y_1 \end{bmatrix}=\begin{bmatrix} ax_1\\ ay_1 \end{bmatrix} 

实际上,无论从哪个角度来看待向量都可,线性代数的效用很少仅仅体现在其中一个角度上,而是体现在这些不同角度的相互转化中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/679550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个Spring Boot Admin 监控多个Nacos集群

背景 我们有多个系统,每个系统一个集群,每个集群都部署了自己的Spring Boot Admin(以下简称Admin),用起来不仅不方便,私有化部署的时候还得多部署几个服务,为了解决这个问题,我想到…

S32 Design Studio的PE工具

S32 Design Studio软件是NXP公司专门为了方便用户开发S32K1系列芯片的IDE,跟Eclipse比较像。里面有个配套的图形工具Processor Expert,会产生一个后缀名为pe的文件,跟ST的cubemx作用类似。 双击pe文件即可打开pe界面,生成的文件将…

力扣hot100 -- 双指针

目录 &#x1f382;移动零 &#x1f319;盛最多水的容器 &#x1f33c;三数之和 &#x1f33c;接雨水 前缀和 辅助数组 双指针 单调栈 &#x1f382;移动零 283. 移动零 - 力扣&#xff08;LeetCode&#xff09; 关于swap #include <iostream> #include <vec…

vim 启用鼠标复制粘贴

其实这个是错误的标题&#xff0c; 其实是nvim&#xff0c;最近在使用parrot的vim时&#xff0c;发现右键粘贴文本的时候&#xff0c;左下显示-- &#xff08;insert&#xff09;VISUAL --&#xff0c;并且无法粘贴内容 一般网上会教你用set mouse-a &#xff0c;当然这个没有问…

Leetcode 3035. Maximum Palindromes After Operations

Leetcode 3035. Maximum Palindromes After Operations 1. 解题思路2. 代码实现 题目链接&#xff1a;3035. Maximum Palindromes After Operations 1. 解题思路 这一题的话因为可以任意交换&#xff0c;因此事实上要考察回文的最大个数&#xff0c;我们只需要统计所有单词当…

每日五道java面试题之java基础篇(五)

第一题. final、finally、finalize 的区别&#xff1f; final ⽤于修饰变量、⽅法和类&#xff1a;final 修饰的类不可被继承&#xff1b;修饰的⽅法不可被重写&#xff1b;修饰的变量不可变。finally 作为异常处理的⼀部分&#xff0c;它只能在 try/catch 语句中&#xff0c;…

JavaScript DOM 变动观察器(Mutation observer)

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 DOM 变动观察 是 web 开发中的一个重要概念&#xff0c;指的是监视 …

《21天精通IPv4 to IPv6》第9天:云和容器中的IPv6——如何在云端☁️容器中实现IPv4到IPv6?

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

Lua Table库

table 库由一些操作 table 的辅助函数组成。他的主要作用之一是对 Lua 中 array 的大小给出一个合理的解释。另外还提供了一些从 list 中插入删除元素的函数&#xff0c;以及对 array 元素排序函数。 数组大小# 在programming in lua中教我们使用getn/setn来实现对array大小的…

无代码开发API集成:京推推助力电商平台和客服系统连接

一、无代码开发API的连接革命 无缝连接电商平台和客服系统在当前电子商务的快速发展下成为了企业面临的重要挑战。京推推推出了一种无代码开发API的解决方案&#xff0c;帮助商家无需进行复杂的API开发&#xff0c;即可将他们的在线商店与客户服务系统集成。这种方式使得商家…

Netty应用(七) 之 Handler Netty服务端编程总结

目录 15.Handler 15.1 handler的分类 15.1.1 按照方向划分 15.1.2 handler的结构 15.2 输入方向ChannelInboundHandlerAdapter 15.2.1 输出方向Handler的顺序 15.2.2 多个输入方向Handler之间的数据传递 15.2.2.1 handler消失了 15.2.2.2 手动编写netty提供的new Strin…

【C++】容器适配器结构的设计

目录 介绍&#xff1a; 一&#xff0c;queue结构的设计 二&#xff0c;priority_queue结构设计 三&#xff0c;stack结构设计 介绍&#xff1a; 适配器 适配器是一种设计模式&#xff0c;而设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计的总结&…

Javascript(二)注释和结束符

注释很详细&#xff0c;直接上代码 新增内容&#xff1a; 1.单行注释与多行注释&#xff08;内部及外部适用&#xff09; 2.结束符 外部注释 test.js //单行注释&#xff0c;快捷键Ctrlc(取消注释和注释相同)/* 多行注释,快捷键ShiftAltA(取消注释和注释相同) */// ; 为结束符…

django中的缓存功能

一&#xff1a;介绍 Django中的缓存功能是一个重要的性能优化手段&#xff0c;它可以将某些耗时的操作&#xff08;如数据库查询、复杂的计算等&#xff09;的结果存储起来&#xff0c;以便在后续的请求中直接使用这些缓存的结果&#xff0c;而不是重新执行耗时的操作。Django…

【机器学习】全网最全模型评价指标(性能指标、YOLOv5训练结果分析、轻量化指标、混淆矩阵详解)【基础收藏】

&#x1f951; Welcome to Aedream同学 s blog! &#x1f951; 文章目录 模型性能指标常见指标ROC/AUCROC & PRC多分类问题——混淆矩阵 计算结果分析——以YOLO v5为例1. confusion_matrix.png(混淆矩阵)2. F1_curve&#xff1a;3. labels.jpg4. labels_corrrelogram.jpg5…

免费分享一套PyQt6学生信息管理系统 Python管理系统 Python源码,挺漂亮的

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的PyQt6学生信息管理系统 Python管理系统 Python源码&#xff0c;分享下哈。 项目视频演示 【免费】PyQt5 学生信息管理系统 Python管理系统 Python源码 Python毕业设计_哔哩哔哩_bilibili【免费】PyQt5 学生…

揭秘:15条黄金法则,让你的GPT聊天提示效率翻倍!(一)

你的 ChatGPT 响应的好坏完全取决于你使用的ChatGPT 提示。 事实是&#xff0c;ChatgPT对于潜在客户开发、内容创建甚至外展都非常有效。 但大多数人只是使用人工智能来创建内容。 当然&#xff0c;它有时可以产生一些纯文本。也就是说&#xff0c;如果你只使用正确的提示。…

python 与 优先队列

文章目录 在 Python 中&#xff0c;可以使用 heapq 模块来实现优先队列。heapq 提供了一种基于堆的优先队列实现&#xff0c;堆是一种特殊的二叉树&#xff0c;满足父节点的值总是小于或等于其子节点的值&#xff08;最小堆&#xff09;或大于或等于其子节点的值&#xff08;最…

Junit常用注解

注解是方法的“标签” 说明每个方法的“职责” Q:总共有那些注解? 参见官方的API文档 0.常用主机及其特点 BeforeClass 只会执行一次必须用static修饰常用来初始化测试需要的变量 Before 会执行多次&#xff08;只要写一次&#xff09;在每个Test执行执行之前执行可以和…

fast.ai 机器学习笔记(一)

机器学习 1&#xff1a;第 1 课 原文&#xff1a;medium.com/hiromi_suenaga/machine-learning-1-lesson-1-84a1dc2b5236 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 来自机器学习课程的个人笔记。随着我继续复习课程以“真正”理解它&#xff0c;这些笔记将继续更…