Metropoli BBS
VIEWER: l_alg22.all MODE: BINARY (HEX)
==============================================================================================================================================
OFFSET    00 01 02 03 04 05 06 07  08 09 0A 0B 0C 0D 0E 0F  10 11 12 13 14 15 16 17  18 19 1A 1B 1C 1D 1E 1F
----------------------------------------------------------------------------------------------------------------------------------------------
00000000  53 75 62 6A 65 63 74 3A  20 51 52 20 61 6E 64 20  53 56 44 0D 0A 44 61 74  65 3A 20 32 20 44 65 63  Subject: QR and SVDDate: 2 Dec
00000020  20 39 30 20 30 32 3A 33  38 3A 31 39 20 47 4D 54  0D 0A 4F 72 67 61 6E 69  7A 61 74 69 6F 6E 3A 20   90 02:38:19 GMTOrganization: 
00000040  50 75 72 64 75 65 20 55  6E 69 76 65 72 73 69 74  79 20 45 6E 67 69 6E 65  65 72 69 6E 67 20 43 6F  Purdue University Engineering Co
00000060  6D 70 75 74 65 72 20 4E  65 74 77 6F 72 6B 0D 0A  4C 69 6E 65 73 3A 20 31  32 32 0D 0A 00 0D 0A 00  mputer NetworkLines: 122..
00000080  0D 0A 48 69 20 74 68 65  72 65 21 0D 0A 00 0D 0A  48 65 72 65 20 61 72 65  20 74 77 6F 20 48 50 2D  Hi there!.Here are two HP-
000000A0  32 38 20 70 72 6F 67 72  61 6D 73 20 66 6F 72 20  79 6F 75 20 4C 69 6E 65  61 72 20 41 6C 67 65 62  28 programs for you Linear Algeb
000000C0  72 61 20 62 75 66 66 73  3A 20 51 52 20 61 6E 64  20 53 56 44 2E 0D 0A 00  0D 0A 2D 2D 2D 2D 2D 2D  ra buffs: QR and SVD..------
000000E0  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  --------------------------------
00000100  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 0D 0A 00 0D  ----------------------------.
00000120  0A 51 52 3A 0D 0A 2D 2D  2D 0D 0A 00 0D 0A 44 65  63 6F 6D 70 6F 73 65 20  61 20 72 65 61 6C 20 6D  QR:---.Decompose a real m
00000140  61 74 72 69 78 20 41 20  69 6E 74 6F 20 61 20 72  65 61 6C 20 6F 72 74 68  6F 67 6F 6E 61 6C 20 6D  atrix A into a real orthogonal m
00000160  61 74 72 69 78 20 51 20  61 6E 64 20 61 20 72 65  61 6C 0D 0A 75 70 70 65  72 20 74 72 69 61 6E 67  atrix Q and a realupper triang
00000180  75 6C 61 72 20 6D 61 74  72 69 78 20 52 20 73 75  63 68 20 74 68 61 74 20  41 3D 51 2A 52 2E 0D 0A  ular matrix R such that A=Q*R.
000001A0  00 0D 0A 49 6E 70 75 74  3A 0D 0A 2D 2D 2D 2D 2D  2D 0D 0A 00 0D 0A 4C 65  76 65 6C 20 31 3A 20 4D  .Input:------.Level 1: M
000001C0  61 74 72 69 78 20 41 20  28 72 65 61 6C 29 0D 0A  4C 65 76 65 6C 20 32 3A  20 51 20 28 72 65 61 6C  atrix A (real)Level 2: Q (real
000001E0  20 6F 72 74 68 6F 67 6F  6E 61 6C 29 0D 0A 4C 65  76 65 6C 20 33 3A 20 52  20 28 72 65 61 6C 20 75   orthogonal)Level 3: R (real u
00000200  70 70 65 72 20 74 72 69  61 6E 67 75 6C 61 72 29  0D 0A 00 0D 0A 43 68 65  63 6B 73 75 6D 20 5B 41  pper triangular).Checksum [A
00000220  45 42 5D 0D 0A 00 0D 0A  3C 3C 20 2D 3E 20 41 0D  0A 20 20 20 3C 3C 20 41  20 53 49 5A 45 20 4C 49  EB].<< -> A   << A SIZE LI
00000240  53 54 2D 3E 0D 0A 44 52  4F 50 20 2D 3E 20 6E 20  6D 0D 0A 20 20 20 20 20  3C 3C 20 6E 20 49 44 4E  ST->DROP -> n m     << n IDN
00000260  20 41 20 30 20 30 20 2D  3E 0D 0A 51 20 52 20 73  20 63 0D 0A 20 20 20 20  20 20 20 3C 3C 20 31 20   A 0 0 ->Q R s c       << 1 
00000280  6D 0D 0A 20 20 20 20 20  20 20 20 20 46 4F 52 20  6A 20 31 20 6A 20 2B 0D  0A 6E 20 44 55 50 32 0D  m         FOR j 1 j +n DUP2
000002A0  0A 20 20 20 20 20 20 20  20 20 20 20 49 46 20 3E  0D 0A 20 20 20 20 20 20  20 20 20 20 20 54 48 45             IF >           THE
000002C0  4E 20 44 52 4F 50 32 0D  0A 20 20 20 20 20 20 20  20 20 20 20 45 4C 53 45  0D 0A 20 20 20 20 20 20  N DROP2           ELSE      
000002E0  20 20 20 20 20 20 20 46  4F 52 20 69 20 27 52 0D  0A 28 6A 2C 6A 29 27 20  45 56 41 4C 20 53 51 20         FOR i 'R(j,j)' EVAL SQ 
00000300  27 52 28 69 2C 0D 0A 6A  29 27 20 45 56 41 4C 20  53 51 20 2B 20 73 71 72  74 20 44 55 50 0D 0A 20  'R(i,j)' EVAL SQ + sqrt DUP 
00000320  20 20 20 20 20 20 20 20  20 20 20 20 20 49 46 20  44 55 50 0D 0A 30 20 3D  3D 0D 0A 20 20 20 20 20               IF DUP0 ==     
00000340  20 20 20 20 20 20 20 20  20 54 48 45 4E 20 31 0D  0A 27 63 27 20 53 54 4F  20 30 20 27 73 27 20 53           THEN 1'c' STO 0 's' S
00000360  54 4F 0D 0A 44 52 4F 50  32 0D 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 45 4C 53 45 20 27 0D  TODROP2              ELSE '
00000380  0A 52 28 69 2C 6A 29 27  20 45 56 41 4C 20 53 57  41 50 20 2F 0D 0A 27 73  27 20 53 54 4F 20 27 52  R(i,j)' EVAL SWAP /'s' STO 'R
000003A0  28 6A 2C 6A 29 27 0D 0A  45 56 41 4C 20 53 57 41  50 20 2F 20 27 63 27 20  53 54 4F 0D 0A 20 20 20  (j,j)'EVAL SWAP / 'c' STO   
000003C0  20 20 20 20 20 20 20 20  20 20 20 45 4E 44 20 51  0D 0A 6E 20 49 44 4E 20  69 20 69 20 32 20 2D 3E             END Qn IDN i i 2 ->
000003E0  4C 49 53 54 20 63 0D 0A  50 55 54 20 69 20 6A 20  32 20 2D 3E 4C 49 53 54  20 73 0D 0A 4E 45 47 20  LIST cPUT i j 2 ->LIST sNEG 
00000400  50 55 54 20 6A 20 6A 20  32 20 2D 3E 4C 49 53 54  0D 0A 63 20 50 55 54 20  6A 20 69 20 32 20 2D 3E  PUT j j 2 ->LISTc PUT j i 2 ->
00000420  4C 49 53 54 20 73 0D 0A  50 55 54 20 54 52 4E 20  44 55 50 20 54 52 4E 20  52 20 2A 0D 0A 27 52 27  LIST sPUT TRN DUP TRN R *'R'
00000440  20 53 54 4F 20 2A 20 27  51 27 20 53 54 4F 0D 0A  20 20 20 20 20 20 20 20  20 20 20 20 4E 45 58 54   STO * 'Q' STO            NEXT
00000460  0D 0A 20 20 20 20 20 20  20 20 20 20 45 4E 44 0D  0A 20 20 20 20 20 20 20  20 4E 45 58 54 20 51 20            END        NEXT Q 
00000480  52 0D 0A 20 20 20 20 20  20 20 3E 3E 0D 0A 20 20  20 20 20 3E 3E 0D 0A 20  20 20 3E 3E 0D 0A 3E 3E  R       >>     >>   >>>>
000004A0  0D 0A 00 0D 0A 00 0D 0A  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  ..------------------------
000004C0  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  --------------------------------
000004E0  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 0D 0A 00  0D 0A 53 69 6E 67 75 6C  61 72 20 56 61 6C 75 65  -------------.Singular Value
00000500  20 44 65 63 6F 6D 70 6F  73 69 74 69 6F 6E 20 28  53 56 44 29 0D 0A 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D   Decomposition (SVD)----------
00000520  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  0D 0A 00 0D 0A 41 3D 55  ------------------------.A=U
00000540  2A 53 2A 56 27 0D 0A 00  0D 0A 49 6E 70 75 74 3A  0D 0A 2D 2D 2D 2D 2D 2D  0D 0A 00 0D 0A 4C 65 76  *S*V'.Input:------.Lev
00000560  65 6C 20 32 3A 20 4D 61  74 72 69 78 20 41 20 28  72 65 61 6C 29 0D 0A 4C  65 76 65 6C 20 31 3A 20  el 2: Matrix A (real)Level 1: 
00000580  4E 75 6D 62 65 72 20 6F  66 20 51 52 20 69 74 74  65 72 61 74 69 6F 6E 73  0D 0A 00 0D 0A 00 0D 0A  Number of QR itterations..
000005A0  4F 75 74 70 75 74 3A 0D  0A 2D 2D 2D 2D 2D 2D 2D  0D 0A 00 0D 0A 4C 65 76  65 6C 20 31 3A 20 55 20  Output:-------.Level 1: U 
000005C0  28 72 65 61 6C 20 6F 72  74 68 6F 67 6F 6E 61 6C  29 0D 0A 4C 65 76 65 6C  20 32 3A 20 53 20 28 73  (real orthogonal)Level 2: S (s
000005E0  69 6E 67 75 6C 61 72 20  76 61 6C 75 65 73 29 0D  0A 4C 65 76 65 6C 20 33  3A 20 56 20 28 72 65 61  ingular values)Level 3: V (rea
00000600  6C 20 6F 72 74 68 6F 67  6F 6E 61 6C 29 0D 0A 4C  65 76 65 6C 20 34 3A 20  41 42 53 28 55 2A 53 2A  l orthogonal)Level 4: ABS(U*S*
00000620  56 27 2D 41 29 0D 0A 00  0D 0A 00 0D 0A 43 68 65  63 6B 73 75 6D 20 5B 32  46 43 43 5D 0D 0A 00 0D  V'-A)..Checksum [2FCC].
00000640  0A 3C 3C 20 2D 3E 20 41  20 72 0D 0A 20 20 20 3C  3C 20 41 20 53 49 5A 45  20 4C 49 53 54 2D 3E 0D  << -> A r   << A SIZE LIST->
00000660  0A 44 52 4F 50 20 41 20  30 20 30 20 2D 3E 20 6E  20 6D 20 73 20 75 0D 0A  76 0D 0A 20 20 20 20 3C  DROP A 0 0 -> n m s uv    <
00000680  3C 20 6E 20 49 44 4E 20  27 75 27 20 53 54 4F 0D  0A 6D 20 49 44 4E 20 27  76 27 20 53 54 4F 20 31  < n IDN 'u' STOm IDN 'v' STO 1
000006A0  20 72 0D 0A 20 20 20 20  20 20 53 54 41 52 54 20  75 20 73 20 51 52 0D 0A  54 52 4E 20 27 73 27 20   r      START u s QRTRN 's' 
000006C0  53 54 4F 20 2A 20 27 75  27 0D 0A 53 54 4F 20 76  20 73 20 51 52 20 54 52  4E 20 27 73 27 0D 0A 53  STO * 'u'STO v s QR TRN 's'S
000006E0  54 4F 20 2A 20 27 76 27  20 53 54 4F 0D 0A 20 20  20 20 20 20 4E 45 58 54  20 73 0D 0A 20 20 20 20  TO * 'v' STO      NEXT s    
00000700  20 20 49 46 20 73 20 6E  20 6D 20 4D 49 4E 0D 0A  44 55 50 20 32 20 2D 3E  4C 49 53 54 20 47 45 54    IF s n m MINDUP 2 ->LIST GET
00000720  20 30 20 3C 0D 0A 20 20  20 20 20 20 54 48 45 4E  20 6E 20 49 44 4E 20 6E  20 6E 0D 0A 32 20 2D 3E   0 <      THEN n IDN n n2 ->
00000740  4C 49 53 54 20 31 20 4E  45 47 20 50 55 54 0D 0A  44 55 50 20 75 20 53 57  41 50 20 2A 20 27 75 27  LIST 1 NEG PUTDUP u SWAP * 'u'
00000760  20 53 54 4F 0D 0A 53 57  41 50 20 2A 20 27 73 27  20 53 54 4F 20 73 0D 0A  20 20 20 20 20 20 45 4E   STOSWAP * 's' STO s      EN
00000780  44 20 75 20 53 57 41 50  20 76 20 75 0D 0A 73 20  76 20 54 52 4E 20 2A 20  2A 20 41 20 2D 20 41 42  D u SWAP v us v TRN * * A - AB
000007A0  53 0D 0A 20 20 20 20 3E  3E 0D 0A 20 20 3E 3E 0D  0A 3E 3E 0D 0A 00 0D 0A  00 0D 0A 2D 2D 2D 2D 2D  S    >>  >>>>..-----
000007C0  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  --------------------------------
000007E0  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  --------------------------------
00000800  2D 2D 2D 0D 0A 00 0D 0A  00 0D 0A 45 6E 6A 6F 79  21 0D 0A 00 0D 0A 00 0D  0A 50 68 69 6C 69 70 20  ---..Enjoy!..Philip 
00000820  50 65 6C 65 74 69 65 73  0D 0A 2D 2D 0D 0A 00 0D  0A 00 0D 0A 49 20 73 70  65 61 6B 20 66 6F 72 20  Peleties--..I speak for 
00000840  6D 79 73 65 6C 66 2C 20  49 20 74 68 69 6E 6B 20  66 6F 72 20 6D 79 73 65  6C 66 2C 20 49 20 77 6F  myself, I think for myself, I wo
00000860  72 6B 20 66 6F 72 20 6D  79 73 65 6C 66 20 2E 2E  2E 20 62 75 74 20 49 20  64 6F 6E 27 74 20 77 61  rk for myself ... but I don't wa
00000880  6E 74 0D 0A 74 6F 20 70  6C 61 79 20 62 79 20 6D  79 73 65 6C 66 20 2E 2E  2E 20 73 6F 20 62 72 69  ntto play by myself ... so bri
000008A0  6E 67 20 79 6F 75 72 20  74 6F 79 73 20 61 6E 64  20 6C 65 74 27 73 20 73  68 61 72 65 20 2E 2E 2E  ng your toys and let's share ...
000008C0  0D 0A                                                                                               
[ RETURN TO DIRECTORY ]