手撕乘积(**Multiplication** **Product**): 穷举和图示(1)

手撕乘积(Multiplication & Product): 穷举和图示(1)

乘积

在这里插入图片描述

在这里插入图片描述

r ⋅ s = ∑ i = 1 s r = r + r + ⋯ + r ⏟ s times = ∑ j = 1 r s = s + s + ⋯ + s ⏟ r times r\cdot s=\sum _{i=1}^{s}r=\underbrace {r+r+\cdots +r} _{s{\text{ times}}}=\sum _{j=1}^{r}s=\underbrace {s+s+\cdots +s} _{r{\text{ times}}} rs=i=1sr=s times r+r++r=j=1rs=r times s+s++s

4 * 3
>>> 12
.1 * .2
>>> 0.020000000000000004 # 😓
[1, 2, 3] * 2
>>> [1, 2, 3, 1, 2, 3]
[1, 2, 3] * [1, 2, 3]
>>> TypeError: can't multiply sequence by non-int of type 'list' # 😓
(1, 2, 3) * 4
>>> (1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3)
(1, 2, 3) * (1, 2, 3)
>>> TypeError: can't multiply sequence by non-int of type 'tuple'
np.array([1,2,3]) * 2
>>> array([2, 4, 6])
np.array([1,2,3]) * np.array([1,2,3])
>>> array([1, 4, 9])
np.multiply(np.array([1,2,3]), np.array([1,2,3]))
>>> array([1, 4, 9])
np.array([1,2,3]) * np.array([1,2,3,4])
>>> ValueError: operands could not be broadcast together with shapes (3,) (4,)
np.multiply(np.array([1,2,3]), np.array([1,2,3,4]))
>>> ValueError: operands could not be broadcast together with shapes (3,) (4,)
np.array([[1,2,3], [1,2,3]]) * np.array([2,3,4])
>>> array([[ 2,  6, 12],[ 2,  6, 12]])
np.multiply(np.array([[1,2,3], [1,2,3]]), np.array([2,3,4]))
>>> array([[ 2,  6, 12],[ 2,  6, 12]])

点乘

x = 3
y = 5
xNda = np.arange(x)
>>> array([0, 1, 2])
x2Nda = xNda*2+1
>>> array([1, 3, 5])
yNda = np.arange(1, y)
>>> array([1, 2, 3, 4])
xyNda = np.meshgrid(xNda, yNda)
>>> array([[[0, 1, 2],[0, 1, 2],[0, 1, 2],[0, 1, 2]],[[0, 0, 0],[1, 1, 1],[2, 2, 2],[3, 3, 3]]])np.dot(x, y)
>>> 15
np.dot(xNda, x)
>>> array([0, 3, 6])
np.dot(xNda+3, xNda+7) # 👇图示之
>>> 98

在这里插入图片描述

在这里插入图片描述

向量的点乘,也叫做向量的内积、数量积。对两个向量执行点乘运算,就是对着两个向量对应位置一一相乘之后求和的操作,点乘的结果是一个标量。

定义: 向量 a = [ a 1 , a 2 , . . . , a n ] a = [a_1, a_2, ..., a_n] a=[a1,a2,...,an] 和向量 b = [ b 1 , b 2 , . . . , b n ] b = [b_1, b_2, ..., b_n] b=[b1,b2,...,bn] 的内积为:

a ⋅ b = ∑ i = 1 n a i b i = a 1 b 1 + a 2 b 2 + . . . + a n b n a \cdot b = \sum_{i=1}^n a_i b_i = a_1 b_1 + a_2 b_2 + ... + a_n b_n ab=i=1naibi=a1b1+a2b2+...+anbn

特别地, 0 ⋅ a = a ⋅ 0 = 0 0 \cdot a = a \cdot 0 = 0 0a=a0=0;若 a , b a, b a,b 是非零向量,则 a a a b b b 正交的充要条件是 a ⋅ b = 0 a \cdot b = 0 ab=0

点积的几何意义: 可以用来表征或计算两个向量之间的夹角,以及在 b b b 向量在 a a a 向量方向上的投影,有公式:

a ⋅ b = ∣ a ∣ ∣ b ∣ cos ⁡ θ a \cdot b = |a| |b| \cos \theta ab=a∣∣bcosθ

其中, θ \theta θ a a a b b b 之间的夹角。

在这里插入图片描述

根据这个公式就可以计算向量 a a a 和向量 b b b 之间的夹角。从而就可以进一步判断这两个向量是否是同一方向,是否正交(也就是垂直)等方向关系,具体对应关系为:

  • a ⋅ b > 0 a \cdot b > 0 ab>0,方向基本相同,夹角在 0 ° 0° 90 ° 90° 90° 之间;
  • a ⋅ b = 0 a \cdot b = 0 ab=0,正交,相互垂直;
  • a ⋅ b < 0 a \cdot b < 0 ab<0,方向基本相反,夹角在 90 ° 90° 90° 180 ° 180° 180° 之间。

向量点乘的运算特性:

  • a 2 ≥ 0 a^2 \geq 0 a20;当 a 2 = 0 a^2 = 0 a2=0 时,必有 a = 0 a = 0 a=0; (正定性)
  • a ⋅ b = b ⋅ a a \cdot b = b \cdot a ab=ba;(对称性)
  • ( λ a + μ b ) ⋅ c = λ a ⋅ c + μ b ⋅ c (\lambda a + \mu b) \cdot c = \lambda a \cdot c + \mu b \cdot c (λa+μb)c=λac+μbc,对任意实数 λ , μ \lambda, \mu λ,μ 成立; (线性)
  • cos ⁡ ∠ ( a , b ) = a ⋅ b / ( ∣ a ∣ ∣ b ∣ ) \cos \angle (a, b) = a \cdot b / (|a| |b|) cos(a,b)=ab/(a∣∣b);(余弦定理)
  • ∣ a ⋅ b ∣ ≤ ∣ a ∣ ∣ b ∣ |a \cdot b| \leq |a| |b| aba∣∣b,等号只在 a a a b b b 共线时成立。

😓😓😓…请等下集分解

以上内容来自维基百科, 由在这里插入图片描述协助完成.

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

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

相关文章

数据库单表查询

1、显示所有职工的基本信息。 2、查询所有职工所属部门的部门号&#xff0c;不显示重复的部门号。 3、求出所有职工的人数。 4、列出最高工和最低工资。 5、列出职工的平均工资和总工资。 6、创建一个只有职工号、姓名和参加工作的新表&#xff0c;名为工作日期表…

线上问题整理

JVM 案例 案例一&#xff1a;服务器内存不足&#xff0c;影响Java应用 问题&#xff1a; 收到报警&#xff0c;某Java应用集群中一台服务器可用内存不足&#xff0c;超过报警阈值。 排查过程&#xff1a; 首先&#xff0c;通过Hickwall查看该应用各项指标&#xff0c;发现无论…

Linux第22步_安装CH340驱动和串口终端软件MobaXterm

开发板输出信息通常是采用串口&#xff0c;而计算机通常是USB接口&#xff0c;为了让他们之间能够交换数据&#xff0c;我们通常采用USB转串口的转换器来实现。目前市场上的串口转换器大多是采用CH340芯片来实现的&#xff0c;因此我们需要在计算中安装一个CH340驱动程序&#…

[代码复现]BrainGNN: Interpretable Brain Graph Neural Network for fMRI Analysis

目录 1. 论文资料 2. 代码复现步骤及可能存在的问题 2.1. 环境配置 2.2. 代码运行 3. 为啥跑这个代码 1. 论文资料 &#xff08;1&#xff09;论文原文&#xff1a;BrainGNN&#xff1a;用于fMRI分析的可解释脑图神经网络 - ScienceDirect &#xff08;2&#xff09;论文…

Android 拍照以及相册中选择(适配高版本)————上传头像并裁剪(一)

前言 在项目研发中&#xff0c;相信大家都遇到过给用户增加头像照片的需求。 随着手机版本的不断更新&#xff0c;android 8、android 9、android 10、android 12、android 13、鸿蒙系统等等&#xff1b;遇到这个功能需求&#xff0c;大家肯定会想&#xff0c;“这还不好写&…

【Python学习】Python学习17- File(文件) 方法

目录 [TOC](【Python学习】Python学习17- File(文件) 方法) 文章所属专区 Python学习 前言 本章节主要说明Python文件操作的具体说明 open()方法 Python open() 方法用于打开一个文件&#xff0c;并返回文件对象&#xff0c;在对文件进行处理过程都需要使用到这个函数&#…

信息系统中的需求分析

软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。根据IEEE的软件工程标准词汇表&#xff0c;软件需求是指用户解决问题或达到目标所需的条件或能力&#xff0c;是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力&#xff0c;…

Azure Machine Learning - 视频AI技术

Azure AI 视频索引器是构建在 Azure 媒体服务和 Azure AI 服务&#xff08;如人脸检测、翻译器、Azure AI 视觉和语音&#xff09;基础之上的一个云应用程序&#xff0c;是 Azure AI 服务的一部分。 有了 Azure 视频索引器&#xff0c;就可以使用 Azure AI 视频索引器视频和音频…

蓝桥杯练习题(八)

&#x1f4d1;前言 本文主要是【算法】——蓝桥杯练习题&#xff08;八&#xff09;的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 …

Java重修第五天—面向对象3

通过学习本篇文章可以掌握如下知识 1、多态&#xff1b; 2、抽象类&#xff1b; 3、接口。 之前已经学过了继承&#xff0c;static等基础知识&#xff0c;这篇文章我们就开始深入了解面向对象多态、抽象类和接口的学习。 多态 多态是在继承/实现情况下的一种现象&#xf…

【汇编要笑着学】汇编模块化编程 | call和ret调用指令 | jmp跳转指令 | inc自加指令

Ⅰ.汇编模块化编程 0x00 一个简单的例子 我们了解模块化编程前先给出一个例子&#xff0c;方便大家快速了解。 SECTION MBR vstart0x7c00 ; 起始地址编译在0x7c00mov ax,cs mov ds,ax mov es,axmov ss,axmov fs,axmov sp,0x7c00 ; 上面这些都没什…

camtasia studio2024免费版如何下载?怎么录屏?

camtasia studio怎么录屏&#xff1f;Camtasia Studio是一款专门录制屏幕动作的工具&#xff0c;它能在任何颜色模式下轻松地记录屏幕动作&#xff0c;包括影像、音效、鼠标移动轨迹、解说声音等等。一般情况下&#xff0c;用户使用camtasia studio进行录屏时&#xff0c;需要注…

【进程调度】基于优先级的轮转调度C++实现算法

一、简介 1.1 背景 在计算机科学领域&#xff0c;进程调度是操作系统中一个关键的组成部分&#xff0c;它负责协调系统中各个进程的执行顺序&#xff0c;以最大程度地提高系统资源利用率。在这篇博客中&#xff0c;将深入探讨基于优先级的轮转调度算法&#xff0c;该算法结合…

Vue3-customRef的使用

读取数据前&#xff0c;需要先track&#xff08;&#xff09; 告诉Vue数据msg很重要&#xff0c;你要对msg进行持续关注&#xff0c;一旦msg变化就去更新 修改数据后&#xff0c;需要trigger&#xff08;&#xff09;收尾 通知Vue一下数据msg变化了 自定义ref如何防抖 hooks中…

UniApp调试支付宝沙箱(安卓)

先看下这里完整的交互的图&#xff1a;小程序文档 - 支付宝文档中心 一、打包 不管怎样&#xff0c;先打个包先。可以直接使用云端证书、云端打包&#xff0c;只需要指定包名即可。 二、在支付宝开放平台创建应用 这个参考官方的过程就可以了&#xff0c;只要有刚才打的包&…

Fastadmin上传图片服务端压缩图片,实测13.45M压缩为29.91K

先前条件&#xff1a;第一步安装compose&#xff0c;已安装忽略。 先上截图看效果 一、在fastadmin的根目录里面输入命令安装think-image composer require topthink/think-image二、找到公共上传类&#xff0c;application/common/library/Upload.php&#xff0c;在最下面…

TensorRT(C++)基础代码解析

TensorRT(C)基础代码解析 文章目录 TensorRT(C)基础代码解析前言一、TensorRT工作流程二、C API2.1 构建阶段2.1.1 创建builder2.1.2 创建网络定义2.1.3 定义网络结构2.1.4 定义网络输入输出2.1.5 配置参数2.1.6 生成Engine2.1.7 保存为模型文件2.1.8 释放资源 2.2 运行期2.2.1…

【elastic search】详解elastic search集群

目录 1.与集群有关的一些概念 2.集群搭建 3.集群搭建 4.kibana链接集群 5.选举流程 6.请求流程 7.master的作用 1.与集群有关的一些概念 数据分片&#xff1a; 数据分片&#xff08;shard&#xff09;&#xff0c;单台服务器的存储容量是有限的&#xff0c;把一份数据…

git提交记录全部删除

目录 问题描述 解决方案 结果 问题描述 新复制的项目具有特比多的提交记录我想给他清除&#xff0c;因为不清楚过多历史也就导致包特别大下载和提交等方面都不是很快 解决方案 查看代码clone网址&#xff1b; 打开远程仓库&#xff0c;选择要去除历史记代码分支&#xff08…

低代码助力制造业数智转型,激发创新力迎接工业 4.0

随着科技的不断进步&#xff0c;我们迈入了一个崭新的工业时代——工业4.0。这场工业革命不仅颠覆了制造业的传统形象&#xff0c;还为全球生产方式带来了前所未有的变革。 在这一过程中&#xff0c;制造业数字化转型逐渐成为主旋律&#xff0c;而低代码技术在这其中发挥着重要…