经过前面几期博客的学习,我们初步认识了张量的基本概念,一些重要的符号与指标,坐标的变换规律和相应的张量的分量转化规律之后,接下里,将持续学习张量的各种运算法则与规律!

本人励志做最详细的博客撰写,所以加入许多基础性的知识,既为小白的理解铺垫,也为大神的日后一鸣惊人复习奠基!所以有时候前期会有较大篇幅的铺垫只为后面的一个小知识点,还请大家莫怪!

Basic Operations of Tensor Algebra

  • 一 . 佛系张量代数
    • (1)和差,数乘,相等关系
    • (2)Polar and Axial Vectors
    • (3)Vector (Cross) Product of Two Vectors
  • 二. 几个 “积” !
    • (1)并积(总)
    • (2)KroneckerKroneckerKronecker productproductproduct
    • (3)HadamardHadamardHadamard productproductproduct
    • (4)Khatri−RaoKhatri-RaoKhatri−Rao productproductproduct

一 . 佛系张量代数

下面我们会一股脑的学习一大堆概念与运算法则,大家加油顶住!张量有很多个维度,层次的,为了新手入门理解,我们这里全部用一阶张量或者二阶张量代替高阶的!

(1)和差,数乘,相等关系

毫无疑问张量也满足一些最基本代数运算,我们在这里就一带而过了。

1) 若两个张量相等,即 T=Tijeiej\boldsymbol{T} = T_{ij}e_{i}e_{j}T=Tij​ei​ej​ 和 S=Sijeiej\boldsymbol{S} = S_{ij}e_{i}e_{j}S=Sij​ei​ej​ 相等,那么他们对应的分量 也满足Tij=SijT_{ij} = S_{ij}Tij​=Sij​
2) 两个张量相加减也就是其对应的分量相加减:新得到的张量为: Zij=Tij±SijZ_{ij} =T_{ij}\pm S_{ij}Zij​=Tij​±Sij​
3) 某个张量 A\boldsymbol{A}A 和 一个数 λ\lambdaλ 相乘之后,得到新张量的维度没有变化,且分量也进行的同样的数乘运算。
4) 高中我们就学过向量的数量级运算(这里就提一下,不多做介绍),我们一般认为它是矢量之间的“点乘” ,后来 在高数中学到了“叉乘” ,马上就会介绍!

(2)Polar and Axial Vectors

张量学习的最终目的是为物理,数学的现实科研贮备,我们先来带大家回顾一下 极轴矢量 这个老盆友,学物理的盆友们应该很熟悉,无奈我是程序员,没学过啊~~

三维欧几里得空间中的向量被定义为具有特定标量值大小和方向的有向线段。向量a的大小(长度)用∣a∣|a|∣a∣表示。两个向量a和b是相等的,如果它们有相同的方向和大小。向量 0\boldsymbol{0}0 的大小等于0。在力学中可以引入两种类型的向量:

  1. 第一类向量是有向线段。这些向量与三维空间中的平动有关。物理上的例子包括力,位移,速度,加速度,动量。
  2. 第二类用于描述旋量运动及其相关量,即旋量、力矩、角速度、角动量等,下图中显示了所谓的自旋向量a∗,它表示绕给定轴的旋转。旋转的方向由圆形箭头指定,旋转的“幅度”是对应的长度!

这其实就是我们高中物理学的各种电磁规律,右手定则等等似乎都用到了这样的图!有下面三个注意点:

  • 向量 a\boldsymbol{a}a 位于在自旋向量的轴上。
  • 向量 a\boldsymbol{a}a的大小等于 a∗\boldsymbol{a_{*}}a∗​的大小 。
  • 分别满足左手定则与右手定则!(这个相信大家一样就看出来了!!!∑(゚Д゚ノ)ノ)。

(3)Vector (Cross) Product of Two Vectors

c=a×b\boldsymbol{c} = \boldsymbol{a}\times \boldsymbol{b}c=a×b 分三步理解:

  1. 这个轴正交于在a\boldsymbol{a}a s和 b\boldsymbol{b}b上张成的平面。如图(a)
  2. 圆形箭头表示从a\boldsymbol{a}a到b\boldsymbol{b}b 的 “最短” 旋转方向!如图(b)
  3. c∗\boldsymbol{c_{*}}c∗​的长度为:∣a∣∣b∣sinφ\left |a\right | \left |b\right | sin \varphi∣a∣∣b∣sinφ ,其中φ\varphiφ 从 a\boldsymbol{a}a到b\boldsymbol{b}b 的 “最短” 旋转方向夹角!

我们都知道张量有内积,这里的我们把这个“叉乘” 又叫做外积,注意:从数学意义上来说,外积只有向量才有,不是所有的张量都有,说=到这里,你是否能依稀回忆起我们在遥远的美好的青涩的大一时用内积来求空间几何的平面法向量!

我们在前面学到的能量本征方程和后面将要学到的 量子力学中的 本征值与分离能级 也需要用到这里的知识!下面简单看一看它的运算法则:

a×b=−b×aa×(b+c)=a×b+a×c\begin{array}{l}a \times b=-b \times a \\a \times(b+c)=a \times b+a \times c\end{array}a×b=−b×aa×(b+c)=a×b+a×c​

外积和内积也可以结合起来,称为混合积 ,用a,b,c\boldsymbol{a},\boldsymbol{b},\boldsymbol{c}a,b,c 表示混合积是 (b×a)⋅c(\boldsymbol{b}\times \boldsymbol{a}) \cdot \boldsymbol{c}(b×a)⋅c,它的结果是一个标量,并且有恒等式如下:
a⋅(b×c)=b⋅(c×a)=c⋅(a×b)\boldsymbol{a} \cdot(\boldsymbol{b} \times \boldsymbol{c})=\boldsymbol{b} \cdot(\boldsymbol{c} \times \boldsymbol{a})=\boldsymbol{c} \cdot(\boldsymbol{a} \times \boldsymbol{b})a⋅(b×c)=b⋅(c×a)=c⋅(a×b)
连续两次外积运算可以转化为点乘形式:
a×(b×c)=b(a⋅c)−c(a×b)\boldsymbol{a}\times(\boldsymbol{b}\times\boldsymbol{c}) =\boldsymbol{b}(\boldsymbol{a}\cdot\boldsymbol{c})- \boldsymbol{c}(\boldsymbol{a}\times\boldsymbol{b})a×(b×c)=b(a⋅c)−c(a×b)
进一步,联立上述紫色的二式可以得到:
(a×b)⋅(c×d)=a⋅[b×(c×d)]=a⋅(cb⋅d−db⋅c)=a⋅cb⋅d−a⋅db⋅c\begin{aligned} (\boldsymbol{a} \times \boldsymbol{b}) \cdot(\boldsymbol{c} \times \boldsymbol{d}) &=\boldsymbol{a} \cdot[\boldsymbol{b} \times(\boldsymbol{c} \times \boldsymbol{d})] \\ &=\boldsymbol{a} \cdot(\boldsymbol{c} \boldsymbol{b} \cdot \boldsymbol{d}-\boldsymbol{d} \boldsymbol{b} \cdot \boldsymbol{c}) \\ &=\boldsymbol{a} \cdot \boldsymbol{c} \boldsymbol{b} \cdot \boldsymbol{d}-\boldsymbol{a} \cdot \boldsymbol{d} \boldsymbol{b} \cdot \boldsymbol{c} \end{aligned}(a×b)⋅(c×d)​=a⋅[b×(c×d)]=a⋅(cb⋅d−db⋅c)=a⋅cb⋅d−a⋅db⋅c​

二. 几个 “积” !

(1)并积(总)

两个张量A\boldsymbol{A}A 和B\boldsymbol{B}B 并积得到的A\boldsymbol{A}A是一个阶数等于A 与B 阶数之和的高阶张量!

设A=Aijkeiejek\boldsymbol{A} =A_{ijk}e_{i}e_{j}e_{k}A=Aijk​ei​ej​ek​ ,B=Blmelem\boldsymbol{B} =B_{lm}e_{l}e_{m}B=Blm​el​em​. 则幷积得到的新张量为:
T=AB=Tijklmeiejekelem\boldsymbol{T}=\boldsymbol{A} \boldsymbol{B}=T_{i j k l m} \boldsymbol{e}_{i} \boldsymbol{e}_{j} \boldsymbol{e}_{k} \boldsymbol{e}_{l} \boldsymbol{e}_{m}T=AB=Tijklm​ei​ej​ek​el​em​

我举个小例子可能会帮助大家理解:
定义中使用二阶张量与三阶张量相加,这个我们用平面的9方格代替二维张量,用二阶魔方代替三维张量,将魔方依次放到九方格中形成的如上图形就是五维张量,大概的意思就是这样!

并积还有几种特殊的情况,我们接下来再看看!

(2)KroneckerKroneckerKronecker productproductproduct

KroneckerKroneckerKronecker 积在张量计算中非常常见,是衔接矩阵计算和张量计算的桥梁,实际上,Kronecker积的运算规则是很简单的,给定一个大小为n1×n2n_{1}\times n_{2}n1​×n2​的矩阵B\boldsymbol{B}B 和一个大小为m1×m2m_{1}\times m_{2}m1​×m2​的矩阵A\boldsymbol{A}A,则矩阵A\boldsymbol{A}A 和矩阵 B\boldsymbol{B}B 的Kronecker积为:
A⊗B=[a11Ba12B⋯a1m2Ba21Ba22B⋯a2m2B⋮⋮⋱⋮am11Bam12B⋯am1m2B]A \otimes B=\left[\begin{array}{cccc} a_{11} B & a_{12} B & \cdots & a_{1 m_{2}} B \\ a_{21} B & a_{22} B & \cdots & a_{2 m_{2}} B \\ \vdots & \vdots & \ddots & \vdots \\ a_{m_{1} 1} B & a_{m_{1} 2} B & \cdots & a_{m_{1} m_{2}} B \end{array}\right]A⊗B=⎣⎢⎢⎢⎡​a11​Ba21​B⋮am1​1​B​a12​Ba22​B⋮am1​2​B​⋯⋯⋱⋯​a1m2​​Ba2m2​​B⋮am1​m2​​B​⎦⎥⎥⎥⎤​

很明显,矩阵A⊗BA \otimes BA⊗B 的大小为(m1n1)×(m2n2)(m_{1}n_{1}) \times(m_{2}n_{2})(m1​n1​)×(m2​n2​),即行数为m1n1m_{1}n_{1}m1​n1​,列数为m2n2m_{2}n_{2}m2​n2​

其实您完全可以这么理解,A\boldsymbol{A}A 不动,每个元素乘以矩阵 B\boldsymbol{B}B,之后就是逐个代入计算,做个题目压压惊:

给定A=[1234],B=[5678910]A=\left[\begin{array}{ll}1 & 2 \\ 3 & 4\end{array}\right], \quad B=\left[\begin{array}{lll}5 & 6 & 7 \\ 8 & 9 & 10\end{array}\right]A=[13​24​],B=[58​69​710​],则:

A⊗B=[1×[5678910]2×[5678910]3×[5678910]4×[5678910]]A \otimes B=\left[\begin{array}{lll} 1 \times\left[\begin{array}{lll} 5 & 6 & 7 \\ 8 & 9 & 10 \end{array}\right] & 2 \times\left[\begin{array}{lll} 5 & 6 & 7 \\ 8 & 9 & 10 \end{array}\right] \\ 3 \times\left[\begin{array}{lll} 5 & 6 & 7 \\ 8 & 9 & 10 \end{array}\right] & 4 \times\left[\begin{array}{lll} 5 & 6 & 7 \\ 8 & 9 & 10 \end{array}\right] \end{array}\right]A⊗B=⎣⎢⎢⎡​1×[58​69​710​]3×[58​69​710​]​2×[58​69​710​]4×[58​69​710​]​⎦⎥⎥⎤​
即:
A⊗B=[5671012148910161820151821202428242730323640]A \otimes B=\left[\begin{array}{cccccc} 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=⎣⎢⎢⎡​581524​691827​7102130​10162032​12182436​14202840​⎦⎥⎥⎤​

注意:次矩阵乘法规律不满足乘法交换律哦 ! 也就是:A⊗B≠B⊗AA \otimes B\neq B \otimes AA⊗B​=B⊗A ,,这里也补充其相关数学运算性质:
A⊗(B+C)=A⊗B+A⊗C(B+C)⊗A=B⊗A+C⊗A(kA)⊗B=A⊗(kB)=k(A⊗B)(A⊗B)⊗C=A⊗(B⊗C)A⊗0=0⊗A=0\begin{aligned} \mathbf{A} \otimes(\mathbf{B}+\mathbf{C}) &=\mathbf{A} \otimes \mathbf{B}+\mathbf{A} \otimes \mathbf{C} \\ (\mathbf{B}+\mathbf{C}) \otimes \mathbf{A} &=\mathbf{B} \otimes \mathbf{A}+\mathbf{C} \otimes \mathbf{A} \\ (k \mathbf{A}) \otimes \mathbf{B} &=\mathbf{A} \otimes(k \mathbf{B})=k(\mathbf{A} \otimes \mathbf{B}) \\ (\mathbf{A} \otimes \mathbf{B}) \otimes \mathbf{C} &=\mathbf{A} \otimes(\mathbf{B} \otimes \mathbf{C}) \\ \mathbf{A} \otimes \mathbf{0} &=\mathbf{0} \otimes \mathbf{A}=\mathbf{0} \end{aligned}A⊗(B+C)(B+C)⊗A(kA)⊗B(A⊗B)⊗CA⊗0​=A⊗B+A⊗C=B⊗A+C⊗A=A⊗(kB)=k(A⊗B)=A⊗(B⊗C)=0⊗A=0​

(3)HadamardHadamardHadamard productproductproduct

Hadamard 乘积定义在两个大小相同的矩阵A∈RI×J,B∈RI×J\mathbf{A} \in \mathbb{R}^{I \times J}, \mathbf{B} \in \mathbb{R}^{I \times J}A∈RI×J,B∈RI×J 上,运算法则如下如下:
A∗B=[a11b11a12b12⋯a1Jb1Ja21b21a22b22⋯a2Jb2J⋮⋮⋱⋮aI1bI1aI2bI2⋯aIJbIJ]∈RI×J\mathbf{A} * \mathbf{B}=\left[\begin{array}{cccc} a_{11} b_{11} & a_{12} b_{12} & \cdots & a_{1 J} b_{1 J} \\ a_{21} b_{21} & a_{22} b_{22} & \cdots & a_{2 J} b_{2 J} \\ \vdots & \vdots & \ddots & \vdots \\ a_{I 1} b_{I 1} & a_{I 2} b_{I 2} & \cdots & a_{I J} b_{I J} \end{array}\right] \in \mathbb{R}^{I \times J}A∗B=⎣⎢⎢⎢⎡​a11​b11​a21​b21​⋮aI1​bI1​​a12​b12​a22​b22​⋮aI2​bI2​​⋯⋯⋱⋯​a1J​b1J​a2J​b2J​⋮aIJ​bIJ​​⎦⎥⎥⎥⎤​∈RI×J

有一个细节需要注意:这个的运算符号 ∘\circ∘ 与后面使用的∗*∗ 是一样的,我们平时用的更多的是:∗*∗.
易知,新生成矩阵的行列数都没有发生变化,里面的元素也是对应相乘,举个例子:
[a11a12a13a21a22a23a31a32a33]∗[b11b12b13b21b22b23b31b32b33]=[a11b11a12b12a13b13a21b21a22b22a23b23a31b31a32b32a33b33]\left[\begin{array}{lll} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{array}\right]* \left[\begin{array}{lll} b_{11} & b_{12} & b_{13} \\ b_{21} & b_{22} & b_{23} \\ b_{31} & b_{32} & b_{33} \end{array}\right]=\left[\begin{array}{lll} a_{11} b_{11} & a_{12} b_{12} & a_{13} b_{13} \\ a_{21} b_{21} & a_{22} b_{22} & a_{23} b_{23} \\ a_{31} b_{31} & a_{32} b_{32} & a_{33} b_{33} \end{array}\right]⎣⎡​a11​a21​a31​​a12​a22​a32​​a13​a23​a33​​⎦⎤​∗⎣⎡​b11​b21​b31​​b12​b22​b32​​b13​b23​b33​​⎦⎤​=⎣⎡​a11​b11​a21​b21​a31​b31​​a12​b12​a22​b22​a32​b32​​a13​b13​a23​b23​a33​b33​​⎦⎤​
这里顺便介绍一下基本性质:
A∗B=B∗AA∗(B∗C)=(A∗B)∗CA∗(B+C)=A∗B+A∗C(kA)∗B=A∗(kB)=k(A∗B)A∗0=0∗A=0\begin{array}{l} \mathbf{A} * \mathbf{B}=\mathbf{B} * \mathbf{A} \\ \mathbf{A}* (\mathbf{B} * \mathbf{C})=(\mathbf{A} * \mathbf{B}) * \mathbf{C} \\ \mathbf{A} *(\mathbf{B}+\mathbf{C})=\mathbf{A} * \mathbf{B}+\mathbf{A} * \mathbf{C} \\ (k \mathbf{A}) * \mathbf{B}=\mathbf{A} *(k \mathbf{B})=k(\mathbf{A} * \mathbf{B}) \\ \mathbf{A} * \mathbf{0}=\mathbf{0} * \mathbf{A}=\mathbf{0} \end{array}A∗B=B∗AA∗(B∗C)=(A∗B)∗CA∗(B+C)=A∗B+A∗C(kA)∗B=A∗(kB)=k(A∗B)A∗0=0∗A=0​

(4)Khatri−RaoKhatri-RaoKhatri−Rao productproductproduct

给定大小为 I×kI\times kI×k 的矩阵 A=(a⃗1,a⃗2,…,⃗k)A=\left(\vec{a}_{1}, \vec{a}_{2}, \ldots, \vec{}_{k}\right)A=(a1​,a2​,…,k​)和大小为 J×kJ\times kJ×k,B=(b⃗1,b⃗2,…,b⃗k)B=\left(\vec{b}_{1}, \vec{b}_{2}, \ldots, \vec{b}_{k}\right)B=(b1​,b2​,…,bk​),,则矩阵A\boldsymbol{A}A 和 B\boldsymbol{B}B 的Khatri-Rao 积为:
A⊙B=(a⃗1⊗b⃗1,a⃗2⊗b⃗2,…,a⃗k⊗b⃗k)A \odot B=\left(\vec{a}_{1} \otimes \vec{b}_{1}, \vec{a}_{2} \otimes \vec{b}_{2}, \ldots, \vec{a}_{k} \otimes \vec{b}_{k}\right)A⊙B=(a1​⊗b1​,a2​⊗b2​,…,ak​⊗bk​)
也阔以看图~~
还是来做个题目帮助理解:

给定矩阵:A=[1234]=(a⃗1,a⃗2),B=[5678910]=(b⃗1,b⃗2)A=\left[\begin{array}{ll}1 & 2 \\ 3 & 4\end{array}\right]=\left(\vec{a}_{1}, \vec{a}_{2}\right), \quad B=\left[\begin{array}{cc}5 & 6 \\ 7 & 8 \\ 9 & 10\end{array}\right]=\left(\vec{b}_{1}, \vec{b}_{2}\right)A=[13​24​]=(a1​,a2​),B=⎣⎡​579​6810​⎦⎤​=(b1​,b2​)
则:
A⊙B=(a⃗1⊗b⃗1,a⃗2⊗b⃗2)=[[13]⊗[579][24]⊗[6810]]A \odot B=\left(\vec{a}_{1} \otimes \vec{b}_{1}, \vec{a}_{2} \otimes \vec{b}_{2}\right)=\left[\left[\begin{array}{l} 1 \\ 3 \end{array}\right] \otimes\left[\begin{array}{l} 5 \\ 7 \\ 9 \end{array}\right] \quad\left[\begin{array}{l} 2 \\ 4 \end{array}\right] \otimes\left[\begin{array}{c} 6 \\ 8 \\ 10 \end{array}\right]\right]A⊙B=(a1​⊗b1​,a2​⊗b2​)=⎣⎡​[13​]⊗⎣⎡​579​⎦⎤​[24​]⊗⎣⎡​6810​⎦⎤​⎦⎤​

最终结果为:A⊙B=[512716920152421322740]A \odot B=\left[\begin{array}{cc}5 & 12 \\ 7 & 16 \\ 9 & 20 \\ 15 & 24 \\ 21 & 32 \\ 27 & 40\end{array}\right]A⊙B=⎣⎢⎢⎢⎢⎢⎢⎡​579152127​121620243240​⎦⎥⎥⎥⎥⎥⎥⎤​ ,还需要注意这里的积运算也是不满足交换律的!


大家一定要好好比较这三种 “积” 区别与联系!为大家整理好:

张量基础学习 (三 张量代数运算———上)相关推荐

  1. 张量基础学习(二 . 坐标变换,分量转化规律与张量方程 )

    欢迎来到张量基础学习的第二弹,本次将持续深入学习相关知识,觉着本人写的对您多少有帮助的麻烦点点关注,养成先赞再看的好习惯! Tensors learning 一 . 坐标与坐标转换 二. 张量分量转换 ...

  2. PyTorch框架学习三——张量操作

    PyTorch框架学习三--张量操作 一.拼接 1.torch.cat() 2.torch.stack() 二.切分 1.torch.chunk() 2.torch.split() 三.索引 1.to ...

  3. QT界面开发--基础学习篇一(上)

    一.Qt简单介绍: 1.QT的简单理解: Qt简单的说就是一种可以跨平台的编程语言工具,可以直接类比C语言和C++. 且一般QT的代码逻辑也是以C语言和C++(也可以适用于像JS的语言),可以直观理解 ...

  4. 大数据基础学习三: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 ...

  5. PR基础学习(三) 载入编辑素材

    鼠标点击项目面板里面任一视频,并按住不放,将其拖动到时间轴面板 时间轴面板说明 时间轴面板是音视频编辑处理的工作中心,其会生成一个对应的序列(Sequence),用于记录所做的编辑与修改和其他一些功能 ...

  6. 张量基础学习(一 概念,求和指标,符号)

    欢迎大家来到我的这一个新专栏,本专栏我们将一起学习并探讨一些张量方面的知识,同样,需要一定的线性代数的基础知识铺垫,但肯定是没有量子计算那么深入和复杂,有需要的小伙伴可以点点关注,您的鼓励是我前进的最 ...

  7. Verilog基础学习三

    文章目录 一.基础门电路(Basic Gate) 1.gate 2.真值表 3.关于电路设计思路 4.门电路与向量 二.多路选择器(multiplexer) 1. 2-to-1 multiplexer ...

  8. salesforce lightning零基础学习(三) 表达式的!(绑定表达式)与 #(非绑定表达式)

    在salesforce的classic中,我们使用{!expresion}在前台页面展示信息,在lightning中,上一篇我们也提及了,如果展示attribute的值,可以使用{!v.expresi ...

  9. 音频基础学习三——声音的时频谱

    文章目录 前言 时域与频域 1.什么是时域? 2.什么是频域? 3.一张图理解时域和频域 4.意义 总结 前言 在上一篇文章中,我们了解到:任何重复的波形都可以分解为含有基波频率和一系列为基波倍数的谐 ...

最新文章

  1. python基础 条件和循环
  2. ML之sklearn:sklearn.metrics中常用的函数参数(比如confusion_matrix等 )解释及其用法说明之详细攻略
  3. 将SQL中数据输出到Excel中
  4. mysql 事务sqlserver_MYSQL高级特性 -- 事务处理_sqlserver
  5. PopupWindow 使用详解(二) Popwindow 制作常见花哨效果
  6. gta5显示nat较为严格_一年内上涨近3000元/㎡!碧桂园翡翠华府物业管理严格到令人惊叹...
  7. 组合数(codevs 1631)
  8. Java基础——枚举类的使用教程
  9. 不定宽高的DIV,垂直水平居中
  10. 201771010112罗松《面向对象程序设计(java)》第十周学习总结
  11. 网站页面直接显示html代码 转义html代码 excel导入题库 解决方法
  12. UltraCompare Professional Version 7.20.0.1009 注册码
  13. 如何使用QT实现左右滑动的按钮
  14. CocosDashboard课堂笔记
  15. 【渝粤教育】电大中专常见病药物治疗 (2)_1作业 题库
  16. python将横转为竖_如何将视频从横屏转为竖屏?
  17. 2021-5月14日-今日收获
  18. 进制的转换 如六进制
  19. 那个学php的上吊了,这位一路名校的中国博士,突然在美国上吊自杀了
  20. 三分钟了解http和https

热门文章

  1. OpenHarmony之系统功能框架分析
  2. springboot vue婚纱摄影师作品展示网站系统javaweb项目
  3. 【读书笔记】Unity 3D脚本编程--使用c#语言开发跨平台游戏(韦佳栋)
  4. Flink SQL中使用异步io关联维表
  5. 笛卡儿积、自然连接、等值连接的区别
  6. 迷你摄像百科:摄像模组是什么,有哪些种类与款式
  7. JavaSecurity和JAAS——Java标准安全体系概述(上)
  8. 库卡工业机器人负载曲线图_KUKA/库卡工业机器人 KR10 R1100 机械手臂 负载10KG 六轴...
  9. TurboMosaic for Mac如何制作个性化的照片马赛克拼图
  10. (转载)MATLAB机器人运动学与动力学