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.