Question: Attach/transmit a maple worksheet

<p>How do I attach or include a maple worksheet to this group?   When I copy the worksheet and paste, instead of with regular email, I get the following gibberish.  ........</p>
<p> </p>
<p> </p>
<p>I want to work with 2x2 "matrices" with scalars in the (1,1) and (2,2) positions and 3-dimensional vectors<br />
in the off diagonal positions.  Should be easy?<br />
restart:<br />
with(LinearAlgebra):<br />
<br />
A := array(1..2,1..2); B := array(1..2,1..2);<br />
<br />
                       A := array(1 .. 2, 1 .. 2, [])<br />
                       B := array(1 .. 2, 1 .. 2, [])<br />
A[1,1] := 3; A[2,2]:=-2; A[1,2] := Vector[row]([0,-1,1]); A[2,1] := Vector[row]([1,0,1]);<br />
B[1,1] := -1; B[2,2] := 4; B[1,2]:=Vector[row]([0,1,1]); B[2,1] := Vector[row]([1,1,1]);<br />
                                A[1, 1] := 3<br />
                                A[1, 1] := 3<br />
                                A[2, 2] := -2<br />
A[1,2]:=Typesetting:-maction([Typesetting:-mtable(Typesetting:-mtr(<br />
<br />
  Typesetting:-mtd(0, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), Typesetting:-mtd(uminus01, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd(1, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), rowalign = "", columnalign = "", <br />
<br />
  groupalign = ""), align = "axis", rowalign = "baseline", <br />
<br />
  columnalign = "center", groupalign = "{left}", alignmentscope = "true", <br />
<br />
  columnwidth = "auto", width = "auto", rowspacing = "1.0ex", <br />
<br />
  columnspacing = "0.8em", rowlines = "none", columnlines = "none", <br />
<br />
  frame = "none", framespacing = "0.4em 0.5ex", equalrows = "false", <br />
<br />
  equalcolumns = "false", displaystyle = "false", side = "right", <br />
<br />
  minlabelspacing = "0.8em")], actiontype = "rtableaddress", <br />
<br />
  rtableid = "149862440")<br />
 A[2,1]:=Typesetting:-maction([Typesetting:-mtable(Typesetting:-mtr(<br />
<br />
   Typesetting:-mtd(1, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
   rowspan = "1", columnspan = "1"), Typesetting:-mtd(0, rowalign = "", <br />
<br />
   columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
   Typesetting:-mtd(1, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
   rowspan = "1", columnspan = "1"), rowalign = "", columnalign = "", <br />
<br />
   groupalign = ""), align = "axis", rowalign = "baseline", <br />
<br />
   columnalign = "center", groupalign = "{left}", alignmentscope = "true", <br />
<br />
   columnwidth = "auto", width = "auto", rowspacing = "1.0ex", <br />
<br />
   columnspacing = "0.8em", rowlines = "none", columnlines = "none", <br />
<br />
   frame = "none", framespacing = "0.4em 0.5ex", equalrows = "false", <br />
<br />
   equalcolumns = "false", displaystyle = "false", side = "right", <br />
<br />
   minlabelspacing = "0.8em")], actiontype = "rtableaddress", <br />
<br />
   rtableid = "149890552")<br />
                                B[1, 1] := -1<br />
                                B[2, 2] := 4<br />
 B[1,2]:=Typesetting:-maction([Typesetting:-mtable(Typesetting:-mtr(<br />
<br />
   Typesetting:-mtd(0, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
   rowspan = "1", columnspan = "1"), Typesetting:-mtd(1, rowalign = "", <br />
<br />
   columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
   Typesetting:-mtd(1, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
   rowspan = "1", columnspan = "1"), rowalign = "", columnalign = "", <br />
<br />
   groupalign = ""), align = "axis", rowalign = "baseline", <br />
<br />
   columnalign = "center", groupalign = "{left}", alignmentscope = "true", <br />
<br />
   columnwidth = "auto", width = "auto", rowspacing = "1.0ex", <br />
<br />
   columnspacing = "0.8em", rowlines = "none", columnlines = "none", <br />
<br />
   frame = "none", framespacing = "0.4em 0.5ex", equalrows = "false", <br />
<br />
   equalcolumns = "false", displaystyle = "false", side = "right", <br />
<br />
   minlabelspacing = "0.8em")], actiontype = "rtableaddress", <br />
<br />
   rtableid = "150309456")<br />
 B[2,1]:=Typesetting:-maction([Typesetting:-mtable(Typesetting:-mtr(<br />
<br />
   Typesetting:-mtd(1, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
   rowspan = "1", columnspan = "1"), Typesetting:-mtd(1, rowalign = "", <br />
<br />
   columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
   Typesetting:-mtd(1, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
   rowspan = "1", columnspan = "1"), rowalign = "", columnalign = "", <br />
<br />
   groupalign = ""), align = "axis", rowalign = "baseline", <br />
<br />
   columnalign = "center", groupalign = "{left}", alignmentscope = "true", <br />
<br />
   columnwidth = "auto", width = "auto", rowspacing = "1.0ex", <br />
<br />
   columnspacing = "0.8em", rowlines = "none", columnlines = "none", <br />
<br />
   frame = "none", framespacing = "0.4em 0.5ex", equalrows = "false", <br />
<br />
   equalcolumns = "false", displaystyle = "false", side = "right", <br />
<br />
   minlabelspacing = "0.8em")], actiontype = "rtableaddress", <br />
<br />
   rtableid = "150315732")<br />
Now, I'd like to look at the matrices I've just created.  How to do this?<br />
A;<br />
                                      A<br />
evalm(A);<br />
Error, (in rtable/Sum) invalid arguments<br />
<br />
map(evalm,A);<br />
[Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(3, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd([Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(0, <br />
<br />
  rowalign = "", columnalign = "", groupalign = "", rowspan = "1", <br />
<br />
  columnspan = "1"), Typesetting:-mtd(uminus01, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd(1, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), rowalign = "", columnalign = "", <br />
<br />
  groupalign = ""), align = "axis", rowalign = "baseline", <br />
<br />
  columnalign = "center", groupalign = "{left}", alignmentscope = "true", <br />
<br />
  columnwidth = "auto", width = "auto", rowspacing = "1.0ex", <br />
<br />
  columnspacing = "0.8em", rowlines = "none", columnlines = "none", <br />
<br />
  frame = "none", framespacing = "0.4em 0.5ex", equalrows = "false", <br />
<br />
  equalcolumns = "false", displaystyle = "false", side = "right", <br />
<br />
  minlabelspacing = "0.8em")], rowalign = "", columnalign = "", <br />
<br />
  groupalign = "", rowspan = "1", columnspan = "1"), rowalign = "", <br />
<br />
  columnalign = "", groupalign = ""), Typesetting:-mtr(Typesetting:-mtd(<br />
<br />
  [Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(1, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd(0, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), Typesetting:-mtd(1, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  rowalign = "", columnalign = "", groupalign = ""), align = "axis", <br />
<br />
  rowalign = "baseline", columnalign = "center", groupalign = "{left}", <br />
<br />
  alignmentscope = "true", columnwidth = "auto", width = "auto", <br />
<br />
  rowspacing = "1.0ex", columnspacing = "0.8em", rowlines = "none", <br />
<br />
  columnlines = "none", frame = "none", framespacing = "0.4em 0.5ex", <br />
<br />
  equalrows = "false", equalcolumns = "false", displaystyle = "false", <br />
<br />
  side = "right", minlabelspacing = "0.8em")], rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd(uminus02, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), rowalign = "", columnalign = "", <br />
<br />
  groupalign = ""), align = "axis", rowalign = "baseline", <br />
<br />
  columnalign = "center", groupalign = "{left}", alignmentscope = "true", <br />
<br />
  columnwidth = "auto", width = "auto", rowspacing = "1.0ex", <br />
<br />
  columnspacing = "0.8em", rowlines = "none", columnlines = "none", <br />
<br />
  frame = "none", framespacing = "0.4em 0.5ex", equalrows = "false", <br />
<br />
  equalcolumns = "false", displaystyle = "false", side = "right", <br />
<br />
  minlabelspacing = "0.8em")]<br />
Now I'd like to add matrices in the "obvious" way.<br />
<br />
A+B;<br />
                                    A + B<br />
evalm(A+B);<br />
Error, (in rtable/Sum) invalid arguments<br />
<br />
map(evalm,A+B);<br />
Error, (in rtable/Sum) invalid arguments<br />
<br />
So Maple makes me write a procedure to add.  At least it seems to work.<br />
zornadd := proc(A,B)   # A+B<br />
   local C;<br />
   C := array(1..2,1..2);<br />
   C[1,1] := A[1,1]+B[1,1];<br />
   C[1,2] := A[1,2]+B[1,2];<br />
   C[2,1] := A[2,1]+B[2,1];<br />
   C[2,2] := A[2,2]+B[2,2];<br />
   RETURN(map(evalm,C));<br />
end:<br />
<br />
zornadd(A,B);<br />
[Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(2, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd([Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(0, <br />
<br />
  rowalign = "", columnalign = "", groupalign = "", rowspan = "1", <br />
<br />
  columnspan = "1"), Typesetting:-mtd(0, rowalign = "", columnalign = "", <br />
<br />
  groupalign = "", rowspan = "1", columnspan = "1"), Typesetting:-mtd(2, <br />
<br />
  rowalign = "", columnalign = "", groupalign = "", rowspan = "1", <br />
<br />
  columnspan = "1"), rowalign = "", columnalign = "", groupalign = ""), <br />
<br />
  align = "axis", rowalign = "baseline", columnalign = "center", <br />
<br />
  groupalign = "{left}", alignmentscope = "true", columnwidth = "auto", <br />
<br />
  width = "auto", rowspacing = "1.0ex", columnspacing = "0.8em", <br />
<br />
  rowlines = "none", columnlines = "none", frame = "none", <br />
<br />
  framespacing = "0.4em 0.5ex", equalrows = "false", equalcolumns = "false", <br />
<br />
  displaystyle = "false", side = "right", minlabelspacing = "0.8em")], <br />
<br />
  rowalign = "", columnalign = "", groupalign = "", rowspan = "1", <br />
<br />
  columnspan = "1"), rowalign = "", columnalign = "", groupalign = ""), <br />
<br />
  Typesetting:-mtr(Typesetting:-mtd([Typesetting:-mtable(Typesetting:-mtr(<br />
<br />
  Typesetting:-mtd(2, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), Typesetting:-mtd(1, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd(2, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), rowalign = "", columnalign = "", <br />
<br />
  groupalign = ""), align = "axis", rowalign = "baseline", <br />
<br />
  columnalign = "center", groupalign = "{left}", alignmentscope = "true", <br />
<br />
  columnwidth = "auto", width = "auto", rowspacing = "1.0ex", <br />
<br />
  columnspacing = "0.8em", rowlines = "none", columnlines = "none", <br />
<br />
  frame = "none", framespacing = "0.4em 0.5ex", equalrows = "false", <br />
<br />
  equalcolumns = "false", displaystyle = "false", side = "right", <br />
<br />
  minlabelspacing = "0.8em")], rowalign = "", columnalign = "", <br />
<br />
  groupalign = "", rowspan = "1", columnspan = "1"), Typesetting:-mtd(2, <br />
<br />
  rowalign = "", columnalign = "", groupalign = "", rowspan = "1", <br />
<br />
  columnspan = "1"), rowalign = "", columnalign = "", groupalign = ""), <br />
<br />
  align = "axis", rowalign = "baseline", columnalign = "center", <br />
<br />
  groupalign = "{left}", alignmentscope = "true", columnwidth = "auto", <br />
<br />
  width = "auto", rowspacing = "1.0ex", columnspacing = "0.8em", <br />
<br />
  rowlines = "none", columnlines = "none", frame = "none", <br />
<br />
  framespacing = "0.4em 0.5ex", equalrows = "false", equalcolumns = "false", <br />
<br />
  displaystyle = "false", side = "right", minlabelspacing = "0.8em")]<br />
Now I'd like to multiply "matrices" by scalars.<br />
2*A;<br />
                                     2 A<br />
evalm(2*A);<br />
Error, (in rtable/Sum) invalid arguments<br />
<br />
map(evalm,2*A);<br />
Error, (in rtable/Sum) invalid arguments<br />
<br />
Fine.  I'll write another procedure.<br />
zornsmult := proc(A,c) # c*A;<br />
   local C;<br />
   C := array(1..2,1..2);<br />
   C[1,1] := c*A[1,1];<br />
   C[1,2] := c*A[1,2];<br />
   C[2,1] := c*A[2,1];<br />
   C[2,2] := c*A[2,2];<br />
   RETURN(map(evalm,C));<br />
end:<br />
<br />
zornsmult(A,2);<br />
[Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(6, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd([Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(0, <br />
<br />
  rowalign = "", columnalign = "", groupalign = "", rowspan = "1", <br />
<br />
  columnspan = "1"), Typesetting:-mtd(uminus02, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd(2, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), rowalign = "", columnalign = "", <br />
<br />
  groupalign = ""), align = "axis", rowalign = "baseline", <br />
<br />
  columnalign = "center", groupalign = "{left}", alignmentscope = "true", <br />
<br />
  columnwidth = "auto", width = "auto", rowspacing = "1.0ex", <br />
<br />
  columnspacing = "0.8em", rowlines = "none", columnlines = "none", <br />
<br />
  frame = "none", framespacing = "0.4em 0.5ex", equalrows = "false", <br />
<br />
  equalcolumns = "false", displaystyle = "false", side = "right", <br />
<br />
  minlabelspacing = "0.8em")], rowalign = "", columnalign = "", <br />
<br />
  groupalign = "", rowspan = "1", columnspan = "1"), rowalign = "", <br />
<br />
  columnalign = "", groupalign = ""), Typesetting:-mtr(Typesetting:-mtd(<br />
<br />
  [Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(2, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd(0, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), Typesetting:-mtd(2, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  rowalign = "", columnalign = "", groupalign = ""), align = "axis", <br />
<br />
  rowalign = "baseline", columnalign = "center", groupalign = "{left}", <br />
<br />
  alignmentscope = "true", columnwidth = "auto", width = "auto", <br />
<br />
  rowspacing = "1.0ex", columnspacing = "0.8em", rowlines = "none", <br />
<br />
  columnlines = "none", frame = "none", framespacing = "0.4em 0.5ex", <br />
<br />
  equalrows = "false", equalcolumns = "false", displaystyle = "false", <br />
<br />
  side = "right", minlabelspacing = "0.8em")], rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd(uminus04, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), rowalign = "", columnalign = "", <br />
<br />
  groupalign = ""), align = "axis", rowalign = "baseline", <br />
<br />
  columnalign = "center", groupalign = "{left}", alignmentscope = "true", <br />
<br />
  columnwidth = "auto", width = "auto", rowspacing = "1.0ex", <br />
<br />
  columnspacing = "0.8em", rowlines = "none", columnlines = "none", <br />
<br />
  frame = "none", framespacing = "0.4em 0.5ex", equalrows = "false", <br />
<br />
  equalcolumns = "false", displaystyle = "false", side = "right", <br />
<br />
  minlabelspacing = "0.8em")]<br />
Multiplication of these matrices is not at all "obvious," but it's easy to write a Maple procedure that does the job.<br />
zornmult := proc(A,B)<br />
    local C;<br />
    C := array(1..2,1..2);<br />
    C[1,1] := A[1,1]*B[1,1]+DotProduct(A[1,2],B[2,1],conjugate=false); <br />
    C[1,2] := A[1,1]*B[1,2]+B[2,2]*A[1,2]-CrossProduct(A[2,1],B[2,1]);  <br />
    C[2,1] := B[1,1]*A[2,1]+A[2,2]*B[2,1]+CrossProduct(A[1,2],B[1,2]); <br />
    C[2,2] := A[2,2]*B[2,2]+DotProduct(A[2,1],B[1,2],conjugate=false);<br />
    RETURN(map(evalm,C));<br />
    end:<br />
X := zornmult(A,B);<br />
X:=[Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(uminus03, <br />
<br />
  rowalign = "", columnalign = "", groupalign = "", rowspan = "1", <br />
<br />
  columnspan = "1"), Typesetting:-mtd([Typesetting:-mtable(Typesetting:-mtr(<br />
<br />
  Typesetting:-mtd(1, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), Typesetting:-mtd(uminus01, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd(6, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), rowalign = "", columnalign = "", <br />
<br />
  groupalign = ""), align = "axis", rowalign = "baseline", <br />
<br />
  columnalign = "center", groupalign = "{left}", alignmentscope = "true", <br />
<br />
  columnwidth = "auto", width = "auto", rowspacing = "1.0ex", <br />
<br />
  columnspacing = "0.8em", rowlines = "none", columnlines = "none", <br />
<br />
  frame = "none", framespacing = "0.4em 0.5ex", equalrows = "false", <br />
<br />
  equalcolumns = "false", displaystyle = "false", side = "right", <br />
<br />
  minlabelspacing = "0.8em")], rowalign = "", columnalign = "", <br />
<br />
  groupalign = "", rowspan = "1", columnspan = "1"), rowalign = "", <br />
<br />
  columnalign = "", groupalign = ""), Typesetting:-mtr(Typesetting:-mtd(<br />
<br />
  [Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(uminus05, <br />
<br />
  rowalign = "", columnalign = "", groupalign = "", rowspan = "1", <br />
<br />
  columnspan = "1"), Typesetting:-mtd(uminus02, rowalign = "", <br />
<br />
  columnalign = "", groupalign = "", rowspan = "1", columnspan = "1"), <br />
<br />
  Typesetting:-mtd(uminus03, rowalign = "", columnalign = "", groupalign = "", <br />
<br />
  rowspan = "1", columnspan = "1"), rowalign = "", columnalign = "", <br />
<br />
  groupalign = ""), align = "axis", rowalign = "baseline", <br />
<br />
  columnalign = "center", groupalign = "{left}", alignmentscope = "true", <br />
<br />
  columnwidth = "auto", width = "auto", rowspacing = "1.0ex", <br />
<br />
  columnspacing = "0.8em", rowlines = "none", columnlines = "none", <br />
<br />
  frame = "none", framespacing = "0.4em 0.5ex", equalrows = "false", <br />
<br />
  equalcolumns = "false", displaystyle = "false", side = "right", <br />
<br />
  minlabelspacing = "0.8em")], rowalign = "", columnalign = "", <br />
<br />
  groupalign = "", rowspan = "1", columnspan = "1"), Typesetting:-mtd(<br />
<br />
  uminus07, rowalign = "", columnalign = "", groupalign = "", rowspan = "1", <br />
<br />
  columnspan = "1"), rowalign = "", columnalign = "", groupalign = ""), <br />
<br />
  align = "axis", rowalign = "baseline", columnalign = "center", <br />
<br />
  groupalign = "{left}", alignmentscope = "true", columnwidth = "auto", <br />
<br />
  width = "auto", rowspacing = "1.0ex", columnspacing = "0.8em", <br />
<br />
  rowlines = "none", columnlines = "none", frame = "none", <br />
<br />
  framespacing = "0.4em 0.5ex", equalrows = "false", equalcolumns = "false", <br />
<br />
  displaystyle = "false", side = "right", minlabelspacing = "0.8em")]<br />
But now - and I've spent hours trying to figure out the problem, Maple doesn't seem to know what it's got.  <br />
Y := zornmult(X,A);<br />
Error, (in LinearAlgebra:-DotProduct) invalid input: LinearAlgebra:-DotProduct expects its 1st argument, V1, to be of type Vector but received X[1,2]<br />
<br />
HELP!!!!!!!!!!!!!!!!!!!!!!!!!!!<br />
 </p>
Please Wait...