diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet index 573340d..f4b45bd 100644 --- a/src/input/Makefile.pamphlet +++ b/src/input/Makefile.pamphlet @@ -392,7 +392,8 @@ REGRESSTESTS= ackermann.regress \ roman.regress romanpolynomials.regress \ roots.regress rsa.regress \ ruleset.regress rules.regress \ - rubey.regress sae.regress spline.regress \ + rubey.regress sae.regress segletes.regress \ + spline.regress \ scherk.regress scope.regress seccsc.regress \ segbind.regress seg.regress \ series2.regress series.regress sersolve.regress set.regress \ @@ -883,7 +884,7 @@ FILES= ${OUT}/ackermann.input \ ${OUT}/rsa.input \ ${OUT}/ruleset.input ${OUT}/rules.input ${OUT}/rubey.input \ ${OUT}/sae.input \ - ${OUT}/spline.input ${OUT}/schaum1.input \ + ${OUT}/spline.input ${OUT}/segletes.input ${OUT}/schaum1.input \ ${OUT}/schaum2.input ${OUT}/schaum3.input ${OUT}/schaum4.input \ ${OUT}/schaum5.input ${OUT}/schaum6.input ${OUT}/schaum7.input \ ${OUT}/schaum8.input ${OUT}/schaum9.input ${OUT}/schaum10.input \ @@ -1370,6 +1371,7 @@ DOCFILES= \ ${DOC}/romnum.as.dvi ${DOC}/roots.input.dvi \ ${DOC}/rsa.input.dvi \ ${DOC}/ruleset.input.dvi ${DOC}/rules.input.dvi \ + ${DOC}/segletes.input.dvi \ ${DOC}/spline.input.dvi ${DOC}/sae.input.dvi \ ${DOC}/schaum1.input.dvi ${DOC}/schaum2.input.dvi \ ${DOC}/schaum3.input.dvi ${DOC}/schaum4.input.dvi \ diff --git a/src/input/segletes.input.pamphlet b/src/input/segletes.input.pamphlet new file mode 100644 index 0000000..8ffc464 --- /dev/null +++ b/src/input/segletes.input.pamphlet @@ -0,0 +1,669 @@ +\documentclass{article} +\usepackage{axiom} +\setlength{\textwidth}{400pt} +\begin{document} +\title{\$SPAD/src/input segletes.input} +\author{Steven B. Segletes and Timothy Daly} +\maketitle +\begin{abstract} +Segletes [Segletes 09] says that +efforts were made since the publication of ARL-TR-1758 [Segletes 98] +to improve upon the accuracy of the fits presented in that document. +Using the terminology of that report, the fit is actually done on +$F_1(2)$, where $w=1/x$ and the function +\[F_1=E_1e^{1/w}/w\] +(i.e. $F_1=xe^xE_1$). This transformation provides for a function +$F_1(w)$ which varies smoothly from unity (at $w=0$) to zero +(as $w\rightarrow\infty$). The fits were developed to minimize the +largest occurance of the error function +\[\epsilon=[(F_1)_{fit}-F_1]/F_1\] +at any point on the functional domain ($0 \le w < \infty$). + +Several fits were developed, with greater accuracy resulting from the +use of more parameters. In all cases, the fitted value of $F_1$ takes +the form +\[(F_1)_{fit}=1/w*ln\{1+w-[w-ln(1+w)]*f(w)\}\] + +Different fitting forms for $f$ are presented below, with the associated +values of max($\epsilon$) and the value of $w$ for which the max($\epsilon$) +occurs. + +\end{abstract} +\eject +\tableofcontents +\eject +\begin{chunk}{*} +)set break resume +)sys rm -f segletes.output +)spool segletes.output +)set message test on +)set message auto off +\end{chunk} + +\section{6-Parameter Fit} +\[f(w)=\frac{1+Aw+(1-e^{-\gamma})Bw^2} +{1+\displaystyle{}\left(A+\frac{5}{3}\right)w\frac{1+C_1w^2}{1+D_1w^2}+ +\displaystyle{}Bw^2\frac{C_2+w^2}{D_2+w^2}}\] + +\noindent +$A$ = 4.69041102625857590D+00\\ +$B$ = 7.76097664114015200D+00\\ +$C_1$ = 2.30659438867190370D-01\\ +$D_1$ = 2.37827207448962350D-01\\ +$C_2$ = 1.40614716699937220D+02\\ +$D_2$ = 1.39838508752857140D+02 + +max($\epsilon$)=1.709092E-05 at $w=99.782947$ + +\begin{chunk}{*} +)clear all + +--S 1 of 61 +A6:=4.69041102625857590 +--R +--R +--R (1) 4.6904110262 585759 +--R Type: Float +--E 1 + +--S 2 of 61 +B6:=7.76097664114015200 +--R +--R +--R (2) 7.7609766411 40152 +--R Type: Float +--E 2 + +--S 3 of 61 +C16:=2.30659438867190370E-1 +--R +--R +--R (3) 0.2306594388 6719037 +--R Type: Float +--E 3 + +--S 4 of 61 +D16:=2.37827207448962350E-1 +--R +--R +--R (4) 0.2378272074 4896235 +--R Type: Float +--E 4 + +--S 5 of 61 +C26:=1.40614716699937220E+2 +--R +--R +--R (5) 140.6147166999 3722 +--R Type: Float +--E 5 + +--S 6 of 61 +D26:=1.39838508752857140E+2 +--R +--R +--R (6) 139.8385087528 5714 +--R Type: Float +--E 6 + +\end{chunk} + +The constant $\gamma$ is Euler's constant which is the limit of the +expression +\[(1+1/2+1/3+1/4+\ldots+1/n)-\ln(x)=0.577215664901532860606512090082\ldots\] + +\begin{chunk}{*} + +--S 7 of 61 +Euler:=0.57721566490153286061 +--R +--R +--R (7) 0.5772156649 0153286061 +--R Type: Float +--E 7 + +--S 8 of 61 +term16(w:DFLOAT):DFLOAT == 1 + A6*w + (1-%e^(-Euler))*B6*w^2 +--R +--R Function declaration term16 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 8 + +--S 9 of 61 +term26(w:DFLOAT):DFLOAT == w*(1+C16*w^2)/(1+D16*w^2) +--R +--R Function declaration term26 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 9 + +--S 10 of 61 +term36(w:DFLOAT):DFLOAT == B6*w^2*(C26+w^2)/(D26+w^2) +--R +--R Function declaration term36 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 10 + +--S 11 of 61 +sixfit(w:DFLOAT):DFLOAT == term16(w) / ( 1 + (A6+5/3)*term26(w) + term36(w)) +--R +--R Function declaration sixfit : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 11 + +\end{chunk} + +\section{8-Parameter Fit} +\[f(w)=\frac{1+Aw+(1-e^{-\gamma})Bw^2} +{\displaystyle{}1+\left(A+\frac{5}{3}\right)w+ +Bw^2\left(1+ +\frac{C_1}{D_1+w}+ +\frac{C_2w}{(D_2+w)^2}+ +\frac{C_3w^2}{(D_3+w)^3} +\right)}\] + +\noindent +$A$ = 4.99191263403800090D+00\\ +$B$ = 8.55392302479002180D+00\\ +$C_1$ = 2.41723456633978670D+00\\ +$D_1$ = 3.38951420119681250D+02\\ +$C_2$ = -1.22812127267525170D+00\\ +$D_2$ = 1.37651629589202030D+02\\ +$C_3$ = -5.35044576792352150D-02\\ +$D_3$ = 8.67574715486645330D-01 + +max($\epsilon$)=3.256059E-06 at $w=14.116516$ + +\begin{chunk}{*} + +--S 12 of 61 +A8:=4.99191263403800090 +--R +--R +--R (12) 4.9919126340 380009 +--R Type: Float +--E 12 + +--S 13 of 61 +B8:=8.55392302479002180 +--R +--R +--R (13) 8.5539230247 900218 +--R Type: Float +--E 13 + +--S 14 of 61 +C18:=2.41723456633978670 +--R +--R +--R (14) 2.4172345663 397867 +--R Type: Float +--E 14 + +--S 15 of 61 +D18:=3.38951420119681250E2 +--R +--R +--R (15) 338.9514201196 8125 +--R Type: Float +--E 15 + +--S 16 of 61 +C28:=-1.22812127267525170 +--R +--R +--R (16) - 1.2281212726 752517 +--R Type: Float +--E 16 + +--S 17 of 61 +D28:=1.37651629589202030E2 +--R +--R +--R (17) 137.6516295892 0203 +--R Type: Float +--E 17 + +--S 18 of 61 +C38:=-5.35044576792352150E-2 +--R +--R +--R (18) - 0.0535044576 79235215 +--R Type: Float +--E 18 + +--S 19 of 61 +D38:=8.67574715486645330E-1 +--R +--R +--R (19) 0.8675747154 8664533 +--R Type: Float +--E 19 + +--S 20 of 61 +term18(w:DFLOAT):DFLOAT == 1 + A8*w + (1-%e^(-Euler))*B8*w^2 +--R +--R Function declaration term18 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 20 + +--S 21 of 61 +term28(w:DFLOAT):DFLOAT == (A8+5/3)*w +--R +--R Function declaration term28 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 21 + +--S 22 of 61 +term38(w:DFLOAT):DFLOAT == C18/(D18+w) +--R +--R Function declaration term38 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 22 + +--S 23 of 61 +term48(w:DFLOAT):DFLOAT == C28*w/(D28+w)^2 +--R +--R Function declaration term48 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 23 + +--S 24 of 61 +term58(w:DFLOAT):DFLOAT == C38*w^2/(D38+w)^3 +--R +--R Function declaration term58 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 24 + +--S 25 of 61 +eightfit(w:DFLOAT):DFLOAT == + term18(w)/(1+term28(w)+B8*w^2*(1+term38(w)+term48(w)+term58(w))) +--R +--R Function declaration eightfit : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 25 + +\end{chunk} + +\section{10-Parameter Fit} +\[f(w)=\frac{1+Aw+B(1-e^{-\gamma})w^2} +{\displaystyle{}1+\left(A+\frac{5}{3}\right)w +\frac{1+E_1w^2+C_1w^3}{1+G_1w^2+D_1w^3}+ +Bw^2\frac{C_2+E_2w+w^2}{D_2+G_2w+w^2}}\] + +\noindent +$A$ = 7.74823271875959920D+00\\ +$B$ = 2.42331702915707580D+-1\\ +$C_1$ = 3.48159341103108960D-03\\ +$D_1$ = 1.01421240602993130D-03\\ +$C_2$ = 7.77813337451483160D+01\\ +$D_2$ = 9.41171735762913930D+01\\ +$E_1$ = 9.52872674659433150D-01\\ +$G_1$ = 9.43128313648529780D-01\\ +$E_2$ = 6.29952753733901360D+01\\ +$G_2$ = 6.28722150790988370D+01 + +max($\epsilon$)=1.882788E-06 at $w=45.275091$ + +\begin{chunk}{*} + +--S 26 of 61 +A10:=7.74823271875959920 +--R +--R +--R (26) 7.7482327187 595992 +--R Type: Float +--E 26 + +--S 27 of 61 +B10:=2.42331702915707580E1 +--R +--R +--R (27) 24.2331702915 70758 +--R Type: Float +--E 27 + +--S 28 of 61 +C110:=3.48159341103108960E-3 +--R +--R +--R (28) 0.0034815934 110310896 +--R Type: Float +--E 28 + +--S 29 of 61 +D110:=1.01421240602993130E-3 +--R +--R +--R (29) 0.0010142124 060299313 +--R Type: Float +--E 29 + +--S 30 of 61 +C210:=7.77813337451483160E1 +--R +--R +--R (30) 77.7813337451 48316 +--R Type: Float +--E 30 + +--S 31 of 61 +D210:=9.41171735762913930E1 +--R +--R +--R (31) 94.1171735762 91393 +--R Type: Float +--E 31 + +--S 32 of 61 +E110:=9.52872674659433150E-1 +--R +--R +--R (32) 0.9528726746 5943315 +--R Type: Float +--E 32 + +--S 33 of 61 +G110:=9.43128313648529780E-1 +--R +--R +--R (33) 0.9431283136 4852978 +--R Type: Float +--E 33 + +--S 34 of 61 +E210:=6.29952753733901360E1 +--R +--R +--R (34) 62.9952753733 90136 +--R Type: Float +--E 34 + +--S 35 of 61 +G210:=6.28722150790988370E1 +--R +--R +--R (35) 62.8722150790 98837 +--R Type: Float +--E 35 + +--S 36 of 61 +term110(w:DFLOAT):DFLOAT == 1 + A10*w + B10*(1-%e^(-Euler))*w^2 +--R +--R Function declaration term110 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 36 + +--S 37 of 61 +term210(w:DFLOAT):DFLOAT == + (A10+5/3)*w*(1+E110*w^2+C110*w^3)/(1+G110*w^2+D110*w^3) +--R +--R Function declaration term210 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 37 + +--S 38 of 61 +term310(w:DFLOAT):DFLOAT == B10*w^2*(C210+E210*w+w^2)/(D210+G210*w+w^2) +--R +--R Function declaration term310 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 38 + +--S 39 of 61 +tenfit(w:DFLOAT):DFLOAT == term110(w)/(1+term210(w)+term310(w)) +--R +--R Function declaration tenfit : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 39 + +\end{chunk} + +\section{12-Parameter Fit} +\[f(w)=\frac{1+Aw+B(1-e^{-\gamma})w^2} +{\displaystyle{}1+ +\frac{A+5/3+H_1w}{1+H_2w}w\frac{1+E_1w^2+C_1w^3}{1+G_1w^2+D_1w^3}+ +Bw^2\frac{C_2+E_2w+w^2}{D_2+G_2w+w^2}}\] + +\noindent +$A$ = 6.58272149564893640D+00\\ +$B$ = 1.65978816181933130D+01\\ +$C_1$ = 5.14357696611253590D-03\\ +$D_1$ = 2.33075091216811960D-03\\ +$C_2$ = 7.13737271086793040D+01\\ +$D_2$ = 8.03410183545183260D+01\\ +$E_1$ = 7.58135938490494650D-01\\ +$G_1$ = 7.56175417133594260D-01\\ +$E_2$ = 4.63752805419194370D+01\\ +$G_2$ = 4.63079462234788510D+01\\ +$H_1$ = 2.97036738105914930D-03\\ +$H_2$ = 1.92452599275716720D-04 + +max($\epsilon$)=3.076770E-07 at $w=0.072472$ + +\begin{chunk}{*} + +--S 40 of 61 +A12:=6.58272149564893640 +--R +--R +--R (40) 6.5827214956 489364 +--R Type: Float +--E 40 + +--S 41 of 61 +B12:=1.65978816181933130E1 +--R +--R +--R (41) 16.5978816181 93313 +--R Type: Float +--E 41 + +--S 42 of 61 +C112:=5.14357696611253590E-3 +--R +--R +--R (42) 0.0051435769 661125359 +--R Type: Float +--E 42 + +--S 43 of 61 +D112:=2.33075091216811960E-3 +--R +--R +--R (43) 0.0023307509 121681196 +--R Type: Float +--E 43 + +--S 44 of 61 +C212:=7.13737271086793040E1 +--R +--R +--R (44) 71.3737271086 79304 +--R Type: Float +--E 44 + +--S 45 of 61 +D212:=8.03410183545183260E1 +--R +--R +--R (45) 80.3410183545 18326 +--R Type: Float +--E 45 + +--S 46 of 61 +E112:=7.58135938490494650E-1 +--R +--R +--R (46) 0.7581359384 9049465 +--R Type: Float +--E 46 + +--S 47 of 61 +G112:=7.56175417133594260E-1 +--R +--R +--R (47) 0.7561754171 3359426 +--R Type: Float +--E 47 + +--S 48 of 61 +E212:=4.63752805419194370E1 +--R +--R +--R (48) 46.3752805419 19437 +--R Type: Float +--E 48 + +--S 49 of 61 +G212:=4.63079462234788510E1 +--R +--R +--R (49) 46.3079462234 78851 +--R Type: Float +--E 49 + +--S 50 of 61 +H112:=2.97036738105914930E-3 +--R +--R +--R (50) 0.0029703673 810591493 +--R Type: Float +--E 50 + +--S 51 of 61 +H212:=1.92452599275716720E-4 +--R +--R +--R (51) 0.0001924525 9927571672 +--R Type: Float +--E 51 + +--S 52 of 61 +term112(w:DFLOAT):DFLOAT == 1 + A12*w + B12*(1-%e^(-Euler))*w^2 +--R +--R Function declaration term112 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 52 + +--S 53 of 61 +term212(w:DFLOAT):DFLOAT == (A12+5/3+H112*w)/(1+H212*w)*w +--R +--R Function declaration term212 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 53 + +--S 54 of 61 +term312(w:DFLOAT):DFLOAT == (1+E112*w^2+C112*w^3)/(1+G112*w^2+D112*w^3) +--R +--R Function declaration term312 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 54 + +--S 55 of 61 +term412(w:DFLOAT):DFLOAT == B12*w^2*(C212+E212*w+w^2)/(D212+G212*w+w^2) +--R +--R Function declaration term412 : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 55 + +--S 56 of 61 +twelvefit(w:DFLOAT):DFLOAT == term112(w)/(1+term212(w)*term312(w)+term412(w)) +--R +--R Function declaration twelvefit : DoubleFloat -> DoubleFloat has been +--R added to workspace. +--R Type: Void +--E 56 + +--S 57 of 61 +fit6:=sixfit(0.5) +--R +--R Compiling function term16 with type DoubleFloat -> DoubleFloat +--R Compiling function term26 with type DoubleFloat -> DoubleFloat +--R Compiling function term36 with type DoubleFloat -> DoubleFloat +--R Compiling function sixfit with type DoubleFloat -> DoubleFloat +--R +--R (57) 0.685168728102725 +--R Type: DoubleFloat +--E 57 + +--S 58 of 61 +fit8:=eightfit(0.5) +--R +--R Compiling function term18 with type DoubleFloat -> DoubleFloat +--R Compiling function term28 with type DoubleFloat -> DoubleFloat +--R Compiling function term38 with type DoubleFloat -> DoubleFloat +--R Compiling function term48 with type DoubleFloat -> DoubleFloat +--R Compiling function term58 with type DoubleFloat -> DoubleFloat +--R Compiling function eightfit with type DoubleFloat -> DoubleFloat +--R +--R (58) 0.68509590625222627 +--R Type: DoubleFloat +--E 58 + +--S 59 of 50 +fit10:=tenfit(0.5) +--R +--R Compiling function term110 with type DoubleFloat -> DoubleFloat +--R Compiling function term210 with type DoubleFloat -> DoubleFloat +--R Compiling function term310 with type DoubleFloat -> DoubleFloat +--R Compiling function tenfit with type DoubleFloat -> DoubleFloat +--R +--R (59) 0.68509798243459208 +--R Type: DoubleFloat +--E 59 + +--S 60 of 61 +fit12:=twelvefit(0.5) +--R +--R Compiling function term112 with type DoubleFloat -> DoubleFloat +--R Compiling function term212 with type DoubleFloat -> DoubleFloat +--R Compiling function term312 with type DoubleFloat -> DoubleFloat +--R Compiling function term412 with type DoubleFloat -> DoubleFloat +--R Compiling function twelvefit with type DoubleFloat -> DoubleFloat +--R +--R (60) 0.68508904177847973 +--R Type: DoubleFloat +--E 60 + +--S 61 of 61 +[fit12-fit6, fit12-fit8, fit12-fit10] +--R +--R +--R (61) +--R [- 7.9686324245265006E-5,- 6.864473746537314E-6,- 8.9406561123439587E-6] +--R Type: List(DoubleFloat) +--E 61 + +)spool +)lisp (bye) + +\end{chunk} +\eject +\begin{thebibliography}{99} +\bibitem[Segletes 98]{Se98} Segletes, S.B.\\ +``A compact analytical fit to the exponential integral $E_1(x)$\\ +Technical Report ARL-TR-1758, U.S. Army Ballistic Research Laboratory,\\ +Aberdeen Proving Ground, MD, September 1998 +\bibitem[Segletes 09]{Se09} Segletes, S.B.\\ +``Improved fits for $E_1(x)$ {\sl vis-\'a-vis} those presented in ARL-TR-1758\\ +Technical Report ARL-TR-1758, U.S. Army Ballistic Research Laboratory,\\ +Aberdeen Proving Ground, MD, September 1998 +\end{thebibliography} +\end{document}