线性代数的学习和整理23:用EXCEL,VBA,python计算向量/矩阵的各种乘法:内积,点积,外积,叉积(建设ing)

目录

前言:EXCEL里的的向量相关计算公式    

0.1 EXCEL里相关公式

0.2  先说结论:向量组的点乘公式和 向量组的点乘公式不一样

1 向量的点乘 (内积)

1.1 向量的点乘公式

1.2 EXCEL里向量点乘的计算

​编辑

1.3 向量点乘的性质

1.3.1  内积的公式A*B=|A|*|B|*cos(θ)     

1.3.1.2   cos曲线          

1.3.2 内积的最大最小值            

1.3.3 内积为正负的判断和应用---可用在机器学习上

                1.3.4   内积的公式可以理解为      

1.4 向量点乘=0时

2  向量组/矩阵的点乘

2.1 向量组/矩阵的点乘

2.2 EXCEL里向量组的乘法

2.3 公式

2.4  图


1 乘法

1.1 标量乘法

1.1.1 乘法的定义

  • 乘法的定义
  1. a*b= a个b之和
  2. a*b= a 的 b 倍
  3. 2*3=3+3=6
  •  a*b=\sum_{i=1 }^{a } b{i}

1.1.2 乘法符合的规律

  • 交换律 :a*b= b*a
  • 分配律:c*(a+b) =c*a+c*b
  • 结合律:c*(a*b)= (c*a)*b

1.2 向量乘法,种类很多

向量:有方向和大小的对象

  1. 向量只有方向和大小
  2. 没有具体的位置

向量的乘法:

  • 向量的数乘,λ*A
  • 向量的数量积,内积,inner product ,N维空间中a*b=a1b1+a2b2+.....an*bn
  • 两个向量的分量相乘然后相加求和
  • 标准内积,欧几里得内积
  • 点积,  dot product ,数量积,内积,二维空间中,a*b=|a||b|*cosθ
  • 两个向量的分量相乘然后相加求和
  • 外积, outer product
  • 叉积,cross product ,×乘,叉乘  反交换律,负交换律

2 概念和公式

2.1 向量的数乘

  • 向量的数乘,λ*A

2.2 向量的内积  Inner product

内积和点积都是衡量向量相似度的指标

  • In Euclidean geometry, the dot product of the Cartesian coordinates of two vectors is widely used. It is often called the inner product (or rarely projection product) of Euclidean space, even though it is not the only inner product that can be defined on Euclidean space (see Inner product space for more).
  • 也就是说在欧氏空间内向量点积用的很多,也被广泛称为了内积,但是点积的方法并不是唯一被定义的内积方式,点积只是内积其中一种定义方式,用的最多。所以在很多地方,点积和内积被画了等号。关于内积的更多解释可以参见Inner product space。

  • 交换律 :a*b= b*a
  • 分配律:k*(a+b) =k*a+k*b
  • 结合律:c*(a*b)= (c*a)*b
  • 对称性:a*b= b*a
  • 正定性:对于任何非零向量a, a*a>0

内积公式,计算模长  |a|= 根号(a*a)

距离, distance(a,b)= 根号(a-b)*(a-b)

正交性:点积=0,两个向量垂直正交

2.3 向量的点乘  Dot product,向量点积

  • 向量的点积是向量内积特例?
  •  符号为 
  •  要求向量长度相同,结果是一个标量。又称:点乘、数量积、标量积、scalar product、projection product等。
  • 交换律 :a*b= b*a
  • 分配律:k*(a+b) =k*a+k*b
  • 结合律:c*(a*b)= (c*a)*b
  • 任何向量*0向量=0向量
  • 方向性,0-90度,正,90-180为负数,180-270   点积<0 270-360  >0
  • 90 点积=0,向量垂直正交

夹角 :两个向量的夹角,判断向量之间的方向的相似性

投影:1个向量在另外一个向量方向上的投影,再计算

正交性:点积=0,两个向量垂直正交

2.4 向量的外积  Outer product

向量外积,Outer product

  •  符号为 
  •  如果向量 的长度为 ,向量的长度为 
  •  外积结果是一个矩阵,其维度为 
  •  过程等价于矩阵的Standard matrix multiplication。

2.5 Cross product[3],向量叉积

  • 向量的叉积是向量外积特例?
  • 符号为 
  • 叉积运算只定义在三维空间,结果仍然是一个向量
  • 其方向遵循右手定则。又称:叉乘、向量积、vector product等。

另外一种分类方法

2.6 克罗内克积, Kronecker product (外积,叉积都是属于?)

Kronecker product[6],克罗内克积

  •  Outer product的推广?
  • 符号为 
  •  是上面的向量外积(out product)的推广,形成的是分块矩阵(block matrix),对矩阵维度没有要求。又称:matrix direct product等。

2.7 矩阵乘积 Standard matrix multiplication,最一般的矩阵间乘法。

  •  符号为 
  •  要求 的列数要与 的行数相等,是最一般的矩阵间乘法。

2.8 Hadamard product,哈达玛积(点积就是?)

  •  或 符号为 
  •  或 矩阵对应元素相乘,要求矩阵维度相同。
  • 又称:逐元素积、element-wise product、entrywise product、Schur product等。

3 EXCEL里的的向量相关计算公式    

3.1 EXCEL里相关公式

  • 向量组相乘 :  mmult()
  • 向量组转置 :   transpose()
  • 向量组取逆 :  minverse()
  • 行列数公式

'

python里 numpy的计算

  • np.dot()
  • np.cross()

3.2  向量组的点乘公式和 向量组的点乘公式不一样

  • 向量的点乘 (内积), 可以用sumproduct(),也可以用mmult()
  • 向量组的点乘 (内积),尽量用sumproduct(),也可以用 sum( mmult() ),但不能直接用 mmult()

下面是具体的计算

4 向量的内积

定义

作用和应用

几何意义

物理意义

内积的EXCEL计算

内积的VBA计算

内积的python计算

5 向量的点乘 (点积)

4.1 向量的点乘公式

  • 向量,这里是至一维向量
  • 两个向量的点乘=行向量*列向量 = 常数/标量
  • 内积=常数/标量     

1.2 EXCEL里向量点乘的计算

  • 两个向量的内积=行向量*列向量     
  • 如果行列向量,设置不对,计算时记得用 transpose()
  • 所有矩阵的相乘都可以用muult()        
  • 但计算内积要注意有时候,只能用sumproduct()
     

1.3 向量点乘的性质

1.3.1  内积的公式A*B=|A|*|B|*cos(θ)     

  •  向量的内积=W*X=WT*X=|W|*|X|*cos(θ)        

1.3.2 EXCEL里cos(θ) 的计算

  • EXCEL里cos(θ) ,其中θ 必须是弧度
  • 弧度=角度*PI()/180
  • 弧度=RADIANS(角度)

1.3.3   cos曲线          

  •     向量的内积=W*X=WT*X=|W|*|X|*cos(θ)    
  •     

1.3.4 内积的最大最小值            

最大值          

  •     A*B=|A|*|B|*cos(θ)            
  •     当其他条件|A| |B| 的模长不变时,            
  •     θ=0°,cos(θ)=1,            
  •     向量平行/共线,内积最大            
  •     向量内积最大            

最小值            

  •     θ=180°,cos(θ)=-1            
  •     向量方向相反,内积最小,为负数            

1.3.5 内积为正负的判断和应用---可用在机器学习上

  •     内积为负            
  •     θ=90-270°之间时,cos(θ)<0,            
  •     内积为正            
  •     θ=270-(360+90°)之间时,cos(θ)>0,            


                
1.3.6   内积的公式可以理解为       

  •     A*B=|A|*|B|*cos(θ)            
  •     A*B=|A|*(|B|*cos(θ))            
  •     A*B=|B|*(|A|*cos(θ))         

                
    内积=一个向量投影到另外一个向量上的分量            
    *另外一个向量            
    因此2个向量垂直90°时            
    向量的分量投影=0,因此内积=0          

1.4 向量点乘=0时

  • 两个向量内积为0 ,必然两个向量垂直/正交 
  •     θ=90°,cos(θ)=0            
  •     因此垂直,正交时 A*B=0 
  •     θ=90°,cos(θ)=0           
  •     向量正交垂直,内积并是最小          
  •     因为内积可以为负数 


   
 
                
                
    


 

向量组/矩阵的点乘

2.1 向量组/矩阵的点乘


 

2.2 EXCEL里向量组的乘法

可使用mmult(),可以计算向量相乘的内积    
但使用mmult(),无法整体计算向量组/矩阵相乘的内积    
可使用mmult(),单独计算向量相乘的内积,然后求SUM    
或者使用SUMPRODUCT() 直接求,且不需要考虑行列向量n*m的问题    

2.3 公式

2.4  图

5 向量的外积

6 向量的叉积

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

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

相关文章

014-信息打点-JS架构框架识别泄漏提取API接口枚举FUZZ爬虫插件项目

014-信息打点-JS架构&框架识别&泄漏提取&API接口枚举&FUZZ爬虫&插件项目 #知识点&#xff1a; 1、JS前端架构-识别&分析 2、JS前端架构-开发框架分析 3、JS前端架构-打包器分析 4、JS前端架构-提取&FUZZ 解决&#xff1a; 1、如何从表现中的JS提取…

使用Element中的input组件如何实现文字和输入框在一行显示

利用 <el-form-item label"商品名称&#xff1a;">标签包裹即可&#xff0c;label写提示文字 <el-form ref"form" label-width"100px"><el-form-item label"商品名称&#xff1a;"><el-input v-model"na…

3 Python 工匠:使用数字与字符串的技巧

Python 工匠&#xff1a;使用数字与字符串的技巧 序言 这是 “Python 工匠”系列的第 3 篇文章。[查看系列所有文章] 数字是几乎所有编程语言里最基本的数据类型&#xff0c;它是我们通过代码连接现实世界的基础。在 Python 里有三种数值类型&#xff1a;整型&#xff08;int&…

9.Vim 编辑器

Vim编译器基础笔记请访问URL 1.配置主机名称 使用Vim编辑器修改/etc/hostname主机名称文件。 hostname 命令用于查看当前的主机名称 [rootlocalhost ~]# vim /etc/hostname [rootlocalhost ~]# hostname2.配置网卡信息 使用Vim编辑器修改网卡文件ifcfg-ens160 [rootlocal…

算法训练day20Leetcode654最大二叉树617合并二叉树700二叉树中的1搜索98验证二叉搜索树

654 最大二叉树 题目 https://leetcode.cn/problems/maximum-binary-tree/description/ 我的想法 中序遍历递归&#xff0c;找到最大值然后作为根节点 题目分析 凡是构造二叉树的题目都用前序遍历 &#xff08;中左右&#xff09; 为先构造中间节点&#xff0c;然后递归…

【设计模式-08】Flyweight享元模式

简要说明 简要的理解&#xff1a;享元模式就是新建一个池(Pool)&#xff0c;该池子(Pool)中有新建好的一堆对象&#xff0c;当需要使用时&#xff0c;从池子(Pool)中直接获取&#xff0c;不用重新新建一个对象。通俗的讲就是&#xff1a;共享元数据。 比如Java中的String就是使…

C++面试:向量vector和列表list介绍

目录 vector list list和vector的区别 1. 底层实现&#xff1a; 2. 动态性和静态性&#xff1a; 3. 内存管理&#xff1a; 4. 迭代器和指针&#xff1a; 5. 访问效率&#xff1a; 6. 适用场景&#xff1a; vector std::vector 是 C STL 提供的动态数组容器&#xff0…

嵌入式Linux:如何进行嵌入式Linux开发?

目录 1、裸机开发 2、SDK开发 3、驱动开发 3.1、字符设备驱动 3.2、块设备驱动 3.3、网络设备驱动 嵌入式Linux开发主要有三种方式&#xff1a;裸机开发、SDK开发和驱动开发。 1、裸机开发 裸机开发通常指在没有操作系统支持的环境中直接在硬件上运行程序的开发。这种开发方式要…

基于JavaWeb+SSM+Vue停车场微信小程序系统的设计和实现

基于JavaWebSSMVue停车场微信小程序系统的设计和实现 滑到文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 滑到文末获取源码 Lun文目录 目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相关…

【Java 设计模式】结构型之外观模式

文章目录 1. 定义2. 应用场景3. 代码实现结语 外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c; 它为复杂系统提供了一个简化的接口&#xff0c;隐藏了系统的复杂性&#xff0c;使得客户端更容易使用系统。外观模式通过创建一个包装类&#x…

【ASP.NET Core 基础知识】--路由和请求处理--路由概念(一)

在Web应用中&#xff0c;路由是一个至关重要的概念&#xff0c;它负责将用户的请求映射到相应的处理程序&#xff0c;以确保正确的页面或资源被呈现给用户。通过将用户请求与适当的处理程序关联起来&#xff0c;使得应用能够以有序和可维护的方式响应用户的操作。 一、ASP.NET…

【网络安全】-入门版

secure 一、基本工具1、metasploit framework ps.本着兴趣爱好&#xff0c;加强电脑的安全防护能力&#xff0c;并严格遵守法律和道德规范。一、基本工具 1、metasploit framework msf&#xff08;metasploit framework&#xff09;是一个开源的渗透测试框架&#xff0c;用于…

小程序系列--10.小程序WXS 脚本

一、概述 1. 什么是 wxs&#xff1f; WXS&#xff08;WeiXin Script&#xff09;是小程序独有的一套脚本语言&#xff0c;结合 WXML&#xff0c;可以构建出页面的结构。 2. wxs 的应用场景 wxml 中无法调用在页面的 .js 中定义的函数&#xff0c;但是&#xff0c;wxml 中可…

Vagrant安装Oracle Data Guard环境示例

在Windows 11下&#xff0c;通过Vagrant安装标准的Data Guard环境&#xff08;默认为non-CDB模式&#xff09;&#xff0c;耗时约26分钟&#xff0c;共生成2台虚机。以下为安装日志&#xff1a; ...host2: Welcome to DGMGRL, type "help" for information.host2: C…

《Python数据分析实战》

环境搭建 定义变量名时要遵循的规则&#xff1a; 变量名必须以字母或下画线开始&#xff0c;名字中间只能由字母、数字和下画线组成长度不能超过255个字符变量名在有效范围内必须具有唯一性不能使用保留字&#xff08;关键字&#xff09;区分大小写 不能对元组中的元素做修改…

分布式锁注解SyncLock

一、目标&#xff1a; 1、简化手动开关锁的重复代码&#xff08;专注业务本身&#xff09; 2、集成不同分布式锁解决方案&#xff08;锁不同使用方式不同&#xff09; 3、规范锁的命名和异常信息内容&#xff08;内容不规范&#xff0c;不易于理解和维护&#xff09; 4、避免事…

pyspark笔记:over

1 方法介绍 在 PySpark 中&#xff0c;over 函数是一个非常重要的概念&#xff0c;尤其是在使用窗口函数&#xff08;例如 row_number, rank, dense_rank, lead, lag 等&#xff09;时。over 函数允许你对一个数据集进行分组&#xff0c;然后在每个分组内应用窗口函数。 1.1 …

Appium 环境配置

Appium 是一个开源的、跨平台的测试框架&#xff0c;可以用来测试 Native App、混合应用、移动 Web 应用&#xff08;H5 应用&#xff09;等&#xff0c;也是当下互联网企业实现移动自动化测试的重要工具。Appium 坚持的测试理念&#xff1a; •无需用户对 App 进行任何修改或…

2024年一整年的考试报名时间表不许再错过考试啦

每个大学生都不能错过的超全考试报名表&#xff01; 有了它谁还会再错过考试哇&#xff01;&#xff01;&#xff01; 1月报名 专转本考试 12月底-1月报名 卫生资格考试 1月中旬报名 教师资格证笔试 1月报名 各省省考 2月报名 医师资格考试 2月报名 初级高级会计 2月报名 计算机…

Java 基础 - Java 多态性详解与实例解析

Java 多态性详解与实例解析 多态性是面向对象编程中的一个重要概念,它允许不同类型的对象以相同的方式对待,从而提高了代码的灵活性和可维护性。在 Java 中,多态性通过继承和方法重写实现,让我们深入了解一下。 什么是多态性? 多态性是指在同一类型的变量调用相同方法时…