Output from imlmat4.sas

Source
0 Graphs

NOTE: Capture of log output started.
NOTE: %INCLUDE (level 1) file n:\psy6140\examples\iml\imlmat4.sas is file
      n:\psy6140\examples\iml\imlmat4.sas.
765  +title 'IMLMAT4: Properties of matrix multiplication';
766  +proc iml;
IML Ready
767  +   reset print log fuzz fw=4;
768  +* PROPERTIES OF MATRIX MULTIPLICATION;
769  +A = {1 2, 3 4};
                A             2 rows      2 cols    (numeric)

                                     1    2
                                     3    4

770  +B = {1 1 1, 2 2 2};
                B             2 rows      3 cols    (numeric)

                                   1    1    1
                                   2    2    2

771  +C = {5 5, 6 6, 7 7};
                C             3 rows      2 cols    (numeric)

                                     5    5
                                     6    6
                                     7    7

772  +*-- 1. Associative law: A(BC) = (AB)C = ABC;
773  +print (A) '*' (B * C) ' =' ( A*B*C);
                         A        #TEM1001     #TEM1003
                         1    2 *   18   18  =   90   90
                         3    4     36   36     198  198
774  +print (A * B) '*' (C) ' =' ( A*B*C);
                   #TEM1001            C         #TEM1003
                      5    5    5 *    5    5  =   90   90
                     11   11   11      6    6     198  198
                                       7    7
775  +*-- 2. Distributive laws:;
776  +*    (A+B)C = AC + BC;
777  +*    A(B+C) = AB + AC;
778  +B = {1 1, 2 2};
                B             2 rows      2 cols    (numeric)

                                     1    1
                                     2    2

779  +C = {5 10, 5 10};
                C             2 rows      2 cols    (numeric)

                                     5   10
                                     5   10

780  +print (A+B) '*' (C) ' =' ((A+B) * C);
                      #TEM1001       C         #TEM1003
                         2    3 *    5   10  =   25   50
                         5    6      5   10      55  110
781  +print (A * C) '+' (B * C) '=' ((A+B) * C);
                      #TEM1001    #TEM1002    #TEM1004
                        15   30 +   10   20 =   25   50
                        35   70     20   40     55  110
782  +*-- 3. Multiplication by IDENTITY: A I = I A = A;
783  +A = {1 2 3, 4 5 6};
                A             2 rows      3 cols    (numeric)

                                   1    2    3
                                   4    5    6

784  +print (A) ' * ' ( I(3) ) '=' (A  *  I(3));
                 A               #TEM1001         #TEM1003
                 1    2    3  *     1    0    0 =    1    2    3
                 4    5    6        0    1    0      4    5    6
                                    0    0    1
785  +print ( I(2) ) ' * ' (A) '=' (( I(2) )  *  A);
                #TEM1001         A             #TEM1003
                   1    0  *     1    2    3 =    1    2    3
                   0    1        4    5    6      4    5    6
786  +*-- 4. Multiplication by ZERO: A 0 = 0 A = 0;
787  +print (A) ' * ' ( J(3,3,0) ) '=' (A * J(3,3,0));
                 A               #TEM1001         #TEM1003
                 1    2    3  *     0    0    0 =    0    0    0
                 4    5    6        0    0    0      0    0    0
                                    0    0    0
788  +print ( J(2,2,0) ) ' * ' (A) '=' (( J(2,2,0) ) *  A);
                #TEM1001         A             #TEM1003
                   0    0  *     1    2    3 =    0    0    0
                   0    0        4    5    6      0    0    0
789  +*-- 5. Transpose of product: (AB)` = B` A';
790  +B = {1 1, 2 2, 3 3};
                B             3 rows      2 cols    (numeric)

                                     1    1
                                     2    2
                                     3    3

791  +print 't(' (A) '*' (B) ') = '  (t(A  *  B));
                       A                B           #TEM1002
                 t(    1    2    3 *    1    1 ) =    14   32
                       4    5    6      2    2        14   32
                                        3    3
792  +print (t(B)) '*' (t(A)) ' = ' (t(A  *  B));
                   #TEM1001         #TEM1002      #TEM1004
                      1    2    3 *    1    4  =    14   32
                      1    2    3      2    5       14   32
                                       3    6
793  +*   SAME RULE FOR 3 OR MORE: (ABC)' = C' B' A';
794  +print 't(' A '*' B '*' C ') = '  (t(A * B * C));
                 A                B           C           #TEM1003
           t(    1    2    3 *    1    1 *    5   10 ) =   140  320
                 4    5    6      2    2      5   10       280  640
                                  3    3
795  +print (t(C)) '*' (t(B)) '*' (t(A)) ' = ' (t(A * B * C)) ;
             #TEM1001    #TEM1002         #TEM1003      #TEM1006
                5    5 *    1    2    3 *    1    4  =   140  320
               10   10      1    2    3      2    5      280  640
                                             3    6
796  +*-- 6. Matrix multiplication is (generally) not COMMUTATIVE;
797  +*    A*B ^=B*A;
798  +print (A * B) '^=' (B * A);
                         #TEM1001     #TEM1002
                           14   14 ^=    5    7    9
                           32   32      10   14   18
                                        15   21   27
799  +quit;
Exiting IML.
NOTE: The PROCEDURE IML used 0.16 seconds.

800  +
NOTE: %INCLUDE (level 1) ending.