当前位置: 首页 > news >正文

6.Tensors For Beginners-What are Convector

Covectors (协向量)

What‘s  a  covector

Covectors are “basically” Row Vectors

在一定程度上,可认为 协向量  基本上就像 行向量。

不能简单地认为 这就是列向量进行转置!

行向量 和 列向量 是根本不同类型的对象。

处理正交基时,将列向量转置成行向量的做法是正确的,但在其他坐标系中不是这样

要理解这个,需将 行向量视为函数,

因此,可将行向量 视为 列向量上的函数,row vectors  are functions on (column) vectors

eg:y=f(x) x就是输入

行向量 [ 2,1 ]是函数,列向量 [ -3 ;  4 ]是函数的输入,

要得到函数的输出值,只需对该行向量和列向量进行矩阵乘法 或“点积”

现如果,有 任意通用的协向量α 作用于 任意通用向量v上,
则可通过两向量的点积来获取输出值,

因此,最终我们应将 行向量 视为 【从某个向量空间V 中 获取输入并返回实数或“标量”】的函数

这些行向量函数是如何工作的?

        假设一行向量 作用于两个相加的向量输入上,可通过两种方式求,

(1.分配律--我认为就是分配律的体现)
将行向量分配给每个输入,然后将结果相加,输出

(2.结合律--个人理解)
将输入相加,再进行点积 

所以行向量作为函数 在这里有个属性:可以在之前添加输入;或在之后添加输出。会得到相同的结果

还有一个想法是:

若向量输入按某个数字进行缩放会怎样

同样有两种方法计算

1.可缩放输入向量,再进行点积

2.把缩放数 提到最前面,再计算行向量与列向量的点积,最后再缩放结果,

因此,作为函数的行向量具有这个属性:可缩放输入,或缩放输出,并得到相同的结果。

总而言之, 协向量是一个 函数,它接受一个向量并产生一个“标量”(或一个数字);它具有可添加输入或添加输出以获得相同答案的属性;并且它具有可按相同数量缩放输入或缩放输出并得到相同答案的属性。

这种能添加或缩放 输入或输出 并获得相同答案的行为 称为 “线性“。所以协向量是线性函数。

如何可视化协向量?

我们可以将普通向量可视化为箭头,我们可以对协向量做同样的事情,但对于可视化函数来说,这是件尴尬的事。

有一种更好的办法可视化协向量

首先将2D行向量视为两个变量x、y的函数,(x、y是输入)
在这个例子中,这个行向量 [ 2 , 1 ] 就可认为是一个函数:v,如何可视化  用两个变量产生一个输出 的函数 呢?

这与地形图有些相似,地形图上,同一海拔高度的都用一条线连起来。
同样地,我们给这个函数一个输出,就有一条线,
如  2x+1y = 0 确定一条线;
2x+1y = 1 确定一条线;
2x+1y = 2 确定一条线;
2x+1y = -1 确定一条线;
2x+1y = -2 确定一条线;

所以我们可将协向量【2,1】视为 一堆的直线:

注意到,这些线 向右上角增加,可添加箭头提示增加的方向。

将行向量α=【2,1】绘制在图上的话,会发现 α 垂直于 所有的直线。

为什么会垂直?把【2,1】用【a,b】去进行证明,一个方向是 这些直线的方向相同,方向向量相同,用方向向量与α进行点乘; 另一个方向是 斜率,直线的斜率都一样(-a/b),α行向量作为直线的话,斜率是b/a,也可证明

所以我们可将协向量【2,1】视为 一堆的直线,而且这非常有用。

例子:
在这四个图中,协向量α相同,可视化为一堆线
在该协向量上, 有向量V指向不同的方向,


需要做的是,计算作用在向量V上的协向量α的数值,

记住:这一堆线中的每一条线都是代表一常量值的线,

因此,要获得作用在V上的α的值,需要做的是 计算V穿透的线的个数。

PS:这样计算真的好简单,但是对于编写成代码来计算的话,好像很难把,想不出头绪,能自己画出图,这样是最直观,但画图也不容易。

接着,修改协向量,获得新的协向量来进行计算

把协向量放大两倍

把协向量放大两倍,其实就是从 α 变为 2α , 如果你从式子上看的话, 能直接想到应该是结果放大两倍, 那么对应的输出结果应该放大两倍,  那对应图上,就是穿透的线要翻倍,则图要变密集,比原来密集一倍。
从 【a,b】*【x;y】上理解,ax+by函数,变为【2a,2b】*【x;y】= 2ax + 2by、

ax+by = k---------y = -ax/b + k/b;
2ax+2by= k-------y= -ax/b + k/2b;  只是截距变啦,斜率没变,  所以截距影响线 的间距?

以上就是缩放协向量;

接着便是把协向量进行相加的情况,

β、γ两个协向量进行相加,如何画出β+γ的线?----------结果 在 β方向上与β具有相同的密度,在γ方向上与γ具有相同的密度。

观察相加后的新协向量,V在β方向上的分量 同之前一样,穿透三根线,V在γ方向上的分量 同之前一样,穿透两根线。

从某种意义上说,β的水平密度为3,垂直密度为0;而γ的水平密度为0,垂直密度为2
而β+γ ,就是将两者结合在一起,水平密度:3+0=3;垂直密度:0+2 =2

而V在β+γ这个协向量上穿透5根线,其实就是原来的:V在β上穿透3根,在γ上穿透2根,加起来就是5根。,

其实从式子上理解的话,是非常容易理解的。

以上就证明,协向量具有合理的缩放和添加规则,

作用于向量V的所有covector 的集合形成一个新的向量空间,称为”对偶空间“,用 ” V* “表示,
有一组不同的添加规则,称为”red+“ ---- ” +
有一组不同的缩放规则,称为”red·“------” ·

用不同颜色来表示这些规则的原因是 因为它们实际上是不同的规则,
黑色规则用于添加和缩放向量,就是用箭头表示的矢量所作规则;
红色规则用于添加和缩放协向量,像上面的例子那般,

V* 中的元素就是协向量,它们是 从V到实数的函数,

总结。协向量是从向量到实数的函数 , 这些函数具有可以添加和缩放输入 或 添加和缩放输出 以获得相同答案的属性。这就是所谓的”线性“,所以这些是线性函数。

作用在向量空间 V 上的所有协向量的集合形成 向量空间V*,这些协向量有自己的加法和缩放规则,可将协向量视为 一簇线,

+

相关文章:

6.Tensors For Beginners-What are Convector

Covectors (协向量) What‘s a covector Covectors are “basically” Row Vectors 在一定程度上,可认为 协向量 基本上就像 行向量。 但不能简单地认为 这就是列向量进行转置! 行向量 和 列向量 是根本不同类型的对象。 …...

Linux多线程网络通信

思路:主线程(只有一个)建立连接,就创建子线程。子线程开始通信。 共享资源:全局数据区,堆区,内核区描述符。 线程同步不同步需要取决于线程对共享资源区的数据的操作,如果是只读就不…...

矩阵的c++实现(2)

上一次我们了解了矩阵的运算和如何使用矩阵解决斐波那契数列&#xff0c;这一次我们多看看例题&#xff0c;了解什么情况下用矩阵比较合适。 先看例题 1.洛谷P1939 【模板】矩阵加速&#xff08;数列&#xff09; 模板题应该很简单。 补&#xff1a;1<n<10^9 10^9肯定…...

RPC 框架之Thrift入门(一)

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…...

【C++】运算符重载 ⑥ ( 一元运算符重载 | 后置运算符重载 | 前置运算符重载 与 后置运算符重载 的区别 | 后置运算符重载添加 int 占位参数 )

文章目录 一、后置运算符重载1、前置运算符重载 与 后置运算符重载 的区别2、后置运算符重载添加 int 占位参数 上 2 2 2 篇博客 【C】运算符重载 ④ ( 一元运算符重载 | 使用 全局函数 实现 前置 自增运算符重载 | 使用 全局函数 实现 前置 - - 自减运算符重载 )【C】运算符…...

538. 把二叉搜索树转换为累加树

题目描述 给出二叉 搜索 树的根节点&#xff0c;该树的节点值各不相同&#xff0c;请你将其转换为累加树&#xff08;Greater Sum Tree&#xff09;&#xff0c;使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下&#xff0c;二叉搜索树满足下列约束…...

java8日期时间工具类

【README】 1&#xff09;本文总结了java8中日期时间常用工具方法&#xff1b;包括&#xff1a; 日期时间对象格式化为字符串&#xff1b;日期时间字符串解析为日期时间对象&#xff1b;日期时间对象转换&#xff1b; 转换过程中&#xff0c;需要注意的是&#xff1a; Instan…...

算法-动态规划/trie树-单词拆分

算法-动态规划/trie树-单词拆分 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/word-break/description/?envTypestudy-plan-v2&envIdtop-interview-150 1.2 题目描述 2 动态规划 2.1 解题思路 dp[i]表示[0, i)字符串可否构建那么dp[i]可构建的条件是&…...

React框架核心原理

一、整体架构 三大核心库与对应的组件 history -> react-router -> react-router-dom react-router 可视为react-router-dom 的核心&#xff0c;里面封装了<Router>&#xff0c;<Route>&#xff0c;<Switch>等核心组件,实现了从路由的改变到组件的更新…...

python-pytorch 利用pytorch对堆叠自编码器进行训练和验证

利用pytorch对堆叠自编码器进行训练和验证 一、数据生成二、定义自编码器模型三、训练函数四、训练堆叠自编码器五、将已训练的自编码器级联六、微调整个堆叠自编码器 一、数据生成 随机生成一些数据来模拟训练和验证数据集&#xff1a; import torch# 随机生成数据 n_sample…...

制作 3 档可调灯程序编写

PWM 0~255 可以将数据映射到0 75 150 225 尽可能均匀电压间隔...

源码分享-M3U8数据流ts的AES-128解密并合并---GoLang实现

之前使用C语言实现了一次&#xff0c;见M3U8数据流ts的AES-128解密并合并。 学习了Go语言后&#xff0c;又用Go重新实现了一遍。源码如下&#xff0c;无第三方库依赖。 package mainimport ("crypto/aes""crypto/cipher""encoding/binary"&quo…...

CSDN Q: “这段代码算是在STC89C52RC51单片机上完成PWM呼吸灯了吗?“

这是 CSDN上的一个问题 这段代码算是在STC89C52RC51单片机上完成PWM呼吸灯了吗&#xff0c;还是说得用上定时器和中断函数#include <regx52.h> 我个人认为: 效果上来说, 是的! 码以 以Time / 100-Time 调 Duty, 而 for i loop成 Period, 加上延时, 实现了 PWM周期, 虽然…...

Linux系统编程系列之线程池

Linux系统编程系列&#xff08;16篇管饱&#xff0c;吃货都投降了&#xff01;&#xff09; 1、Linux系统编程系列之进程基础 2、Linux系统编程系列之进程间通信(IPC)-信号 3、Linux系统编程系列之进程间通信(IPC)-管道 4、Linux系统编程系列之进程间通信-IPC对象 5、Linux系统…...

Linux CentOS7 vim多文件与多窗口操作

窗口是可视化的分割区域。Windows中窗口的概念与linux中基本相同。连接xshell就是在Windows中新建一个窗口。而vim打开一个文件默认创建一个窗口。同时&#xff0c;Vim打开一个文件也就会建立一个缓冲区&#xff0c;打开多个文件就会创建多个缓冲区。 本文讨论vim中打开多个文…...

SPI 通信协议

1. SPI通信 1. 什么是SPI通信协议 2. SPI的通信过程 在一开始会先把发送缓冲器的数据&#xff08;8位&#xff09;。一次性放到移位寄存器里。 移位寄存器会一位一位发送出去。但是要先放到锁存器里。然后从机来读取。从机的过程也一样。当移位寄存器的数据全部发送完。其实…...

【图像处理】使用各向异性滤波器和分割图像处理从MRI图像检测脑肿瘤(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

5个适合初学者的初级网络安全工作,网络安全就业必看

前言 网络安全涉及保护计算机系统、网络和数据免受未经授权的访问、破坏和盗窃 - 防止数字活动和数据访问的中断 - 同时也保护用户的资产和隐私。鉴于公共事业、医疗保健、金融以及联邦政府等行业的网络犯罪攻击不断升级&#xff0c;对网络专业人员的需求很高&#xff0c;这并…...

Kafka核心原理

1、Topic的分片和副本机制 分片作用&#xff1a; 解决单台节点容量有限的问题&#xff0c;节点多&#xff0c;效率提升&#xff0c;吞吐量提升。通过分片&#xff0c;将一个大的容器分解为多个小的容器&#xff0c;分布在不同的节点上&#xff0c;从而实现分布式存储。 分片…...

探秘前后端开发世界:猫头虎带你穿梭编程的繁忙街区,解锁全栈之路

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...