张量基础2(张量乘法和对称)
张量乘法和超对称
- 张量乘法
- 张量内积
- 张量乘以矩阵
- 张量克罗内克积(KronerckerproductKronercker productKronerckerproduct)
- 张量HadamardHadamardHadamard积
- Khatri−RaoKhatri-RaoKhatri−Rao积
- (超)对称和(超)对角
通过线性代数的学习,我们知道,与矩阵相关的乘法又两种,其一是矩阵与矩阵相乘,其二是数与矩阵进行数乘。张量的相关乘法规则与矩阵的乘法规则基本类似。
张量乘法
张量内积
定义:张量内积——同样大小的张量相乘即张量的内积,将对应元素相乘再相加
列:计算下列两个张量的内积(注,这里是向里面的两层,是个立体的结构)
解:<A,B>=a1b1+a2b2+a3b3+a4b4+a5b5+a6b6+a7b7+a8b8<A,B>=a_1b_1+a_2b_2+a_3b_3+a_4b_4+a_5b_5+a_6b_6+a_7b_7+a_8b_8<A,B>=a1b1+a2b2+a3b3+a4b4+a5b5+a6b6+a7b7+a8b8
张量乘以矩阵
先将张量矩阵化,再将张量和矩阵相乘,注意不同的mode−nmode-nmode−n矩阵化会使得相乘的结果不同。
例:计算下列张量乘以矩阵的结果,其中A=(abcd)A=\left(\begin{array}{c} a & b \\ c & d \end{array}\right)A=(acbd)
首先对张量进行mode−1mode-1mode−1方向的矩阵化:
T(1)=(12563478)T_{(1)}=\left(\begin{array}{c}1 & 2 & 5 & 6 \\ 3 & 4 & 7 & 8\end{array}\right) T(1)=(13245768)
再进行矩阵相乘得:
P=T×A∼P(1)=AT(1)=(abcd)(12563478)=(a+3b2a+4b5a+7b6a+8bc+3d2c+4d5c+7d6c+8d)P=T\times A\thicksim P_{(1)}=AT_{(1)}=\left(\begin{array}{c} a & b \\ c & d \end{array}\right)\left(\begin{array}{c}1 & 2 & 5 & 6 \\ 3 & 4 & 7 & 8\end{array}\right)\\=\left(\begin{array}{c}a+3b & 2a+4b & 5a+7b & 6a+8b \\ c+3d & 2c+4d & 5c+7d & 6c+8d\end{array}\right) P=T×A∼P(1)=AT(1)=(acbd)(13245768)=(a+3bc+3d2a+4b2c+4d5a+7b5c+7d6a+8b6c+8d)
按矩阵化方法还原新张量:
张量克罗内克积(KronerckerproductKronercker productKronerckerproduct)
定义:克罗内克积——对于给定一个大小为n1×n1n_1\times n_1n1×n1的矩阵BBB和一个大小为m1×m1m_1\times m_1m1×m1的矩阵AAA,则矩阵AAA和矩阵BBB的克罗内克积为:
当张量的阶数不再限制为二阶的时候,此时的kroneckerkroneckerkronecker积久转变为张量积,且计算规律不变!
符号为⊗,kronecker\otimes,kronecker⊗,kronecker积在张量计算中很常见,作为张量积的一种特殊形式,它是衔接矩阵计算和张量计算的桥梁,由于第一个矩阵中每一个元素都数乘第二个矩阵,所以新矩阵的大小为m1n1×m2n2m_1n_1\times m_2n_2m1n1×m2n2。
例:给定矩阵A=(1234),B=(5678910)A=\left(\begin{array}{c}1 & 2 \\ 3 & 4\end{array}\right),B=\left(\begin{array}{c}5 & 6 & 7 \\ 8 & 9 & 10\end{array}\right)A=(1324),B=(5869710),计算二者的克罗内克积
解:
A⊗B=[1×[5678910]2×[5678910]3×[5678910]4×[5678910]]=[5671012148910161820151821202428242730323640]A\otimes B=\left[\begin{array}{c}1\times\left[\begin{array}{c}5 & 6 & 7 \\ 8 & 9 & 10\end{array}\right] & 2\times\left[\begin{array}{c}5 & 6 & 7 \\ 8 & 9 & 10\end{array}\right]\\ 3\times\left[\begin{array}{c}5 & 6 & 7 \\ 8 & 9 & 10\end{array}\right]&4\times\left[\begin{array}{c}5 & 6 & 7 \\ 8 & 9 & 10\end{array}\right]\end{array}\right]\\=\left[\begin{array}{c}5 & 6 & 7 & 10 & 12 & 14 \\ 8 & 9 & 10 & 16 & 18 & 20 \\ 15 & 18 & 21 & 20 & 24 & 28 \\ 24 & 27 & 30 & 32 & 36 & 40 \end{array}\right] A⊗B=⎣⎢⎢⎡1×[5869710]3×[5869710]2×[5869710]4×[5869710]⎦⎥⎥⎤=⎣⎢⎢⎡5815246918277102130101620321218243614202840⎦⎥⎥⎤
张量HadamardHadamardHadamard积
定义:HadamardHadamardHadamard积——两个同型矩阵A∈RI×J,B∈RI×J,HadamardA\in R^{I\times J},B\in R^{I\times J},HadamardA∈RI×J,B∈RI×J,Hadamard积运算法则如下:
注:HadamardHadamardHadamard积只限于二阶张量即矩阵的运算,必须是同型矩阵,与传统矩阵相乘不同!
Khatri−RaoKhatri-RaoKhatri−Rao积
定义:Khatri−RaoKhatri-RaoKhatri−Rao积——给定大小为I×JI\times JI×J的矩阵A=(a1⃗,a2⃗,…,ak⃗)A=(\vec{a_1},\vec{a_2},\dots,\vec{a_k})A=(a1,a2,…,ak)和大小为J×KJ\times KJ×K的矩阵B=(b1⃗,b2⃗,…,bk⃗)B=(\vec{b_1},\vec{b_2},\dots,\vec{b_k})B=(b1,b2,…,bk),则矩阵AAA和矩阵BBB的Khatri−RaoKhatri-RaoKhatri−Rao积为:
A⊙B=(a1⃗⊗b1⃗,a2⃗⊗b2⃗,…,ak⃗⊗bk⃗)A\odot B=(\vec{a_1}\otimes\vec{b_1},\vec{a_2}\otimes\vec{b_2},\dots,\vec{a_k}\otimes\vec{b_k}) A⊙B=(a1⊗b1,a2⊗b2,…,ak⊗bk)
注:Khatri−RaoKhatri-RaoKhatri−Rao积符号位⊙\odot⊙,⊗\otimes⊗是张量积的符号,该乘积法则也是针对于矩阵而言,但对矩阵大小并无要求,且不满足交换律!
例:对于矩阵A=[1234]=(a1⃗,a2⃗),B=[5678910]=(b1⃗,b2⃗)A=\left[\begin{array}{c}1 & 2 \\ 3 & 4\end{array}\right]=(\vec{a_1},\vec{a_2}),B=\left[\begin{array}{c}5 & 6 \\ 7 & 8 \\ 9 & 10\end{array}\right]=(\vec{b_1},\vec{b_2})A=[1324]=(a1,a2),B=⎣⎡5796810⎦⎤=(b1,b2),求二者的Khatri−RaoKhatri-RaoKhatri−Rao积
解:
A⊙B=(a1⃗⊗b1⃗,a2⃗⊗b2⃗)=[[13]⊗[579][24]⊗[6810]]=[512716920152421322740]A\odot B=(\vec{a_1}\otimes\vec{b_1},\vec{a_2}\otimes\vec{b_2})=\left[\begin{array}{c}\left[\begin{array}{c}1 \\ 3 \end{array}\right]\otimes\left[\begin{array}{c}5 \\ 7 \\ 9 \end{array}\right] & \left[\begin{array}{c}2 \\ 4\end{array}\right]\otimes\left[\begin{array}{c}6 \\ 8 \\ 10 \end{array}\right]\end{array}\right] \\ =\left[\begin{array}{c}5 & 12 \\ 7 & 16 \\ 9 & 20 \\ 15 & 24 \\ 21 & 32 \\ 27 & 40 \end{array}\right] A⊙B=(a1⊗b1,a2⊗b2)=⎣⎡[13]⊗⎣⎡579⎦⎤[24]⊗⎣⎡6810⎦⎤⎦⎤=⎣⎢⎢⎢⎢⎢⎢⎡579152127121620243240⎦⎥⎥⎥⎥⎥⎥⎤
(超)对称和(超)对角
定义:立方张量——其各个modemodemode的长度相等的张量称为立方张量
对称: 一个立方张量是对称的,如果其元素在下标的任意排列下是常数。如果xijk=xikj=xjik=xjki=xkij=xkji,∀i,j,kx_{ijk}=x_{ikj}=x_{jik}=x_{jki}=x_{kij}=x_{kji},\forall i,j,kxijk=xikj=xjik=xjki=xkij=xkji,∀i,j,k,那么这个三阶立方张量是超对称的
对角: 仅当i1=i2=⋯=iNi_1=i_2=\cdots=i_Ni1=i2=⋯=iN时,其(超)对角线如下图:
张量基础2(张量乘法和对称)相关推荐
- 一文读懂PyTorch张量基础(附代码)
作者:Matthew Mayo, KDnuggets 翻译:和中华 校对:丁楠雅 本文约1000字,建议阅读5分钟. 本文介绍了PyTorch Tensor最基础的知识以及如何跟Numpy的ndarr ...
- 张量基础学习(二 . 坐标变换,分量转化规律与张量方程 )
欢迎来到张量基础学习的第二弹,本次将持续深入学习相关知识,觉着本人写的对您多少有帮助的麻烦点点关注,养成先赞再看的好习惯! Tensors learning 一 . 坐标与坐标转换 二. 张量分量转换 ...
- 张量(一):张量基础
从今天开始,笔者将会持续更新关于张量的相关知识和最新研究成果.我们这里所说的张量知识主要是关于张量低秩分解,张量补全等算法和应用.在如今神经网络大火的年代,张量补全等算法无疑为预测.去噪等问题提供了新 ...
- 向量、矩阵、张量基础知识
前言 学习并且做这篇笔记目的:学习张量,初步了解张量分解(tensor decomposition)领域. 那么什么是张量分解呢?研究它具体的应用是什么? 为了便于理解,我们先从矩阵分解讲起. 我们知 ...
- 张量基础学习(一 概念,求和指标,符号)
欢迎大家来到我的这一个新专栏,本专栏我们将一起学习并探讨一些张量方面的知识,同样,需要一定的线性代数的基础知识铺垫,但肯定是没有量子计算那么深入和复杂,有需要的小伙伴可以点点关注,您的鼓励是我前进的最 ...
- 张量基础学习 (三 张量代数运算———上)
经过前面几期博客的学习,我们初步认识了张量的基本概念,一些重要的符号与指标,坐标的变换规律和相应的张量的分量转化规律之后,接下里,将持续学习张量的各种运算法则与规律! 本人励志做最详细的博客撰写,所以 ...
- pytorch 张量基础
张量是一种特殊的数据结构,与数组和矩阵非常相似.在 PyTorch 中,我们使用张量对模型的输入和输出以及模型的参数进行编码. 张量类似于NumPy 的ndarray,除了张量可以在 GPU 或其他硬 ...
- 张量分解学习(一 基础铺垫)
在经过痛并快乐着的 张量基础学习之后 之后 ,我们终于可以在慢慢科研路之张量篇上再进一步了,好事多磨,万事都是开头难,不过前面的基础打好了,概念清晰了,后面自然就水道渠成了,废话不多说,上才艺! Te ...
- 张量网络算法基础(一、张量和线性代数基础)
张量和线性代数基础 一.张量基础 1. 张量的定义 2. 张量的基本操作和运算 二.线性代数基础 1. 本征值分解与最大本征值问题 本征值分解 最大本征值问题 最大本征值问题的幂级数求解法 2. 奇异 ...
最新文章
- java内部类 缺点_Java中的内部类及其优势
- 回顾与展望:大热的AutoML究竟是什么? | 技术头条
- 中科大 计算机网络10 第一章总结和习题
- BZOJ 1305 二分+网络流
- Ubuntu安装Beyond Compare(crack)
- Ubuntu镜像源下载
- 解决相片上传主键唯一性问题,java 上传相片到服务器的时候,相片保存主键用guid。...
- 计算机专业毕业了,还要不要参加培训班
- [vm] vm安装xp :non-bootable disk 80 解决办法
- 链接形式的客服代码 QQ客服代码
- LTE CQI优化提升方法
- 小学教师计算机校本培训材料,教师业务学习材料及校本培训材料
- 基于CAN总线的汽车诊断协议--Windows上位机设计
- 微信视频号发布69条直播违规条例
- python 抽奖器_如何基于python实现年会抽奖工具
- java 关键字6,【JAVA SE基础篇】6.开始前的一些规定以及关键字
- 丑数 uva-136 丑数
- 移动硬盘变为RAW格式后的修复
- 微信小程序在 wxml 文件中使用 Array.includes 方法
- 医疗实施-MDM主数据管理基本介绍
热门文章
- 内部DNS服务器搭建
- 毕业论文-----有关目录的全部问题
- 计算机械产量定额,机械台班产量定额的计算方式
- esxi6.5磁盘格式转换
- CodeForces 133 A.HQ9+(水~)
- 第一次找工作/实习前需要准备的东西(互联网行业)
- Excel VBA(04)数组和字典
- win10+VS2017+WDK环境下编译C++程序提示error LNK1104无法打开文件*.lib(mfc140ud.lib)的问题
- android 打造炫酷导航栏(仿UC头条)
- C语言简单递归实现字符串逆序输出