zhanxin06112 发表于 2012-7-2 10:53:32

关于张量运算的疑问

请教各位一个关于张量运算的问题,P为投影张量,为四阶张量,C是3*3的右Cauchy-Green变形张量矩阵,那么经过张量积运算后P就是9*9的矩阵了,然后P它与overbar S 之间求trace,请问该如何求呢,overbar S 应该不是9*9的矩阵呀,即使是9*1的列向量,那就不能求trace了吧。不知道我理解有问题没,请各位指教一二。谢谢!

zytsang 发表于 2012-7-2 19:14:31

本帖最后由 zytsang 于 2012-7-3 17:07 编辑

下面是张量积和两点积的运算过程:

P是四阶张量,但不是9*9矩阵。这里P可以写成一个3*3的矩阵,这个矩阵的每一个元素也是3*3的矩阵。可以说,P是二阶张量,P的每个元素也是二阶张量,所以P的总阶数是4。这是用矩阵表达高阶张量的一种办法。所以P:S的计算还是按照两点积的算法(不完全是二阶张量的两点积算法,详见5楼),把每个元素对应相乘,然后把所有乘积加起来,唯一不同点在于这里P的每个元素是3*3矩阵,所以P:S也是3*3矩阵,所以可以求迹。
不知道我有没有理解你的问题

zhanxin06112 发表于 2012-7-2 20:40:17

zytsang 发表于 2012-7-2 19:14 static/image/common/back.gif
下面是张量积和两点积的运算过程:

P是四阶张量,但不是9*9矩阵。这里P可以写成一个3*3的矩阵,这个矩阵的 ...

谢谢你了,Z大,你这样一说,我就明白了许多。我还是在写本构,无奈基础薄弱。但是张量的两点积的定义不就是求迹吗,是一个标量。那么Svol 是一个矩阵,Siso是一个标量了,这两者之间怎么实现求和呢。

另外,如上图所示的,(1)张量圈点积等于张量逆对张量的求导了,看不太懂;(2)连续三个四阶张量的两点积最后应该也是标量吧,不太会求;(3)我要求的C弹性张量最后应该是6*6的矩阵,可是该如何简化呢;(4)如何把张量形式写成代数分量形式,虽然看了下爱因斯坦求和约定,但是写的时候还是不太明白。 Z大能否给推荐本张量分析的书,我在研读下。不然这个坎还是迈不过去。谢谢Z大了。

zhanxin06112 发表于 2012-7-3 11:13:59

zytsang 发表于 2012-7-2 19:14 static/image/common/back.gif
下面是张量积和两点积的运算过程:

P是四阶张量,但不是9*9矩阵。这里P可以写成一个3*3的矩阵,这个矩阵的 ...

Z大,二阶张量乘积我没啥疑问,但是我算的四阶张量与二阶张量的两点积与你算的有点差别,如图所示。最后的3*3的矩阵你算得的每个元素的共因子是b对应的分量,我算得的是a对应的分量。请指教。

zytsang 发表于 2012-7-3 11:25:24

[tex][/tex]

本帖最后由 zytsang 于 2012-7-9 09:41 编辑

两个二阶张量的两点积的确是求对应矩阵乘法的积,也的确是个标量。但是一个四阶张量和二阶张量的两点积就不是标量了,而应该是一个二阶张量。所以Svol和Siso都是二阶张量,可以相加。
关于圈点积的定义见下图:
${a_{ij}} \odot {b_{kl}} = \frac{1}{2}\left( {{a_{ik}}{b_{jl}} + {a_{il}}{b_{jk}}} \right)$写成矩阵形式就是:

(1)两个二阶张量的圈点积是一个四阶张量
(2)连续三个四阶张量的两点积=一个二阶张量与一个四阶张量的两点积=一个二阶张量(此处有误,两个四阶张量的两点积应该是一个四阶张量)。你把四阶张量写成我二楼那个附件的形式,然后按两点积的定义(对应元素相乘,再把所有乘积加起来),就能得到结果
(3)三维的弹性张量应该是四阶,有9*9=81个元素(因为是对称张量,加上角动量守恒的条件,所以只有6*6=36个独立元素)。只要把张量完整形式写出来,然后对比元素,就能挑出其中36个独立元素,写成6*6矩阵的形式(voigt notation)
(4)代数分量形式的规则主要是以下三条:
a)同变量的重复下标表示求和:a_{\text{ii}}=a_{11}+a_{22}+a_{33} , a_{\text{ij}}x_j=b_i\toa_{\text{i1}}x_1+a_{\text{i2}}x_2+a_{\text{i3}}x_3=b_i
b)所有下标至少滚动一次,从1到n,但是重复的下标优先滚动
c)下标的数目即为张量的阶数
但是使用中很抽象,只能说要多多熟悉才好。我个人感觉在三维正交直线(笛卡尔)坐标系下,用张量的形式比较方便。代数分量形式在曲线坐标系下比较方便。
中文教材的话,我想国内应该多用的是黄克智的张量分析:http://ishare.iask.sina.com.cn/f/7090739.html
英文的教材就多了,从continuum mechanics到general relativity和differential geometry有非常多的书,我自己用的是Tensor Algebra and Tensor Analysis for Engineers(因为书后配了习题答案……),这里有第一版的下载:
http://www.empresasmp.com/fmilan ... 0for%20engineers%20(Springer,%202007)(ISBN%203540360468)(243s)_MCta_.pdf
不过这本书第二版已经出了,如果你学校有订阅springer的话,可以去他家网站上把PDF保存下来
希望对你有帮助


zytsang 发表于 2012-7-3 11:30:53

本帖最后由 zytsang 于 2012-7-3 11:38 编辑

zhanxin06112 发表于 2012-7-3 11:13 static/image/common/back.gif
Z大,二阶张量乘积我没啥疑问,但是我算的四阶张量与二阶张量的两点积与你算的有点差别,如图所示。最后 ...
维基上面的克罗内克积是对于矩阵来说的,矩阵的元素本身不带坐标,所以内包的方括号可以铲掉(Flatten)
但是对于张量来说,其每个元素是带了基(basis)的,做了两点积以后这些basis必须保留,所以会变成四阶张量。
按克罗内克积的写法的话,那个9*9的矩阵还是一个二阶张量,后面的运算没法做的

zytsang 发表于 2012-7-3 11:40:49

zhanxin06112 发表于 2012-7-3 11:13 static/image/common/back.gif
Z大,二阶张量乘积我没啥疑问,但是我算的四阶张量与二阶张量的两点积与你算的有点差别,如图所示。最后 ...

你这张图片里面的运算是正确的,最后结果其实和我二楼算的是一样的。我二楼的结果没有化简,你这里的结果更加简洁。
克罗内克积的写法只对矩阵有效,张量的话里面的方括号不能省略。矩阵和张量本质上是不一样的,只不过张量可以用矩阵的形式写出来。

zhanxin06112 发表于 2012-7-3 14:40:25

zytsang 发表于 2012-7-3 11:25 static/image/common/back.gif
两个二阶张量的两点积的确是求对应矩阵乘法的积,也的确是个标量。但是一个四阶张量和二阶张量的两点积就不 ...

谢谢Z大,我昨晚看了下书,我也下了本黄克智的张量分析。现在要仔细读读了,很感谢你仔细的解答,但我觉得你说的第二点,也就是三个四阶张量的两点积的问题意见不一样。我认为应该还是四阶张量,请看下面的这个定则,,先让前两个四阶张量求两点积结果是一个四阶张量,然后再与后面的四阶张量求两点积道理是一样的。这样的话,最后示出的弹性刚度矩阵就是你所说的9*9的,最后可以化成6*6的了,而且可以和弹性刚度矩阵C的其它项进行和并了。

zytsang 发表于 2012-7-3 14:51:52

zhanxin06112 发表于 2012-7-3 14:40 static/image/common/back.gif
谢谢Z大,我昨晚看了下书,我也下了本黄克智的张量分析。现在要仔细读读了,很感谢你仔细的解答,但我觉 ...

你说的是对的,我5楼的帖子(2)点说错了,两个四阶张量的两点积应该是一个四阶张量

TBE_Legend 发表于 2012-7-5 08:21:50

QQ群里面楼主也发了这个问题,我看了下,实在有点乱啊。

就我知道的说点:
1)双点乘对于二阶张量来说可以等效成tr运算。双点乘的定义还是黄克智的书说的明白。
2)标量函数(自变量是张量)的求导运算的分量很简单的,黄克智书上有。一些特殊的标量函数(n阶矩)才可以化成求逆运算。楼主的推导让我很发蒙。

页: [1]
查看完整版本: 关于张量运算的疑问