home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / sources / hp48 / 251 next >
Encoding:
Text File  |  1992-09-08  |  8.2 KB  |  212 lines

  1. Newsgroups: comp.sources.hp48
  2. Path: sparky!uunet!seq!spell
  3. From: Carlos Ferraro <carlos@fy.chalmers.se>
  4. Subject:  v07i001:  eche_cf - Echelon reducing v1.0, Part01/01
  5. Message-ID: <1992Sep7.233345.22880@seq.uncwil.edu>
  6. Followup-To: comp.sys.hp48
  7. Sender: spell@seq.uncwil.edu (Chris Spell)
  8. Organization: Univ. of North Carolina @ Wilmington
  9. Date: Mon, 7 Sep 1992 23:33:45 GMT
  10. Approved: spell@seq.uncwil.edu
  11. Lines: 203
  12.  
  13. Checksum: 4002671969 (verify with brik -cv)
  14. Submitted-by: Carlos Ferraro <carlos@fy.chalmers.se>
  15. Posting-number: Volume 7, Issue 1
  16. Archive-name: eche_cf/part01
  17.  
  18. BEGIN_DOC eche.doc
  19. Hi everybody !
  20.  
  21. Here's a very good echelon-reducing program, with following facilities:
  22.  
  23. 1) It handles standard HP48 matrices and gives the answer also as a std. matrix .
  24. 2) It is designed to produce the least possible "round-off" error
  25.    ( global truncation error) in order not only to get the answers as
  26.    beautiful as possible, but, what's more important, to have the possibility
  27.    of applying ->Q to every element with the program  FM->Q , wich is also
  28.    posted.
  29. 3) The program is very fast - most of it are "intelligent" tests.
  30.    Worst case of running time is aprox. 1 second plus as many seconds as rows are in the matrix!
  31.  
  32. Usage:  Just press Eche when having a matrix at level 1 you want to reduce.
  33.  
  34. Optionals: If you have my directory SYMB for handling symbolic matrices called symmat_cf ,
  35.        you could also download the following programs : FM->Q and AplyPrg
  36.              (the last one you should recognize  but ATTENTION
  37.        this is the new version and it should be at HOME , not at SYMB !!
  38.        Drop the old one and store the new one. OBS!! I have the SYMB directory
  39.        in a directory called MATH, change this part in FM->Q if you don't !!)
  40.  
  41. programs    Checksums    and    bytes :
  42.  
  43. Eche        # 9997h            944.5
  44. FM->Q        # 82Fh            51.5
  45. AplyPrg        # E497h            441
  46.  
  47. Of course, this are the values once you have done ASC-> to all of them !!
  48.  
  49. EXAMPLES:
  50.  
  51. In: [[ 1 1 1 1 12]        Press Eche and out comes    [[ 1 0 2 -3 7]
  52.      [ 1 2 0 5 17]        after 3 seconds             [ 0 1 -1 4 5]
  53.      [ 3 2 4 -1 31 ]]                         [ 0 0 0 0 0 ]]
  54.  
  55.  
  56. In: [[ 1 2 3 ]            Press Eche and out comes    [[ 1 0 -1 ]
  57.      [ 4 5 6 ]            after 3 seconds             [ 0 1 2 ]
  58.      [ 7 8 9 ]]                             [ 0 0 0 ]]
  59.  
  60.  
  61. In: [[ 10 2 3 ]            Press Eche and out comes    [[ 1 0 0 ]
  62.      [ 4 5 6 ]            after 0.4 seconds         [ 0 1 0 ]
  63.      [ 7 8 9 ]]                             [ 0 0 1 ]]
  64.  
  65.  
  66.  
  67. In: [[ 10 2 3 ]            Press Eche and out comes    [[ 1 0 0 ]
  68.      [ 4 5 6 ]            after 4.5 seconds         [ 0 1 0 ]
  69.      [ 7 8 9 ]                             [ 0 0 1 ]
  70.      [ 1 2 5 ]]                             [ 0 0 0 ]]
  71.  
  72.  
  73.  
  74. In:  [[ 11 4 7 1 ]        Press Eche and out comes    [[ 1 0 0 .20000... ]
  75.       [ 2 5 8 2 ]        after 4 seconds             [ 0 1 0 6.9333... ]
  76.       [ 3 6 9 5 ]]                         [ 0 0 1 -4.133... ]]
  77.  
  78. Now press FM->Q and you'll get    {{ 1 0 0 '1/5' }    after 1.7 seconds !!
  79.                  { 0 1 0 '104/15' }
  80.                  { 0 0 1 '-(62/15) }}
  81.  
  82.  
  83. END_DOC
  84. Download this as as Eche :
  85.  
  86. BEGIN_ASC eche.asc
  87. %%HP: T(2)A(R)F(.);
  88. "D9D20E163278BF19C2A29C2A247A20B21309C2A24B2A24B2A24B2A24B2A21C43
  89. 2D6E201044D6E201025D6E201034D6E201014D6E201005D6E201015D6E2010A5
  90. D6E2010B4D6E201045E1632B7FC178BF13CE228B9C19C2A2279E1AFE22D9D20E
  91. B3A145632D6E20103497632DCC02B21305BF22D9D20EB3A145632D6E20103497
  92. 632DCC0245632D6E20102597632DCC02B21305DF223CE22D6E201025D6E20103
  93. 4279E1AFE22D9D20D6E201044EDFB1F1AA1B21305BF224B2A25DF223CE223392
  94. 05990000000000010EBBE1AFE22D9D209C2A2D6E2010250A132D6E2010E4D6E2
  95. 01034900D19C2A2387C145632D6E20101497632B4402C423233032D6E201005D
  96. 6E201025CFCE1D6E201015D6E201034EBBE1387E1D5032D9D204B2A245632D6E
  97. 2010A597632DCC0233032D6E2010A5F1AA1339205990000000000010EBBE1D6E
  98. 201015D6E201034EBBE1387E1D5032D9D209C2A2D6E20101576BA145632D6E20
  99. 101597632DCC02D6E201005D6E2010250A132D6E2010943CE229C2A2063C1AFE
  100. 22D9D20D6E201014D6E2010946C7D1D6E2010156C7D178BF1F1AA13CE2278BF1
  101. 9C2A2D9AE1AFE22D9D203CE22D6E2010A5F1AA1D5CE1AFE22D9D2045632D6E20
  102. 10A597632DCC02D6E20109445632D6E2010B497632DCC02B21305BF228DBF15D
  103. F22B21305BF22D9D208DBF145632D6E2010A597632DCC02D6E20109445632D6E
  104. 2010B497632DCC029C2A2472C1B21305DF22B21305DF22C4232B2130496323CE
  105. 22D6E2010A5F1AA1339205990000000000010D5CE1AFE22D9D203CE22D6E2010
  106. 05D6E2010B4D9AE1AFE22D9D20D6E201014D6E2010056C7D1D6E201014D6E201
  107. 005D6E201014D6E2010B46C7D1D6E2010A550FA178BF145632D6E20104597632
  108. DCC02704D1DBBF1D6E2010B4DBBF1704D1B21305BF22D9D20D6E201014D6E201
  109. 005D6E201014D6E2010056C7D1D6E2010A550FA178BF145632D6E20104597632
  110. DCC02704D1B21305DF2245632D6E20101497632DCC029C2A2D6E2010250A132D
  111. 6E2010A43CE22D6E2010A4D6E201005D9AE1AFE22D9D20D6E201014D6E2010A4
  112. 6C7D178BF1D6E2010156C7D1D6E201045EEDA190DA1B21305BF22D6E2010455D
  113. F22C4232D6E201025387C145632D6E20101497632DCC029C2A2D6E20100576BA
  114. 145632D6E20100597632DCC029C2A25D2C1B21305DF22B2130496329C2A2D6E2
  115. 010250A132D6E2010E4D6E201014D6E2010E46C7D160DD1C423247A20D6E2010
  116. 25D6E201034B2130900D1B21305BF22D9D20BECF1D6E201025CD2D1B21305DF2
  117. 2EF53293632B21307999"
  118. END_ASC
  119.  
  120. BYTES: #9997h 936
  121.  
  122. BEGIN_UU eche.uue
  123. begin 644 eche
  124. M2%!(4#0X+46=+>!A(X?[D2PJR:)"IP(K,9`L*K2B0BLJM*)"*RK!--+F`@%$
  125. M;2X0(-7F`@%#;2X0$-3F`@%0;2X0$-7F`@%:;2X0L-3F`@%4'C:R]QR'^S'L
  126. M(KC)D2PJ<NFA[R*=+>`[&E0VTN8"`4-Y-M+,("LQ4/LBG2W@.QI4-M+F`@%#
  127. M>3;2S"!4-M+F`@%2>3;2S"`K,5#](L,NTN8"`5)M+A`P))<>^B[2V0)M+A!`
  128. MY/T;'ZJQ$@.U+T(K*M4O,NPB,RE0F0``````$."['OHNTMD"R:+2Y@(!4J`Q
  129. MTN8"`4YM+A`PE``=R:(R>!Q4-M+F`@%!>3:R1"!,,C(#(VTN$`#5Y@(!4OSL
  130. MT>8"`5%M+A`PY+L>@^?1!2.=+4`K*E0VTN8"`5IY-M+,(#,PTN8"`5H?JC&3
  131. M`I4)```````!ONO1Y@(!46TN$##DNQZ#Y]$%(YTMD"PJ;2X0$'6V&E0VTN8"
  132. M`5%Y-M+,(&TN$`#5Y@(!4J`QTN8"`4G#+I(L*F##H>\BG2W0Y@(!06TN$)!D
  133. M?!UM+A`097P=A_OQH1K#+G*X'\FBTJD>^B[2V0+#+M+F`@%:'ZK1Q1[Z+M+9
  134. M`E0VTN8"`5IY-M+,(&TN$)!$92-M+A"PE&<CS0RR$@.U+X*]']4OLA(#M2_2
  135. MV0+8^T%E(VTN$*"59R/-#-+F`@%)5#;2Y@(!2WDVTLP@R:)")QPK,5#](BLQ
  136. M4/TB3#*R$@.4-C+L(FTN$*#UH1HS*5"9```````0T,4>^B[2V0+#+M+F`@%0
  137. M;2X0L-2I'OHNTMD";2X0$-3F`@%0QM?1Y@(!06TN$`#5Y@(!06TN$+!D?!UM
  138. M+A"@5?`:A_M!92-M+A!`E6<CS0QR0!V]^]'F`@%+O?MQ0!TK,5#[(ITMT.8"
  139. M`4%M+A``U>8"`4%M+A``97P=;2X0H%7P&H?[064C;2X00)5G(\T,<D`=*S%0
  140. M_2)4-M+F`@%!>3;2S"#)HM+F`@%2H#'2Y@(!2L,NTN8"`4IM+A``U:D>^B[2
  141. MV0)M+A`0U.8"`4K&UW&X'VTN$!!E?!UM+A!`Y=X:":VQ$@.U+]+F`@%4U2_"
  142. M)"-M+A`@-7@<5#;2Y@(!07DVTLP@R:+2Y@(!4&>K064C;2X0`)5G(\T,DBPJ
  143. MU<*Q$@/5+[(2`Y0VDBPJ;2X0(`4:(VTN$.#4Y@(!06TN$.!D?!T&W<$D(W0J
  144. LT.8"`5)M+A`PM!(#"="Q$@.U+]+9`NO\T>8"`5+<TK$2`]4OXE\C.3:R$@.R
  145. `
  146. end
  147. sum -r/size 31443/1323 section (from "begin" to "end")
  148. sum -r/size 30070/944 entire input file
  149. END_UU
  150.  
  151.  
  152. Now download this as AplyPrg :
  153.  
  154. BEGIN_ASC AplyPrg.asc
  155. %%HP: T(2)A(R)F(.);
  156. "D9D20E1632DBBF13CE2278BF168BC13F2A2279E1AFE22D9D2084E2040D414458
  157. 484E20403595D42484E2030D4D8C4041A1B21305DF2278BF18B9C14B2A21C432
  158. D6E20200527D6E20201416D6E201035D6E20203437E1632D8732D9D20D6E2020
  159. 05279C2A2279E18A732D9D20C9432D9D20E163284E2040548734F693632B2130
  160. 45632D6E2020052797632DCC02B21305DF22D6E20200527ED2A2279E18A732D9
  161. D20C9432D9D20E163284E2070642734F6C6364793632B213045632D6E2020052
  162. 797632DCC02B21305DF22B21305DF223CE22D6E202014169C2A26C7D168BC1D1
  163. 3A2D9AE1AFE22D9D20D6E202014169C2A2387C145632D6E2020141697632DCC0
  164. 2D6E20103545632D6E2020343797632DCC029C2A245632D6E20103597632DCC0
  165. 2B21305BF22D9D20D6E202014169C2A26C7D18B9C145632D6E2020343797632D
  166. CC02B21305DF229C2A2D6E2010350A132D6E201094D6E20201416D6E2010946C
  167. 7D11C432D6E20203436E16329C2A2D6E202034370A132D6E2010A4D6E2020343
  168. 6D6E2010A46C7D1D6E20200527EB3A1C4232EF532D6E20203437387C1C4232D6
  169. E201035387C1EF53293632B2130794E"
  170. END_ASC
  171.  
  172.  
  173. BYTES: #E497h 429.5
  174.  
  175. BEGIN_UU AplyPrg.uue
  176. begin 644 AplyPrg
  177. M2%!(4#0X+46=+>!A([W[,>PBA_MAN!SSHB*7'OHNTMD"2"Y`T!1$A83D`@13
  178. M64U"2"XPT-3(!!0:*S%0_2*'^X&;'+2B$DPC;2X@`"77Y@("06%M+A`PU>8"
  179. M`D-S'C;2>".=+=#F`@)0<LFB(I<>J#?2V0*<--+9`AXV@N0"!$5X0V\Y-K(2
  180. M`U0VTN8"`E!R>3;2S"`K,5#](FTN(``EYRTJ<NF!>B.=+<!)(YTMX&$C2"YP
  181. M8"0W],8V1I=C(RLQ0&4C;2X@`"679R/-#+(2`]4OLA(#U2\R[")M+B`0%)8L
  182. M*L;78;@<':/2J1[Z+M+9`FTN(!`4EBPJ@\=!92-M+B`0%)9G(\T,TN8"`5-4
  183. M-M+F`@)#<WDVTLP@R:)"92-M+A`PE6<CS0RR$@.U+]+9`FTN(!`4EBPJQM>!
  184. MFQQ4-M+F`@)#<WDVTLP@*S%0_2+)HM+F`@%3H#'2Y@(!26TN(!`4UN8"`4G&
  185. MUQ%,(VTN(#`TYF$CR:+2Y@("0W.@,=+F`@%*;2X@,#36Y@(!2L;7T>8"`E!R
  186. AOJ/!)"/^-=+F`@)#<X/'P20C;2X0,#5X'/XUDF,C*S$`
  187. `
  188. end
  189. sum -r/size 42078/628 section (from "begin" to "end")
  190. sum -r/size 6647/438 entire input file
  191. END_UU
  192.  
  193. Finally download this as FM->Q :
  194.  
  195. BEGIN_ASC fmxq.asc
  196. %%HP: T(0)A(R)F(.);
  197. "D9D20E1632C9432D9D20E1632D13A2AE3C14C9F1684C193632B213084E207014
  198. 07C69705277693632B2130F280"
  199. END_ASC
  200.  
  201. BYTES: #82Fh 43
  202.  
  203. BEGIN_UU fmXq.uue
  204. begin 644 fmXq
  205. M2%!(4#0X+46=+>!A(YPTTMD"'C;2,2KJPT&<'X;$D6,C*S&`Y`('07!L>5!R
  206. &9SDVLA(#
  207. `
  208. end
  209. sum -r/size 46911/93 section (from "begin" to "end")
  210. sum -r/size 40095/51 entire input file
  211. END_UU
  212.