🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sources.hp48
1 messages
1 total messages Started by Carlos Ferraro Mon, 07 Sep 1992 23:33
v07i001: eche_cf - Echelon reducing v1.0, Part01/01
#20
Author: Carlos Ferraro
Date: Mon, 07 Sep 1992 23:33
199 lines
8636 bytes
Checksum: 4002671969 (verify with brik -cv)
Submitted-by: Carlos Ferraro <carlos@fy.chalmers.se>
Posting-number: Volume 7, Issue 1
Archive-name: eche_cf/part01

BEGIN_DOC eche.doc
Hi everybody !

Here's a very good echelon-reducing program, with following facilities:

1) It handles standard HP48 matrices and gives the answer also as a std. matrix .
2) It is designed to produce the least possible "round-off" error
   ( global truncation error) in order not only to get the answers as
   beautiful as possible, but, what's more important, to have the possibility
   of applying ->Q to every element with the program  FM->Q , wich is also
   posted.
3) The program is very fast - most of it are "intelligent" tests.
   Worst case of running time is aprox. 1 second plus as many seconds as rows are in the matrix!

Usage:  Just press Eche when having a matrix at level 1 you want to reduce.

Optionals: If you have my directory SYMB for handling symbolic matrices called symmat_cf ,
	   you could also download the following programs : FM->Q and AplyPrg
      	   (the last one you should recognize  but ATTENTION
	   this is the new version and it should be at HOME , not at SYMB !!
	   Drop the old one and store the new one. OBS!! I have the SYMB directory
	   in a directory called MATH, change this part in FM->Q if you don't !!)

programs	Checksums	and	bytes :

Eche		# 9997h			944.5
FM->Q		# 82Fh			51.5
AplyPrg		# E497h			441

Of course, this are the values once you have done ASC-> to all of them !!

EXAMPLES:

In: [[ 1 1 1 1 12]		Press Eche and out comes	[[ 1 0 2 -3 7]
     [ 1 2 0 5 17]		after 3 seconds			 [ 0 1 -1 4 5]
     [ 3 2 4 -1 31 ]]						 [ 0 0 0 0 0 ]]


In: [[ 1 2 3 ]			Press Eche and out comes	[[ 1 0 -1 ]
     [ 4 5 6 ]			after 3 seconds			 [ 0 1 2 ]
     [ 7 8 9 ]]							 [ 0 0 0 ]]


In: [[ 10 2 3 ]			Press Eche and out comes	[[ 1 0 0 ]
     [ 4 5 6 ]			after 0.4 seconds		 [ 0 1 0 ]
     [ 7 8 9 ]]							 [ 0 0 1 ]]



In: [[ 10 2 3 ]			Press Eche and out comes	[[ 1 0 0 ]
     [ 4 5 6 ]			after 4.5 seconds		 [ 0 1 0 ]
     [ 7 8 9 ]							 [ 0 0 1 ]
     [ 1 2 5 ]]							 [ 0 0 0 ]]



In:  [[ 11 4 7 1 ]		Press Eche and out comes	[[ 1 0 0 .20000... ]
      [ 2 5 8 2 ]		after 4 seconds			 [ 0 1 0 6.9333... ]
      [ 3 6 9 5 ]]						 [ 0 0 1 -4.133... ]]

Now press FM->Q and you'll get	{{ 1 0 0 '1/5' }	after 1.7 seconds !!
				 { 0 1 0 '104/15' }
				 { 0 0 1 '-(62/15) }}


END_DOC
Download this as as Eche :

BEGIN_ASC eche.asc
%%HP: T(2)A(R)F(.);
"D9D20E163278BF19C2A29C2A247A20B21309C2A24B2A24B2A24B2A24B2A21C43
2D6E201044D6E201025D6E201034D6E201014D6E201005D6E201015D6E2010A5
D6E2010B4D6E201045E1632B7FC178BF13CE228B9C19C2A2279E1AFE22D9D20E
B3A145632D6E20103497632DCC02B21305BF22D9D20EB3A145632D6E20103497
632DCC0245632D6E20102597632DCC02B21305DF223CE22D6E201025D6E20103
4279E1AFE22D9D20D6E201044EDFB1F1AA1B21305BF224B2A25DF223CE223392
05990000000000010EBBE1AFE22D9D209C2A2D6E2010250A132D6E2010E4D6E2
01034900D19C2A2387C145632D6E20101497632B4402C423233032D6E201005D
6E201025CFCE1D6E201015D6E201034EBBE1387E1D5032D9D204B2A245632D6E
2010A597632DCC0233032D6E2010A5F1AA1339205990000000000010EBBE1D6E
201015D6E201034EBBE1387E1D5032D9D209C2A2D6E20101576BA145632D6E20
101597632DCC02D6E201005D6E2010250A132D6E2010943CE229C2A2063C1AFE
22D9D20D6E201014D6E2010946C7D1D6E2010156C7D178BF1F1AA13CE2278BF1
9C2A2D9AE1AFE22D9D203CE22D6E2010A5F1AA1D5CE1AFE22D9D2045632D6E20
10A597632DCC02D6E20109445632D6E2010B497632DCC02B21305BF228DBF15D
F22B21305BF22D9D208DBF145632D6E2010A597632DCC02D6E20109445632D6E
2010B497632DCC029C2A2472C1B21305DF22B21305DF22C4232B2130496323CE
22D6E2010A5F1AA1339205990000000000010D5CE1AFE22D9D203CE22D6E2010
05D6E2010B4D9AE1AFE22D9D20D6E201014D6E2010056C7D1D6E201014D6E201
005D6E201014D6E2010B46C7D1D6E2010A550FA178BF145632D6E20104597632
DCC02704D1DBBF1D6E2010B4DBBF1704D1B21305BF22D9D20D6E201014D6E201
005D6E201014D6E2010056C7D1D6E2010A550FA178BF145632D6E20104597632
DCC02704D1B21305DF2245632D6E20101497632DCC029C2A2D6E2010250A132D
6E2010A43CE22D6E2010A4D6E201005D9AE1AFE22D9D20D6E201014D6E2010A4
6C7D178BF1D6E2010156C7D1D6E201045EEDA190DA1B21305BF22D6E2010455D
F22C4232D6E201025387C145632D6E20101497632DCC029C2A2D6E20100576BA
145632D6E20100597632DCC029C2A25D2C1B21305DF22B2130496329C2A2D6E2
010250A132D6E2010E4D6E201014D6E2010E46C7D160DD1C423247A20D6E2010
25D6E201034B2130900D1B21305BF22D9D20BECF1D6E201025CD2D1B21305DF2
2EF53293632B21307999"
END_ASC

BYTES: #9997h 936

BEGIN_UU eche.uue
begin 644 eche
M2%!(4#0X+46=+>!A(X?[D2PJR:)"IP(K,9`L*K2B0BLJM*)"*RK!--+F`@%$
M;2X0(-7F`@%#;2X0$-3F`@%0;2X0$-7F`@%:;2X0L-3F`@%4'C:R]QR'^S'L
M(KC)D2PJ<NFA[R*=+>`[&E0VTN8"`4-Y-M+,("LQ4/LBG2W@.QI4-M+F`@%#
M>3;2S"!4-M+F`@%2>3;2S"`K,5#](L,NTN8"`5)M+A`P))<>^B[2V0)M+A!`
MY/T;'ZJQ$@.U+T(K*M4O,NPB,RE0F0``````$."['OHNTMD"R:+2Y@(!4J`Q
MTN8"`4YM+A`PE``=R:(R>!Q4-M+F`@%!>3:R1"!,,C(#(VTN$`#5Y@(!4OSL
MT>8"`5%M+A`PY+L>@^?1!2.=+4`K*E0VTN8"`5IY-M+,(#,PTN8"`5H?JC&3
M`I4)```````!ONO1Y@(!46TN$##DNQZ#Y]$%(YTMD"PJ;2X0$'6V&E0VTN8"
M`5%Y-M+,(&TN$`#5Y@(!4J`QTN8"`4G#+I(L*F##H>\BG2W0Y@(!06TN$)!D
M?!UM+A`097P=A_OQH1K#+G*X'\FBTJD>^B[2V0+#+M+F`@%:'ZK1Q1[Z+M+9
M`E0VTN8"`5IY-M+,(&TN$)!$92-M+A"PE&<CS0RR$@.U+X*]']4OLA(#M2_2
MV0+8^T%E(VTN$*"59R/-#-+F`@%)5#;2Y@(!2WDVTLP@R:)")QPK,5#](BLQ
M4/TB3#*R$@.4-C+L(FTN$*#UH1HS*5"9```````0T,4>^B[2V0+#+M+F`@%0
M;2X0L-2I'OHNTMD";2X0$-3F`@%0QM?1Y@(!06TN$`#5Y@(!06TN$+!D?!UM
M+A"@5?`:A_M!92-M+A!`E6<CS0QR0!V]^]'F`@%+O?MQ0!TK,5#[(ITMT.8"
M`4%M+A``U>8"`4%M+A``97P=;2X0H%7P&H?[064C;2X00)5G(\T,<D`=*S%0
M_2)4-M+F`@%!>3;2S"#)HM+F`@%2H#'2Y@(!2L,NTN8"`4IM+A``U:D>^B[2
MV0)M+A`0U.8"`4K&UW&X'VTN$!!E?!UM+A!`Y=X:":VQ$@.U+]+F`@%4U2_"
M)"-M+A`@-7@<5#;2Y@(!07DVTLP@R:+2Y@(!4&>K064C;2X0`)5G(\T,DBPJ
MU<*Q$@/5+[(2`Y0VDBPJ;2X0(`4:(VTN$.#4Y@(!06TN$.!D?!T&W<$D(W0J
LT.8"`5)M+A`PM!(#"="Q$@.U+]+9`NO\T>8"`5+<TK$2`]4OXE\C.3:R$@.R
`
end
sum -r/size 31443/1323 section (from "begin" to "end")
sum -r/size 30070/944 entire input file
END_UU


Now download this as AplyPrg :

BEGIN_ASC AplyPrg.asc
%%HP: T(2)A(R)F(.);
"D9D20E1632DBBF13CE2278BF168BC13F2A2279E1AFE22D9D2084E2040D414458
484E20403595D42484E2030D4D8C4041A1B21305DF2278BF18B9C14B2A21C432
D6E20200527D6E20201416D6E201035D6E20203437E1632D8732D9D20D6E2020
05279C2A2279E18A732D9D20C9432D9D20E163284E2040548734F693632B2130
45632D6E2020052797632DCC02B21305DF22D6E20200527ED2A2279E18A732D9
D20C9432D9D20E163284E2070642734F6C6364793632B213045632D6E2020052
797632DCC02B21305DF22B21305DF223CE22D6E202014169C2A26C7D168BC1D1
3A2D9AE1AFE22D9D20D6E202014169C2A2387C145632D6E2020141697632DCC0
2D6E20103545632D6E2020343797632DCC029C2A245632D6E20103597632DCC0
2B21305BF22D9D20D6E202014169C2A26C7D18B9C145632D6E2020343797632D
CC02B21305DF229C2A2D6E2010350A132D6E201094D6E20201416D6E2010946C
7D11C432D6E20203436E16329C2A2D6E202034370A132D6E2010A4D6E2020343
6D6E2010A46C7D1D6E20200527EB3A1C4232EF532D6E20203437387C1C4232D6
E201035387C1EF53293632B2130794E"
END_ASC


BYTES: #E497h 429.5

BEGIN_UU AplyPrg.uue
begin 644 AplyPrg
M2%!(4#0X+46=+>!A([W[,>PBA_MAN!SSHB*7'OHNTMD"2"Y`T!1$A83D`@13
M64U"2"XPT-3(!!0:*S%0_2*'^X&;'+2B$DPC;2X@`"77Y@("06%M+A`PU>8"
M`D-S'C;2>".=+=#F`@)0<LFB(I<>J#?2V0*<--+9`AXV@N0"!$5X0V\Y-K(2
M`U0VTN8"`E!R>3;2S"`K,5#](FTN(``EYRTJ<NF!>B.=+<!)(YTMX&$C2"YP
M8"0W],8V1I=C(RLQ0&4C;2X@`"679R/-#+(2`]4OLA(#U2\R[")M+B`0%)8L
M*L;78;@<':/2J1[Z+M+9`FTN(!`4EBPJ@\=!92-M+B`0%)9G(\T,TN8"`5-4
M-M+F`@)#<WDVTLP@R:)"92-M+A`PE6<CS0RR$@.U+]+9`FTN(!`4EBPJQM>!
MFQQ4-M+F`@)#<WDVTLP@*S%0_2+)HM+F`@%3H#'2Y@(!26TN(!`4UN8"`4G&
MUQ%,(VTN(#`TYF$CR:+2Y@("0W.@,=+F`@%*;2X@,#36Y@(!2L;7T>8"`E!R
AOJ/!)"/^-=+F`@)#<X/'P20C;2X0,#5X'/XUDF,C*S$`
`
end
sum -r/size 42078/628 section (from "begin" to "end")
sum -r/size 6647/438 entire input file
END_UU

Finally download this as FM->Q :

BEGIN_ASC fmxq.asc
%%HP: T(0)A(R)F(.);
"D9D20E1632C9432D9D20E1632D13A2AE3C14C9F1684C193632B213084E207014
07C69705277693632B2130F280"
END_ASC

BYTES: #82Fh 43

BEGIN_UU fmXq.uue
begin 644 fmXq
M2%!(4#0X+46=+>!A(YPTTMD"'C;2,2KJPT&<'X;$D6,C*S&`Y`('07!L>5!R
&9SDVLA(#
`
end
sum -r/size 46911/93 section (from "begin" to "end")
sum -r/size 40095/51 entire input file
END_UU
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads