张量基础学习(四 张量代数运算——下)
欢迎大家来到这一期张量分析的相关博客学习,本期继续接着上期博客后面深入理解张量的缩并,内积,双点积等等,先赞后看,养成习惯!
Tensors learning
- 一 . 张量的缩并
- 二 . 张量的内积 双点积
- (1)内积与点积
- (2)双点积
- 三 .特殊张量
- 四. 张量的主轴 主值和主分量
一 . 张量的缩并
这又是张量所特有的一个代数运算,对 nnn 阶张量进行缩并,其实就是对其中两两相同的指标按求和约定求和(不知道大家是否还记得爱因斯坦求和指标).
我们先来看一看定义:
二阶张量缩并是标量。注意低于二阶的张量不能进行缩并过程!
三阶三维 IijkI_{ijk}Iijk 的缩并,将第一指标与第三指标缩并。即i=ki=ki=k,如上图所示,三阶变成了一阶!
结合我们之前学的爱因斯坦求和约定,从某种意义上来说,新张量每缩并一次就有两个基矢量参与,而阶数要降两阶的原因是两个自由指标化为一对哑指标!
这里有一张图片希望对大家的理解有帮助:
图片对于初学者来说比那些冗杂的数学公式更友好o(´^`)o~~ ,其实,矩阵的相乘也就是一个缩并的过程,具体到后面再介绍!
还有一点需要注意的就是:若在张量中取不同基矢量的积,那么缩并产生的结果是不同的!
因此 R≠S\boldsymbol{R} \neq \boldsymbol{S}R=S,我们在这里只是大概的理解一下张量的这些概念,主流认识,真正张量分析的纯数学运算和完整的证明 需要了解协变基矢量,逆变基矢量,对偶空间,指标的升降等等,如果想做纯数学推导的同学给大家一个传送门,这是一个系列,包含各种完整的证明推导!
二 . 张量的内积 双点积
(1)内积与点积
张量的内积:两个张量T,S\boldsymbol{T} , \boldsymbol{S}T,S 先并乘后缩并的运算叫做张量的内积(和下面的点积要分开), 和缩并一样,对于内积运算应说明将张量T\boldsymbol{T}T 的哪一个基矢量与张量 S\boldsymbol{S}S 中的哪一个基矢量相点积!
若两个张量点积后得到一个新的张量 U\boldsymbol{U}U,且T\boldsymbol{T}T 是 mmm 阶张量,S\boldsymbol{S}S 是 nnn 阶张量 ,那么 U\boldsymbol{U}U的阶数是 m+n−2m+n-2m+n−2.
还记得我们在线代中学过的内积是个确定的值,那是因为当时的矢量是一阶张量,1+1-2=0 , 恰好为标量~~
for example:A=Aijkeiejek,B=Blmelem\boldsymbol{A}=A_{i j k} \boldsymbol{e}_{i} \boldsymbol{e}_{j} \boldsymbol{e}_{k},\boldsymbol{B}=B_{lm} \boldsymbol{e}_{l} \boldsymbol{e}_{m}A=Aijkeiejek,B=Blmelem,则二者内积为:
同样,基于缩并,选择不同的基矢量进行点积得到的张量的点积结果是不同的!
那么什么是点积呢,其实二者也可以算是一种包含关系吧,其定义为前张量A\boldsymbol{A}A 的最后基矢量与后张量 B\boldsymbol{B}B 的第一基矢量缩并的结果:
一定要注意这两个“积”的区别,不单基矢缩并的位置不同 ,最后的结果也是不同的(过程决定结果)!
(2)双点积
刚才理解过张量的点积,那么什么是双点积,这个“双”字体现在哪里呢?
其实,张量的双点积就是 T,S\boldsymbol{T} , \boldsymbol{S}T,S 并乘后进行两次缩并,它有两种表达形式:
并联式:
串联式:
这个二者的区别我们从公式中的彩色下标也能 清晰的看到。
那么二者是否能相互转化,什么特殊的地方?我们用二阶张量矩阵来帮助大家理解一下:
还有一个性质就是:二阶张量的迹等于该矩阵与单位矩阵 III 进行双点积之后得到结果:
trS=S:I=S⋅⋅I\operatorname{tr} \mathbf{S}=\mathbf{S}: \mathbf{I}=\mathbf{S} \cdot \cdot \mathbf{I}trS=S:I=S⋅⋅I
三 .特殊张量
下面我们介绍几种特殊的张量,说是特殊,其实类比到线代学习中的矩阵是非常好理解的!
(1)零张量:
张量中的每个元素都为0,即 Tij=0,Tij′=0T_{i j}=0, \quad T_{i j}^{\prime}=0Tij=0,Tij′=0。
(1)单位张量:
可以类比到单位矩阵:I=δijeiej=e1e1+e2e2+e3e3\boldsymbol{I}=\delta_{i j} \boldsymbol{e}_{i} \boldsymbol{e}_{j}=\boldsymbol{e}_{1} \boldsymbol{e}_{1}+\boldsymbol{e}_{2} \boldsymbol{e}_{2}+\boldsymbol{e}_{3} \boldsymbol{e}_{3}I=δijeiej=e1e1+e2e2+e3e3
并且 Iij=δijIij′=δijI_{i j}=\delta_{i j} \quad \quad I_{i j}^{\prime}=\delta_{i j}Iij=δijIij′=δij,所以单位张量和任意张量的点积就是其本身!
(2)转置张量:
对于二阶张量矩阵来说,转置只需要将分量指标交换一下,基矢量顺序保持不变即可:
高阶张量理论上来说也是可以进行 转置 操作的,可能会有点麻烦,但是图是最好的语言:
随着维数的增加,转置的结果肯定也是不止一种,上图是三维张量的转置结果,通常情况下,我们应当是不需要求高阶张量转置结果的,因为分解之后更利于我们详细的分析!
(3)对称与反对称张量:
这个就更简单了,从对称矩阵的角度来看,根据X∈RI1×I2⋯In\mathcal{X} \in \mathbb{R}^{I_{1} \times I_{2} \cdots I_{n}}X∈RI1×I2⋯In中I1=I2=⋯=InI_{1} = I_{2}= \cdots =I_{n}I1=I2=⋯=In 为界分为两部分,若这两部分中的元素相等,关于这一界限对称,就称为对称张量,如果对称的两部分元素相反,那么就称其为:反对称张量。
还要注意反对称张量主对角线上元素都为0;
四. 张量的主轴 主值和主分量
有一个二阶张量 T\boldsymbol{T}T 与一个矢量b\boldsymbol{b}b 点积之后得到一个新矢量b′\boldsymbol{{b}'}b′ ,假设它是由原矢量 b\boldsymbol{b}b 进行放大(或缩小)并进行旋转得到的,那么问题就来了,对于某个已经给定的 T\boldsymbol{T}T ,是否能找到某个方向上的矢量 b\boldsymbol{b}b ,使得 T\boldsymbol{T}T 经过点乘运算后得到的新矢量 b′\boldsymbol{{b}'}b′ 与 b\boldsymbol{b}b 同向,大小可以变化,即:
b′=T⋅b=λb\boldsymbol{{b}'} = \boldsymbol{T} \cdot \boldsymbol{b}= \lambda\boldsymbol{b}b′=T⋅b=λb
到这里,有两个知识点突然在我脑海中蹦了出来,第一个就是旋转矩阵,那是一个遥远的的梦,但我依稀记得那是我们在学量子力学时 遇到的,给大家个传送门,开头就是!除此之外第二个,上面这个式子是不是有那么一丝熟悉,是不是和我们线代中最重要的包含特征值与特征向量的特征方程有那么一点点神似啊!世界上最悲哀的事就是,梦想在眼前,可惜你却不认识她!
线性代数是我见过最美的数学,没有之一,不接受反驳 (︶.̮︶✽) !
那么这个符合要求的矢量 b\boldsymbol{b}b 的方向称为张量 A\boldsymbol{A}A 的主轴(或主方向),λ\lambdaλ 称为其主值(主分量)!马上就解它!
下面我们来解一下,简单处理后得到:(Tij−λδij)bj=0(i=1,2,3)\left(T_{i j}-\lambda \delta_{i j}\right) b_{j}=0 \quad(i=1,2,3)(Tij−λδij)bj=0(i=1,2,3)
其实这就是解齐次线性方程组(不赘述了),计算整理之后得到:
λ3−I1λ2+I2λ−I3=0\lambda^{3}-I_{1} \lambda^{2}+I_{2} \lambda-I_{3}=0λ3−I1λ2+I2λ−I3=0
其中:
I1=T11+T22+T33=TiiI_{1}=T_{11}+T_{22}+T_{33}=T_{i i}I1=T11+T22+T33=Tii (迹)
I2=∣T22T23T32T33∣+∣T11T13T31T33∣+∣T11T12T21T22∣=12(TiiTjj−TijTji)I_{2}=\left|\begin{array}{ll}T_{22} & T_{23} \\ T_{32} & T_{33}\end{array}\right|+\left|\begin{array}{ll}T_{11} & T_{13} \\ T_{31} & T_{33}\end{array}\right|+\left|\begin{array}{ll}T_{11} & T_{12} \\ T_{21} & T_{22}\end{array}\right|=\frac{1}{2}\left(T_{i i} T_{j j}-T_{i j} T_{j i}\right)I2=∣∣∣∣T22T32T23T33∣∣∣∣+∣∣∣∣T11T31T13T33∣∣∣∣+∣∣∣∣T11T21T12T22∣∣∣∣=21(TiiTjj−TijTji) (二阶主子式之和)
I3=∣T11T12T13T21T22T23T31T32T33∣=eijkT1iT2jT3kI_{3}=\left|\begin{array}{lll}T_{11} & T_{12} & T_{13} \\ T_{21} & T_{22} & T_{23} \\ T_{31} & T_{32} & T_{33}\end{array}\right|=e_{i j k} T_{1 i} T_{2 j} T_{3 k}I3=∣∣∣∣∣∣T11T21T31T12T22T32T13T23T33∣∣∣∣∣∣=eijkT1iT2jT3k (行列式本身)
将这三者代回上述式子中得到三个 λ\lambdaλ 的值就成为 张量 T\boldsymbol{T}T 的主分量!
回过头来,有几点结论需要混个眼熟:
- 本等式的成立不受坐标系的影响。
- 若主分量值λ1,λ2,λ3\lambda_{1},\lambda_{2},\lambda_{3}λ1,λ2,λ3 互不相同,则b1,b2,b3\boldsymbol{b_{1}},\boldsymbol{b_{2}},\boldsymbol{b_{3}}b1,b2,b3 相互正交!
- 如果λ\lambdaλ 解出来是二重根,例如λ1=λ2\lambda_{1}=\lambda_{2}λ1=λ2,则垂直于 b3\boldsymbol{b_{3}}b3 的任何方向都可以是 主方向 。
- 如果三个根都重了,那么任何方向都可作为主方向,我们从 b\boldsymbol{b}b 三者中随机选一个就行了!
张量基础学习(四 张量代数运算——下)相关推荐
- 张量基础学习(二 . 坐标变换,分量转化规律与张量方程 )
欢迎来到张量基础学习的第二弹,本次将持续深入学习相关知识,觉着本人写的对您多少有帮助的麻烦点点关注,养成先赞再看的好习惯! Tensors learning 一 . 坐标与坐标转换 二. 张量分量转换 ...
- 大数据基础学习三:Ubuntu下安装VMware Tools超详细步骤及需要注意的问题(以ubuntu-18.04.3、Mware Workstation 15.1.0 Pro为例)
大数据基础学习三:Ubuntu下安装VMware Tools超详细步骤及需要注意的问题 (以ubuntu-18.04.3.Mware Workstation 15.1.0 Pro for Window ...
- 张量基础学习 (三 张量代数运算———上)
经过前面几期博客的学习,我们初步认识了张量的基本概念,一些重要的符号与指标,坐标的变换规律和相应的张量的分量转化规律之后,接下里,将持续学习张量的各种运算法则与规律! 本人励志做最详细的博客撰写,所以 ...
- 张量基础学习(一 概念,求和指标,符号)
欢迎大家来到我的这一个新专栏,本专栏我们将一起学习并探讨一些张量方面的知识,同样,需要一定的线性代数的基础知识铺垫,但肯定是没有量子计算那么深入和复杂,有需要的小伙伴可以点点关注,您的鼓励是我前进的最 ...
- JavaSE基础学习(四)—Java核心类库(下)
目录 思维导图快速预览全文内容 一.异常机制(重点) 1.基本概念 2.异常分类 3.异常的避免 4.异常的捕获 5.异常的抛出 6.自定义异常 二.File类(重点) 1. 基本概念 2.常用方法 ...
- Python基础学习(第二节 下)
这里写目录标题 1.布尔值的相关运算符 (1)布尔值 (2)比较运算符 (3)逻辑运算符 (4)同一运算符 2.字符串 (1)字符串的基本特点 (2)字符串的创建和len( )函数 (3)转义字符 ( ...
- 程序开发基础学习四(boost::signal2 函数学习)
在游戏编程中,新的策划需求总是在迭代不停......,对于游戏程序员肯定深有感触吧,遇到这种情况咱只能小小的抱怨下,活还得干.尤其是遇到耦合到很多类的时候,要是直接实现不加抽象的话,那咱的代码就要被拆 ...
- Linux基础学习四:Linux常用的命令(非常详细)
常用的命令 文档帮助命令 help 用法: 命令 --help 示例: dhclient --help man 用法: man 命令 示例:man dhclient空格:下一页b:上一页q:退出 ...
- Redis基础学习(四)—Redis的持久化
一.概述 Redis的强大性能很大程度上都是因为数据时存在内存中的,然而当Redis重启时,所有存储在内存中的数据将会丢失,所以我们要将内存中的数据持久化. Redis支持两种数据持久化的方式: RD ...
- pytorch基础学习(四) 数据处理(一)
1. tensor的attributes tensor有以下几个常用的attributes,首先看一段代码: import torch t = torch.Tensor() print(type(t) ...
最新文章
- 如何衡量机器与人类的智能关系,AI智商评测标准专家研讨会邀请
- sap运维要做哪些工作_社会工作师可以做哪些工作?考试难不难?
- Ubuntu15.04 网站服务器环境搭建,php/html/css等学习环境搭建教程
- Android数据适配器Adapter简介
- java allocate_Java中volatile关键字的最全总结
- 【渝粤教育】电大中专新媒体营销实务 (6)作业 题库
- 循环队列及C语言实现三
- p50会搭载鸿蒙吗,华为Mate40和华为P50也会搭载鸿蒙,华为Mate30跌至白菜价让路
- mysql带参数的sql_MySql存储过程是带参数的存储过程(动态执行SQL语句)
- 计算机jsp外文文献,计算机 JSP web 外文翻译 外文文献 .doc
- 华为服务器型号2285,华为服务器2285磁盘阵列设置
- springboot中的ApplicationRunner 接口
- Java学习系列(十二)Java面向对象之序列化机制及版本
- 水晶报表中图片不显示解决方案
- MySQL 聚合函数以及 优先级
- Java练习 SDUT-1294_选票统计
- 编程基础(二)——汇编
- 用ajax请求豆瓣api,结合豆瓣Api v2.0实现Jsonp跨域
- 计算机专业建设委员会会议记录,第一次专业建设工作会议纪要
- linux驱动下载中心,Kvaser Linux驱动程序| Linux驱动程序和SDK开发包
热门文章
- KITTI数据集Raw Data与Ground Truth序列00-10的对应关系,以及对应的标定参数
- matlab编写LDA,lda算法matlab实现
- java springboot房地产信息管理系统
- springboot的测试类
- 小白进阶——Mike21(二)
- 豆丁网文档免登陆免积分下载工具原理分析
- html背景透明图片不透明,html - css实现背景透明内容不透明。
- png图片背景转换成透明
- cad怎样弄出放线的坐标_不知道如何定位放线?今天教大家一个快速准确放线方法(含实例)...
- Linux环境入侵应急与排查