线性代数(一)——向量基础

向量基础

  • 1、向量和线性组合
  • 2、向量的模和点乘
  • 3、矩阵
  • 4、参考

线性代数的核心是向量的加和乘两种运算的组合,本篇博客为线性代数的一个引子,主要从向量、线性组合和矩阵逐步引出线性代数的相关知识。

1、向量和线性组合

首先介绍的是向量相关,向量是基础。
已知列向量: υ = [ v 1 v 2 ] \boldsymbol{\upsilon}=\left[\begin{matrix} v_1 \\ v_2\end{matrix} \right] υ=[v1v2] ω = [ w 1 w 2 ] \boldsymbol{\omega}=\left[\begin{matrix} w_1 \\ w_2\end{matrix} \right] ω=[w1w2]

向量加法: υ + ω = [ v 1 + w 1 v 2 + w 2 ] \boldsymbol{\upsilon}+\boldsymbol{\omega}=\left[\begin{matrix} v_1+w_1 \\ v_2+w_2\end{matrix} \right] υ+ω=[v1+w1v2+w2]

纯量乘法: c υ = [ c v 1 c v 2 ] c\boldsymbol{\upsilon}=\left[\begin{matrix} cv_1 \\ cv_2\end{matrix} \right] cυ=[cv1cv2] c c c是标量;

线性组合:我们将 υ \boldsymbol{\upsilon} υ ω \boldsymbol{\omega} ω的加法运算和标量乘法运算结合起来,得到的结果称为 υ \boldsymbol{\upsilon} υ ω \boldsymbol{\omega} ω的线性组合,即 c υ + d ω c\boldsymbol{\upsilon}+d\boldsymbol{\omega} cυ+dω
两个向量的线性组合就是线性代数的最简单的形式。

下图展示了向量加法的结果:
在这里插入图片描述
Tip:列向量 υ = [ a b c ] \boldsymbol{\upsilon}=\left[\begin{matrix} a \\ b \\ c\end{matrix} \right] υ=abc也可以写为 υ = ( a , b , c ) \boldsymbol{\upsilon}=( a , b , c ) υ=(a,b,c),这两种形式都是表示列向量,后一种可以节约书写空间。另外,行向量表示为 υ = [ a , b , c ] \boldsymbol{\upsilon}=[ a , b , c ] υ=[a,b,c],平躺着并用方括号表示。

2、向量的模和点乘

点乘(内积):点乘为两个向量对应位置上元素乘积的和。
向量 υ = ( v 1 , v 2 , v 3 , . . . , v n ) \boldsymbol{\upsilon}=( v_1 , v_2 , v_3,...,v_n ) υ=(v1,v2,v3,...,vn)和向量 ω = ( w 1 , w 2 , w 3 , . . . , w n ) \boldsymbol{\omega}=( w_1 , w_2 , w_3,...,w_n ) ω=(w1,w2,w3,...,wn)的点乘表示为:
υ ⋅ ω = v 1 w 1 + v 2 w 2 + . . . + v n w n \boldsymbol{\upsilon} \cdot \boldsymbol{\omega}=v_1w_1+v_2w_2+...+v_nw_n υω=v1w1+v2w2+...+vnwn
向量 υ = ( v 1 , v 2 , v 3 , . . . , v n ) \boldsymbol{\upsilon}=( v_1 , v_2 , v_3,...,v_n ) υ=(v1,v2,v3,...,vn)和其自身的点乘为:
υ ⋅ υ = v 1 2 + v 2 2 + . . . + v n 2 = ( v 1 − 0 ) 2 + ( v 2 − 0 ) 2 + . . . + ( v n − 0 ) 2 \boldsymbol{\upsilon} \cdot \boldsymbol{\upsilon}=v^2_1+v^2_2+...+v^2_n=(v_1-0)^2+(v_2-0)^2+...+(v_n-0)^2 υυ=v12+v22+...+vn2=(v10)2+(v20)2+...+(vn0)2
向量的长度(模)
则在 n n n维坐标系中, υ ⋅ υ \boldsymbol{\upsilon} \cdot \boldsymbol{\upsilon} υυ表示点 ( v 1 , v 2 , v 3 , . . . , v n ) ( v_1 , v_2 , v_3,...,v_n) (v1,v2,v3,...,vn)到坐标原点的距离的平方,即向量 υ \boldsymbol{\upsilon} υ的长度的平方,所以向量 υ \boldsymbol{\upsilon} υ的长度为:
l e n g t h = ∥ υ ∥ = υ ⋅ υ = ( v 1 2 + v 2 2 + . . . + v n 2 ) 1 / 2 \mathbf{length}= \left \|\boldsymbol{\upsilon}\right\|=\sqrt{\boldsymbol{\upsilon} \cdot \boldsymbol{\upsilon}}=(v^2_1+v^2_2+...+v^2_n)^{1/2} length=υ=υυ =(v12+v22+...+vn2)1/2
如下图所示:
二维向量和三维向量的长度
单位向量
单位向量是长度等于1的向量,则向量 υ \boldsymbol{\upsilon} υ的单位向量 u \boldsymbol{u} u为任何非零向量除以该向量的长度,即:
u = υ ∥ υ ∥ \boldsymbol{u}=\frac{\boldsymbol{\upsilon}}{ \left \|\boldsymbol{\upsilon}\right\|} u=υυ
下图为单位向量的示意图:
单位向量
对于非零向量,当向量 υ \boldsymbol{\upsilon} υ垂直向量 ω \boldsymbol{\omega} ω时,它们的点积为零,即:
υ ⋅ ω = 0 \boldsymbol{\upsilon} \cdot \boldsymbol{\omega}=0 υω=0
可结合勾股定理进行证明。
向量夹角
设向量 υ \boldsymbol{\upsilon} υ和向量 ω \boldsymbol{\omega} ω的夹角为 θ \theta θ,当 υ ⋅ ω ! = 0 \boldsymbol{\upsilon} \cdot \boldsymbol{\omega}!=0 υω!=0时,会有:
{ θ < 9 0 ∘ , υ ⋅ ω > 0 θ > 9 0 ∘ , υ ⋅ ω < 0 \left\{\begin{array}{cc} \theta<90^{\circ}, & \boldsymbol{\upsilon} \cdot \boldsymbol{\omega}>0\\ \theta>90^{\circ}, & \boldsymbol{\upsilon} \cdot \boldsymbol{\omega}<0 \end{array}\right. {θ<90,θ>90,υω>0υω<0
除此之外,两个单位向量的点乘也表示两个向量夹角 θ \theta θ c o s i n e cosine cosine余弦值:
u ⋅ U = c o s θ , u ⋅ U ≤ 1 \boldsymbol{u} \cdot \boldsymbol{U}=cos{\theta},\boldsymbol{u} \cdot \boldsymbol{U}\leq1 uU=cosθuU1
单位向量的点乘等于两向量夹角的余弦值
那么对于非单位向量的向量 υ \boldsymbol{\upsilon} υ和向量 ω \boldsymbol{\omega} ω的夹角的余弦值应该怎么表示?
综上所述,应该为这两个向量对应的单位向量的点乘,即:
c o s θ = ( υ ∥ υ ∥ ) ⋅ ( ω ∥ ω ∥ ) = υ ⋅ ω ∥ υ ∥ ∥ ω ∥ ≤ 1 cos\theta = (\frac{\boldsymbol{\upsilon}}{\left \|\boldsymbol{\upsilon}\right\|}) \cdot (\frac{\boldsymbol{\omega}}{\left \|\boldsymbol{\omega}\right\|})=\frac{\boldsymbol{\upsilon} \cdot \boldsymbol{\omega}}{\left \|\boldsymbol{\upsilon}\right\|\left \|\boldsymbol{\omega}\right\|}\leq1 cosθ=(υυ)(ωω)=υωυω1

由此可引出两个著名的不等式:
柯西-施瓦兹-布尼亚科夫斯基不等式 ∣ υ ⋅ ω ∣ ≤ ∥ υ ∥ ∥ ω ∥ | \boldsymbol{\upsilon} \cdot \boldsymbol{\omega}|\leq{\left \|\boldsymbol{\upsilon}\right\|\left \|\boldsymbol{\omega}\right\|} υωυω
三角不等式: ∥ υ + ω ∥ ≤ ∥ υ ∥ + ∥ ω ∥ {\left \|\boldsymbol{\upsilon}+\boldsymbol{\omega}\right\|}\leq{\left \|\boldsymbol{\upsilon}\right\|+\left \|\boldsymbol{\omega}\right\|} υ+ωυ+ω

3、矩阵

接下来,我们从向量过度到矩阵,用矩阵表示线性组合。前面介绍了向量之间的运算,那么当一个矩阵乘以一个向量应如何去理解呢?
首先给定三个向量:
u = [ 1 − 1 0 ] , υ = [ 0 1 − 1 ] , ω = [ 0 0 1 ] . \boldsymbol{u}=\left[\begin{matrix} 1 \\ -1 \\ 0\end{matrix} \right],\boldsymbol{\upsilon}=\left[\begin{matrix} 0 \\ 1 \\ -1\end{matrix} \right],\boldsymbol{\omega}=\left[\begin{matrix} 0 \\ 0 \\ 1\end{matrix} \right]. u=110,υ=011,ω=001.
则这三个三维向量的线性组合为: x 1 u + x 2 υ + x 3 ω x_1\boldsymbol{u}+x_2\boldsymbol{\upsilon}+x_3\boldsymbol{\omega} x1u+x2υ+x3ω,即:
x 1 [ 1 − 1 0 ] + x 2 [ 0 1 − 1 ] + x 3 [ 0 0 1 ] = [ x 1 x 2 − x 1 x 3 − x 2 ] x_1\left[\begin{matrix} 1 \\ -1 \\ 0\end{matrix} \right]+x_2\left[\begin{matrix} 0 \\ 1 \\ -1\end{matrix} \right]+x_3\left[\begin{matrix} 0 \\ 0 \\ 1\end{matrix} \right]=\left[\begin{matrix} x_1 \\ x_2-x_1 \\ x_3-x_2\end{matrix} \right] x1110+x2011+x3001=x1x2x1x3x2
那么用矩阵重写上面的线性组合为:
A x = [ 1 0 0 − 1 1 0 0 − 1 1 ] [ x 1 x 2 x 3 ] = [ x 1 x 2 − x 1 x 3 − x 2 ] = [ b 1 b 2 b 3 ] = b A\boldsymbol{x}=\left[\begin{matrix} 1 & 0 & 0\\ -1 & 1 & 0\\ 0 & -1 & 1\end{matrix} \right]\left[\begin{matrix} x_1 \\ x_2 \\ x_3\end{matrix} \right]=\left[\begin{matrix} x_1 \\ x_2-x_1 \\ x_3-x_2\end{matrix} \right]=\left[\begin{matrix} b_1 \\ b_2 \\ b_3\end{matrix} \right]=\boldsymbol{b} Ax=110011001x1x2x3=x1x2x1x3x2=b1b2b3=b
从以上两式可以看出,矩阵A乘以向量 x \boldsymbol{x} x等同于矩阵 A A A的三个列向量的线性组合 x 1 u + x 2 υ + x 3 ω x_1\boldsymbol{u}+x_2\boldsymbol{\upsilon}+x_3\boldsymbol{\omega} x1u+x2υ+x3ω,即 A x A\boldsymbol{x} Ax的结果就是矩阵A的各列的线性组合

此外,我们也可以使用行的点乘来计算 A x A\boldsymbol{x} Ax
A x = [ 1 0 0 − 1 1 0 0 − 1 1 ] [ x 1 x 2 x 3 ] = [ ( 1 , 0 , 0 ) ⋅ ( x 1 , x 2 , x 3 ) ( − 1 , 1 , 0 ) ⋅ ( x 1 , x 2 , x 3 ) ( 0 , − 1 , 1 ) ⋅ ( x 1 , x 2 , x 3 ) ] = [ x 1 x 2 − x 1 x 3 − x 2 ] = [ b 1 b 2 b 3 ] = b A\boldsymbol{x}=\left[\begin{matrix} 1 & 0 & 0\\ -1 & 1 & 0\\ 0 & -1 & 1\end{matrix} \right]\left[\begin{matrix} x_1 \\ x_2 \\ x_3\end{matrix} \right]=\left[\begin{matrix} (1,0,0) \cdot (x_1,x_2,x_3) \\ (-1,1,0) \cdot (x_1,x_2,x_3) \\ (0,-1,1) \cdot (x_1,x_2,x_3)\end{matrix} \right]=\left[\begin{matrix} x_1 \\ x_2-x_1 \\ x_3-x_2\end{matrix} \right]=\left[\begin{matrix} b_1 \\ b_2 \\ b_3\end{matrix} \right]=\boldsymbol{b} Ax=110011001x1x2x3=(1,0,0)(x1,x2,x3)(1,1,0)(x1,x2,x3)(0,1,1)(x1,x2,x3)=x1x2x1x3x2=b1b2b3=b
线性等式
前面我们是已知 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3,来计算等号右侧的 b \boldsymbol{b} b,那么,如果已知等号右侧的 b \boldsymbol{b} b,如何来求 x \boldsymbol{x} x呢?
旧问题: 计算线性组合 x 1 u + x 2 υ + x 3 ω x_1\boldsymbol{u}+x_2\boldsymbol{\upsilon}+x_3\boldsymbol{\omega} x1u+x2υ+x3ω为了得出 b \boldsymbol{b} b
新问题: u , υ , ω \boldsymbol{u},\boldsymbol{\upsilon},\boldsymbol{\omega} u,υ,ω的哪种组合可以生成指定的 b \boldsymbol{b} b

很明显,这是一个互逆的问题。将等式 A x = b A\boldsymbol{x}=\boldsymbol{b} Ax=b改写成我们熟悉的方程式组为:
{ x 1 = b 1 − x 1 + x 2 = b 2 − x 2 + x 3 = b 3 \begin{cases} x_1&&&&&=&b_1&\\ -x_1&+&x_2&&&=&b_2& \\ &-&x_2&+&x_3&=&b_3 \end{cases} x1x1+x2x2+x3===b1b2b3
可轻易对该方程组求解:
{ x 1 = b 1 x 2 = b 1 + b 2 x 3 = b 1 + b 2 + b 3 \begin{cases} x_1=&b_1&\\ x_2=&b_1&+&b_2& \\ x_3=&b_1&+&b_2&+&b_3& \end{cases} x1=x2=x3=b1b1b1++b2b2+b3
写成矩阵形式为: x = A − 1 b \boldsymbol{x}=A^{-1}\boldsymbol{b} x=A1b,我们将 A − 1 A^{-1} A1称作 A A A的逆矩阵,此时的 A A A为可逆矩阵。

多个向量的独立和非独立性
多个向量之间的独立性和相关性
如上图所示,左右两个坐标系里向量 u 、 υ \boldsymbol{u}、\boldsymbol{\upsilon} uυ是一样的,这两个向量的线性组合构成一个同样的二维平面,关键问题是第三个向量是否在这个平面里:
独立性: ω \boldsymbol{\omega} ω不在 u 、 υ \boldsymbol{u}、\boldsymbol{\upsilon} uυ构成的平面中,即:
只有当 x 1 = 0 , x 2 = 0 、 x 3 = 0 x_1=0,x_2=0、x_3=0 x1=0,x2=0x3=0时,才满足等式 x 1 u + x 2 υ + x 3 ω = 0 x_1\boldsymbol{u}+x_2\boldsymbol{\upsilon}+x_3\boldsymbol{\omega}=\boldsymbol{0} x1u+x2υ+x3ω=0
如果矩阵 A A A的列是独立的,则 A x = 0 A\boldsymbol{x}=\boldsymbol{0} Ax=0只有一个解, A A A被称作可逆矩阵(非奇异矩阵)。
非独立性: ω ∗ \boldsymbol{\omega^*} ω u 、 υ \boldsymbol{u}、\boldsymbol{\upsilon} uυ构成的平面中,即:
存在多组 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3,满足 x 1 u + x 2 υ + x 3 ω ∗ = 0 x_1\boldsymbol{u}+x_2\boldsymbol{\upsilon}+x_3\boldsymbol{\omega^*}=\boldsymbol{0} x1u+x2υ+x3ω=0
如果矩阵 C C C的列是非独立的,则 C x = 0 C\boldsymbol{x}=\boldsymbol{0} Cx=0存在多个解,矩阵 C C C被称作奇异矩阵。

4、参考

[1] Introduction Linear Algebra,Fifth Edition,Giibert Strang.

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

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

相关文章

DHCP中继实验(思科)

华为设备参考&#xff1a;DHCP中继实验&#xff08;华为&#xff09; 一&#xff0c;技术简介 DHCP中继&#xff0c;可以实现在不同子网和物理网段之间处理和转发DHCP信息的功能。如果DHCP客户机与DHCP服务器在同一个物理网段&#xff0c;则客户机可以正确地获得动态分配的IP…

PCL 约束Delaunay三角网(版本二)

目录 一、算法概述二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法概述 PCL 点云Delaunay三角剖分一文给出了PCL中Delaunay三角网算法的基础用法。本文在基础用法的基…

Python与FPGA——膨胀腐蚀

文章目录 前言一、膨胀腐蚀二、Python实现腐蚀算法三、Python实现膨胀算法四、Python实现阈值算法五、FPGA实现腐蚀算法总结 前言 腐蚀是指周围的介质作用下产生损耗与破坏的过程&#xff0c;如生锈、腐烂等。而腐蚀算法也类似一种能够产生损坏&#xff0c;抹去部分像素的算法。…

Gafana Redis Overview dashboard

1. 简介 根据提供的 Redis 监控仪表盘 JSON 文件,包含的监控指标及其简要描述如下: redis_uptime_in_seconds: Redis 实例的运行时间(秒)。 redis_connected_clients: 当前连接到 Redis 实例的客户端数量。 redis_memory_used_bytes: Redis 实例使用的内存量(字节)。 redis_m…

SAP 消息编号 SG037

在日常外币银行结汇的时候&#xff0c;汇率小数点有可能是6位&#xff0c;但是SAP的汇率字段长度小数点后只有5位 所以&#xff0c;客户在F-02的时候&#xff0c;会出现一下报错“条目过长” 解决方法&#xff1a; 更改汇率的比率 OB08重新修改汇率 F-02界面 但是这种方法的风…

对接外卖平台接口的实践总结

当开发者需要将自己的系统或应用程序与外卖平台接口对接时&#xff0c;这项任务可能会涉及到一系列复杂的步骤和技术挑战。在本篇博客文章中&#xff0c;我们将总结对接外卖平台接口的实践经验&#xff0c;并分享关键的注意事项和最佳实践。 ### 1. 确定需求和目标 在开始对接…

【leetcode热题】对链表进行插入排序

给定单个链表的头 head &#xff0c;使用 插入排序 对链表进行排序&#xff0c;并返回 排序后链表的头 。 插入排序 算法的步骤: 插入排序是迭代的&#xff0c;每次只移动一个元素&#xff0c;直到所有元素可以形成一个有序的输出列表。每次迭代中&#xff0c;插入排序只从输…

OD_2024_C卷_200分_7、5G网络建设【JAVA】【最小生成树】

package odjava;import java.util.Scanner;public class 七_5G网络建设 {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt(); // 基站数量&#xff08;节点数&#xff09;int m sc.nextInt(); // 基站对数量&#xff08;边数&…

超越DragGAN和DragDiffusion!StableDrag:基于点的图像编辑新框架(南大腾讯) 原创 Yutao Cui等 AI生成未来

超越DragGAN和DragDiffusion&#xff01;StableDrag:基于点的图像编辑新框架(南大&腾讯) 原创 Yutao Cui等 AI生成未来 文章链接&#xff1a;https://arxiv.org/pdf/2403.04437 开源地址&#xff1a;https://stabledrag.github.io/ 基于点的图像编辑自DragGAN出现以来就引…

【计算机视觉】图像处理算法(其他篇)

来源&#xff1a;《OpenCV3编程入门》&#xff0c;怀念毛星云大佬&#x1f56f;️ 说明&#xff1a;本系列重点关注各种图像处理算法的原理、作用和对比 漫水填充 漫水填充法是一种用特定的颜色填充连通区域&#xff0c;通过设置可连通像素的上下限以及连通方式来达到不同的填…

MyBatisPlus理解

MyBatisPlus是mybatis的增强&#xff0c;mybatis是数据库持久化的框架&#xff0c;但mybatisplus并不是替代mybatis&#xff0c;而是相辅相成的关系 MyBatisPlus不会对以前使用mybatis开发的项目进行影响&#xff0c;引入后仍然正常运行。 使用方法&#xff1a; 1.在引入了对…

使用Spring的AOP

使用Spring的AOP 一、AOP 的常用注解1.切面类Aspect2.Pointcut3.前置通知Before4.后置通知AfterReturning5.环绕通知Around6.异常通知AfterThrowing7.最终通知After8.切面顺序Order9.启用自动代理EnableAspectJAutoProxy 二、AOP注解方式开发三、AOP 全注解开发四、基于XML配置…

5G网络助力智慧文旅发展:实现旅游资源的优化配置与高效利用

目录 一、5G网络在智慧文旅中的关键作用 1、高速率传输提升数据处理能力 2、低时延助力实时决策与调度 3、大连接实现全面覆盖与精细化管理 二、5G网络助力实现旅游资源的优化配置 1、精准匹配游客需求与旅游资源 2、促进旅游资源的跨区域合作与共享 三、5G网络助力实现…

【Python】科研代码学习:七 TrainingArguments,Trainer

【Python】科研代码学习&#xff1a;七 TrainingArguments&#xff0c;Trainer TrainingArguments重要的方法 Trainer重要的方法使用 Trainer 的简单例子 TrainingArguments HF官网API&#xff1a;Training 众所周知&#xff0c;推理是一个大头&#xff0c;训练是另一个大头 之…

XSS-Labs靶场“11-13、15-16”关通关教程

君衍. 一、第十一关 referer参数注入二、第十二关 user-agent参数注入三、第十三关 cookie参数绕过四、第十五关 ng-include文件包含五、第十六关 回车代替空格 点击跳转&#xff1a; XSS-Labs靶场“1-5”关通关教程 XSS-Labs靶场“6-10”关通关教程 一、第十一关 referer参数…

[uni-app ] createAnimation锚点旋转 及 二次失效问题处理

记录一下: 锚点定位到左下角, 旋转动画 必须沿Z轴,转动 但是,此时会出现 后续动画在微信小程序失效问题 解决: 清空 this.animationData

201912青少年软件编程(Scratch)等级考试试卷(一级)

201912 青少年软件编程&#xff08;Scratch&#xff09;等级考试试卷&#xff08;一级&#xff09; 第1题&#xff1a;【 单选题】 关于造型和背景&#xff0c;下面说法不正确的是&#xff1f; A:造型编号从1开始 B:有四个背景&#xff0c;删除第二个背景&#xff0c;背景编…

11_Http

文章目录 HttpHttp协议网络模型Http协议的工作流程Http请求报文请求行请求方法请求资源协议版本 请求头空行请求体抓包软件&#xff1a;Fiddler Http响应报文响应行状态码 响应头响应体 请求完整的处理流程 Https 整体流程图&#xff1a; 前端&#xff1a;负责获取数据&#xf…

雷赛控制卡获取轴当前位置的值不正确问题处理

现像 从雷赛控制卡中获取当前轴位置值时发现轴在向零点的右边走时显示的值是负数。正常来就一般是要反馈正数的。一般轴零点右边是正方向&#xff0c;限位是正限位&#xff0c;反馈的位置也应该是正数。 如果雷赛软件中的【单轴参数】中的基本设置中的【脉冲模式】设置的是对的…

【C语言基础】:深入理解指针(终篇)

文章目录 深入理解指针一、函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用4.3 typedef关键字 二、函数指针数组三、转移表四、回调函数4.1 什么是回调函数4.2 qsort使用举例4.2.1 使用qsort函数排序整形数据4.2.2 使用qsort排序结构数据4.2.3 qsort函数的模拟实现 …