(*^ ::[ Information = "This is a Mathematica Notebook file. It contains ASCII text, and can be transferred by email, ftp, or other text-file transfer utility. It should be read or edited using a copy of Mathematica or MathReader. If you received this as email, use your mail application or copy/paste to save everything from the line containing (*^ down to the line containing ^*) into a plain text file. On some systems you may have to give the file a name ending with ".ma" to allow Mathematica to recognize it as a Notebook. The line below identifies what version of Mathematica created this file, but it can be opened using any other version as well."; FrontEndVersion = "NeXT Mathematica Notebook Front End Version 2.2"; NeXTStandardFontEncoding; fontset = title, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, L1, e8, 24, "Times"; ; fontset = subtitle, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, L1, e6, 18, "Times"; ; fontset = subsubtitle, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, italic, L1, e6, 14, "Times"; ; fontset = section, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, grayBox, M22, bold, L1, a20, 18, "Times"; ; fontset = subsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, blackBox, M19, bold, L1, a15, 14, "Times"; ; fontset = subsubsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, whiteBox, M18, bold, L1, a12, 12, "Times"; ; fontset = text, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = smalltext, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 10, "Times"; ; fontset = input, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeInput, M42, N23, bold, L1, 12, "Courier"; ; fontset = output, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L-5, 12, "Courier"; ; fontset = message, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = print, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = info, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = postscript, PostScript, formatAsPostScript, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeGraphics, M7, l34, w282, h287, L1, 12, "Courier"; ; fontset = name, inactive, noPageBreakInGroup, nohscroll, preserveAspect, M7, italic, B65535, L1, 10, "Times"; ; fontset = header, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, italic, L1, 12, "Times"; ; fontset = leftheader, 12; fontset = footer, inactive, nohscroll, noKeepOnOnePage, preserveAspect, center, M7, italic, L1, 12, "Times"; ; fontset = leftfooter, 12; fontset = help, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = clipboard, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = completions, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12, "Courier"; ; fontset = special1, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special2, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special3, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special4, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special5, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; paletteColors = 128; magnification = 125; currentKernel; ] :[font = input; Cclosed; preserveAspect; center; startGroup] Matrix Arithmetic ;[s] 1:0,0;17,-1; 1:1,21,16,Times,1,24,0,0,0; :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Introduction :[font = text; inactive; preserveAspect; endGroup] Here is one of the main goals of matrix arithmetic: How can we interpret a linear system (LS) as a simpler kind of equation, namely, as A x = b, where A is the coefficient matrix of a L S, b the right hand side vector, and x the vector of unknowns? We need a way to multiply matrices. Actually, addition and multiplication by scalars is useful, too. They are simpler too, so we do them first. :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Matrix Addition :[font = text; inactive; preserveAspect] In order to add two matrices, we insist that they be exactly the same size. Then we will do what we did in Calculus: coordinate by coordinate addition. Thus DEFINITION: If A = [ai,j] and B = [bi,j] are both m´n, then A + B is the m´n matrix given by A + B = [ai,j + bi,j]. ;[s] 13:0,0;184,1;187,2;199,3;202,4;214,5;215,6;238,7;239,8;302,9;305,10;309,11;312,12;317,-1; 13:1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = input; preserveAspect] a = {{1,1,1},{1,1,2},{1,1,0}} :[font = input; preserveAspect] b = {{2,-3,1},{2,0,0},{3,2,-5}} :[font = input; preserveAspect] a + b :[font = text; inactive; preserveAspect] Note: the matrix of zero entries acts like an identity. It is called the zero m´n matrix. ;[s] 5:0,0;76,1;80,2;82,3;83,4;93,-1; 5:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = input; preserveAspect] z = Table[0,{i,3},{j,3}] :[font = input; preserveAspect; endGroup] a + z :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Scalar Multiplication :[font = text; inactive; preserveAspect] Scalar multiplication means the multiplying of a matrix by a scalar quantity. Again, we imitate what was done in Calculus with vectors. Remember that scalar means a number. In our case it could mean a real or complex number, depending on the context. DEFINITION: If s is a scalar and A = [ai,j] an m´n matrix, then s A is defined to be the m´n matrix given by: s A = [s ai,j]. REMARK: We denote (-1) A by - A, and as usual we write A - B = A + (- B). ;[s] 12:0,0;21,1;152,2;158,3;301,4;304,5;310,6;311,7;375,8;376,9;428,10;431,11;516,-1; 12:1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = input; preserveAspect] 2 a :[font = input; preserveAspect] 2*a :[font = input; preserveAspect] -1 a :[font = input; preserveAspect] 0*a :[font = input; preserveAspect; endGroup] 3 a - 4 b :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Linear Combinations :[font = text; inactive; preserveAspect] The last cell of the previous section illustrates another very useful idea in linear algebra: DEFINITION: A linear combination of the matrices (vectors) m1, m2, ..., mr is any expression of the form a1 m1 + a2 m2 + ... + ar mr, where a1, a2, ..., ar are scalars. If this linear combination sums to the zero matrix (vector), then it is called a trivial linear combination. Otherwise, it is a nontrivial linear combination. Thus, we saw that 3 a - 4 b is a nontrivial linear combination of the matrices a and b. Check the following linear combination for triviality and answer this question: what does this linear combination really say about c in terms of a and b? Test your conclusion by having Mathematica do the calculation. ;[s] 34:0,0;110,1;128,2;157,3;158,4;161,5;162,6;170,7;171,8;252,9;253,10;255,11;256,12;261,13;262,14;264,15;265,16;278,17;279,18;281,19;282,20;291,21;292,22;295,23;296,24;304,25;305,26;404,27;431,28;453,29;483,30;766,31;778,32;796,33;798,-1; 34:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0; :[font = input; preserveAspect] c={{1,-3,1/5},{1,-3/5,-6/5},{9/5,1,-4}} :[font = input; preserveAspect; endGroup] 3 a - 4 b + 5 c :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Matrix Multiplication :[font = text; inactive; preserveAspect] This is the least obvious idea of today's material. Start by recalling how to ªdotº two vectors of the same size: line up the elements side by side, multiply them together and add the results: :[font = input; preserveAspect] v = {1,2,3,4} :[font = input; preserveAspect] w = {2,-1,1,0} :[font = input; preserveAspect] v.w :[font = input; preserveAspect] w.v :[font = text; inactive; preserveAspect] Matrix multiplication is an extension of this idea: let A be an m´p matrix and B a p´n matrix. Then A B is the m´n matrix whose (i,j)th entry is the result of the dot product of the ith row of A and jth column of B. Notice that these two vectors have the same length p. ;[s] 13:0,0;67,1;68,2;88,3;89,4;117,5;118,6;134,7;139,8;188,9;189,10;204,11;206,12;340,-1; 13:1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = input; preserveAspect] a.b :[font = input; preserveAspect] b.a :[font = text; inactive; preserveAspect] What could play the part of a ªoneº with respect to matrix multiplication, if anything? It turns out that there is such a matrix, which we call the identity matrix. Of course, just like zero matrices, the identity matrix can come in different sizes, though it is always a square matrix; that is, it has the same number of rows and columns: ;[s] 3:0,0;152,1;168,2;351,-1; 3:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = input; preserveAspect] id = IdentityMatrix[3] :[font = text; inactive; preserveAspect] Let's see how it works: :[font = input; preserveAspect] a.id :[font = input; preserveAspect] id.a :[font = input; preserveAspect] c = {{2,3,5,1},{1,2,-1,0},{1,2,1,3}} :[font = input; preserveAspect] id . c :[font = input; preserveAspect] d = Transpose[c] :[font = input; preserveAspect] d . id :[font = text; inactive; preserveAspect] Now try this: :[font = input; preserveAspect] x = {x1,x2,x3} :[font = input; preserveAspect] a.x :[font = text; inactive; preserveAspect] Recall that two matrices are equal precisely when they are the same size and corresponding entries of each matrix are equal. With this out of the way, we arrive at a really basic idea about linear systems: the linear system (LS) with coefficient matrix A, right hand side vector b and column of unknowns x = {x1, x2, ... , xn}, is exactly equivalent to the matrix equation A . x = b This suggests yet another "big idea." Why not try to solve (LS) by treating matrices like numbers? Then we could get the unique solution x = (1/A) . b But what is it that plays the part of the "inverse" of a matrix? We know that the earlier matrix a doesn't give a system with a unique solution, so let's try this example (also from class): ;[s] 7:0,0;314,1;315,2;318,3;319,4;328,5;329,6;746,-1; 7:1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = input; preserveAspect] a = {{1,1,1},{2,2,5},{4,6,8}} :[font = input; preserveAspect] b = {4,11,24} :[font = text; inactive; preserveAspect] Maybe Mathematica knows something about this ... ;[s] 3:0,0;6,1;17,2;53,-1; 3:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = input; preserveAspect] ia = Inverse[a] :[font = input; preserveAspect] a . ia :[font = input; preserveAspect] ia . a :[font = text; inactive; preserveAspect] Now for the real test: :[font = input; preserveAspect] x = ia . b :[font = input; preserveAspect] LinearSolve[a,b] :[font = text; inactive; preserveAspect; endGroup] It works!!! Clearly, we are going to have to explore this idea. Click on the earliest version of a and then click the equation defining ia. We have some things to think about, right? :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Inverses :[font = text; inactive; preserveAspect] From class we saw how to build (right) inverses using the ªsuperaugmentedº matrix. We saw that the m´n matrix A had to have rank m, in order to have a right inverse. Here is the rest of the story for square matrices: THEOREM: For a square n´n matrix A, the following are equivalent (TFAE): (1) A.x = b has a unique solution x for some right hand side vector b. (2) A.x = b has a unique solution x for all right hand side vectors b. (3) The Row Echelon Form of A is In. (4) rank (A) = n. (5) A is a product of elementary matrices. (6) A is invertible. EXAMPLE. Use Mathematica to find a formula for the general inverse of a 2´2 matrix by using the next cell and the Inverse command. Check your result. ;[s] 21:0,0;101,1;102,2;130,3;131,4;243,5;244,6;336,7;337,8;370,9;371,10;416,11;417,12;450,13;451,14;498,15;499,16;623,17;634,18;683,19;684,20;715,-1; 21:1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = input; preserveAspect] Clear[A,a,b,c,d] :[font = input; preserveAspect] A={{a,b},{c,d}} :[font = input; preserveAspect] B=Inverse[A] :[font = input; preserveAspect] Simplify[A.B] :[font = input; preserveAspect; endGroup] Simplify[B.A] :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Transposes :[font = text; inactive; preserveAspect] Now about transposes. We already saw this idea last time in lab: DEFINITION: The transpose of the m´n matrix A is the n´m matrix obtained by interchanging the rows and columns of A. It is denoted by AT. DEFINITION: A matrix is symmetric if it equals its transpose. Example: Verify that the following matrix is symmetric by using Mathematica. ;[s] 13:0,0;85,1;94,2;103,3;104,4;123,5;124,6;205,7;206,8;235,9;244,10;340,11;351,12;353,-1; 13:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = input; preserveAspect] a={{4,2,1},{2,4,2},{1,2,3}} :[font = input; preserveAspect] a - Transpose[a] :[font = text; inactive; preserveAspect] For complex matrices, there is another idea that is important : DEFINITION: The Hermitian transpose of a matrix A is obtained by conjugating each entry of the transpose of A, and is denoted by A* (or sometimes as AH). DEFINITION: A matrix is Hermitian (or Hermitian symmetric) if it equals its Hermitian transpose. ;[s] 12:0,0;82,1;101,2;175,3;177,4;216,5;217,6;247,7;256,8;262,9;284,10;322,11;323,-1; 12:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0; :[font = text; inactive; preserveAspect] EXAMPLE: Verify that the following matrix is Hermitian by using Mathematica: ;[s] 3:0,0;65,1;76,2;79,-1; 3:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = input; preserveAspect] a ={{1,I,1+I},{-I,-5,2-I},{1-I,2+I,3}} :[font = input; preserveAspect] a - Conjugate[Transpose[a]] :[font = text; inactive; preserveAspect; endGroup] There are some important properties of transposes and Hermitian transposes that we need to know. The main properties are summarized in the following theorem. Most of the parts are rather easy to verify directly from definitions. The statement about rank is not so obvious. KEY FACT: Let A and B be matrices and c a (complex) scalar. Then the following hold (provided A and B have the suitable sizes for addition or multiplication, as appropriate.) (1) (AT) T = A and (A*) * = A. (2) (A + B)T = AT + BT and (A + B)* = A* + B*. (3) (c A)T = c (AT) and (c A) * = Conj(c) A*. (4) (A B)T = BT AT and (A B)* = B* A*. (5) (A-1)T = (AT)-1 and (A-1)* = (A*)-1. (6) rank (A) = rank (AT) and rank (A) = rank (A*). ;[s] 37:0,0;321,1;322,2;473,3;474,4;476,5;477,6;522,7;523,8;529,9;530,10;536,11;537,12;580,13;581,14;590,15;591,16;635,17;636,18;642,19;643,20;645,21;646,22;682,23;684,24;685,25;686,26;693,27;694,28;695,29;697,30;708,31;710,32;721,33;723,34;751,35;752,36;787,-1; 37:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Exercises :[font = text; inactive; preserveAspect; endGroup; endGroup] Evaluate the following expressions using Mathematica, letting æ1 5 7ö æ 1 2 3ö A = ç0 2 3÷ B = ç-1 0 6÷ è9 0 1ø è1 0 0ø A + B A B B A (Is matrix multiplication commutative?) 5 A - 7 B A (B + 3 I3) - (A B + 3 A) A3 - 4 A2 - 58 A - 11 I3 A-1 B-1 B-1 A-1 (A B)-1 (Which of the above two expressions is this equal to?) AT (A + i B) * (Use properties to write this another way, only using AT and BT. Check your answer using Mathematica. Hint: For real matrices R, RT= R *) ;[s] 56:0,0;41,1;52,2;75,3;76,4;83,5;84,6;110,7;111,8;119,9;120,10;131,11;132,12;139,13;140,14;163,15;164,16;172,17;173,18;187,19;188,20;195,21;196,22;222,23;223,24;231,25;232,26;347,27;348,28;371,29;372,30;378,31;379,32;394,33;395,34;413,35;415,36;417,37;424,38;425,39;427,40;429,41;446,42;506,43;507,44;517,45;519,46;581,47;582,48;588,49;589,50;641,51;652,52;685,53;686,54;692,55;693,-1; 56:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,0,0,Symbol,0,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0;1,11,8,Times,0,12,0,0,0;1,9,7,Times,32,10,0,0,0; ^*)