<< Click to Display Table of Contents >> tensors 

{ TENSORS.PDE
This example illustrates tensor manipulations. There are no variables or equations,
just definitions and plots. A boundaries section IS needed even though it is not used.
}
Title
"vector functions"
Definitions
v1 = vector(1,2,3)
v2 = vector(3,2,1)
vv = v1*v2 ! vector product
t1 = tensor((1,2,3),(4,5,6),(7,8,9))
t2 = tensor((1,4,7),(2,5,8),(3,6,9))
t12 = t1**t2 ! dot product
dot12 = dot(t1,t2)
dot1v = dot(t1,v1)
dotv1 = dot(v1,t1)
dotv2 = dot(v1,t2)
dot12v = dot(dot12,v1)
Boundaries { plot domain always required }
region "dummy"
start (1,0) line to (1,0) to (1,1) to (1,1) to close
Plots
summary ("OPERATIONS WITH A TENSOR RESULT :")
report ""
report "Vector product V1 * V2"
report "(1,2,3) * (3,2,1) = ((3,2,1), (6,4,2), (9,6,3))"
report ""
report(xxcomp(vv), xycomp(vv), xzcomp(vv)) as "VV xx,xy,xz "
report(yxcomp(vv), yycomp(vv), yzcomp(vv)) as "VV yx,yy,yz "
report(zxcomp(vv), zycomp(vv), zzcomp(vv)) as "VV zx,zy,zz "
report ""
report "Tensor dot product T1 ** T2"
report "((1,2,3), (4,5,6), (7,8,9)) ** ((1,4,7), (2,5,8), (3,6,9))"
report " = ((14,32,50), (32,77,122), (50,122,194))"
report(xxcomp(t12), xycomp(t12), xzcomp(t12)) as "T12 xx,xy,xz "
report(yxcomp(t12), yycomp(t12), yzcomp(t12)) as "T12 yx,yy,yz "
report(zxcomp(t12), zycomp(t12), zzcomp(t12)) as "T12 zx,zy,zz "
report ""
report "Tensor dot product DOT( T1, T2 )"
report "((1,2,3), (4,5,6), (7,8,9)) ** ((1,4,7), (2,5,8), (3,6,9))"
report " = ((14,32,50), (32,77,122), (50,122,194))"
report ""
report(xxcomp(dot12), xycomp(dot12), xzcomp(dot12)) as "DOT12 xx,xy,xz "
report(yxcomp(dot12), yycomp(dot12), yzcomp(dot12)) as "DOT12 yx,yy,yz "
report(zxcomp(dot12), zycomp(dot12), zzcomp(dot12)) as "DOT12 zx,zy,zz "
report "Alternatively :"
report(xcomp(xcomp(dot12)), ycomp(xcomp(dot12)), zcomp(xcomp(dot12))) as "DOT12 x(x),x(y),x(z) "
report(xcomp(ycomp(dot12)), ycomp(ycomp(dot12)), zcomp(ycomp(dot12))) as "DOT12 y(x),y(y),y(z) "
report(xcomp(zcomp(dot12)), ycomp(zcomp(dot12)), zcomp(zcomp(dot12))) as "DOT12 z(x),z(y),z(z) "
summary ("OPERATIONS WITH A VECTOR RESULT :")
report ""
report "Vector Tensor dot product DOT( V1, T1 )"
report "DOT( (1,2,3), ((1,2,3), (4,5,6), (7,8,9)) ) = (30,36,42)"
report(xcomp(dotv1), ycomp(dotv1), zcomp(dotv1)) as "DOTV1 "
report ""
report "Vector Tensor dot product DOT( V1, T2 )"
report "DOT( (1,2,3), ((1,4,7), (2,5,8), (3,6,9)) ) = (14,32,50)"
report(xcomp(dotv2), ycomp(dotv2), zcomp(dotv2)) as "DOTV2 "
report ""
report "Tensor Vector dot product DOT( T1, V1 )"
report "DOT( ((1,2,3), (4,5,6), (7,8,9)), (1,2,3) ) = (14,32,50)"
report(xcomp(dot1v), ycomp(dot1v), zcomp(dot1v)) as "DOT1V "
report ""
report "Tensor Vector dot product DOT( DOT12, V1 )"
report "DOT( ((14,32,50), (32,77,122), (50,122,194)), (1,2,3) ) = (228,552,876)"
report(xcomp(dot12v), ycomp(dot12v), zcomp(dot12v)) as "DOT12V "
End