diff options
Diffstat (limited to 'src/hyper/pages/aspex.ht')
-rw-r--r-- | src/hyper/pages/aspex.ht | 795 |
1 files changed, 795 insertions, 0 deletions
diff --git a/src/hyper/pages/aspex.ht b/src/hyper/pages/aspex.ht new file mode 100644 index 00000000..c25d4526 --- /dev/null +++ b/src/hyper/pages/aspex.ht @@ -0,0 +1,795 @@ +\begin{page}{Asp1ExampleCode}{Asp1 Example Code} +\begin{verbatim} + DOUBLE PRECISION FUNCTION F(X) + DOUBLE PRECISION X + F=DSIN(X) + RETURN + END +\end{verbatim} +\end{page} + +\begin{page}{Asp10ExampleCode}{Asp10 Example Code} +\begin{verbatim} + SUBROUTINE COEFFN(P,Q,DQDL,X,ELAM,JINT) + DOUBLE PRECISION ELAM,P,Q,X,DQDL + INTEGER JINT + P=1.0D0 + Q=((-1.0D0*X**3)+ELAM*X*X-2.0D0)/(X*X) + DQDL=1.0D0 + RETURN + END +\end{verbatim} +\end{page} + + +\begin{page}{Asp12ExampleCode}{Asp12 Example Code} +\begin{verbatim} + SUBROUTINE MONIT (MAXIT,IFLAG,ELAM,FINFO) + DOUBLE PRECISION ELAM,FINFO(15) + INTEGER MAXIT,IFLAG + IF(MAXIT.EQ.-1)THEN + PRINT*,"Output from Monit" + ENDIF + PRINT*,MAXIT,IFLAG,ELAM,(FINFO(I),I=1,4) + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp19ExampleCode}{Asp19 Example Code} +\begin{verbatim} + SUBROUTINE LSFUN2(M,N,XC,FVECC,FJACC,LJC) + DOUBLE PRECISION FVECC(M),FJACC(LJC,N),XC(N) + INTEGER M,N,LJC + INTEGER I,J + DO 25003 I=1,LJC + DO 25004 J=1,N + FJACC(I,J)=0.0D0 +25004 CONTINUE +25003 CONTINUE + FVECC(1)=((XC(1)-0.14D0)*XC(3)+(15.0D0*XC(1)-2.1D0)*XC(2)+1.0D0)/( + &XC(3)+15.0D0*XC(2)) + FVECC(2)=((XC(1)-0.18D0)*XC(3)+(7.0D0*XC(1)-1.26D0)*XC(2)+1.0D0)/( + &XC(3)+7.0D0*XC(2)) + FVECC(3)=((XC(1)-0.22D0)*XC(3)+(4.333333333333333D0*XC(1)-0.953333 + &3333333333D0)*XC(2)+1.0D0)/(XC(3)+4.333333333333333D0*XC(2)) + FVECC(4)=((XC(1)-0.25D0)*XC(3)+(3.0D0*XC(1)-0.75D0)*XC(2)+1.0D0)/( + &XC(3)+3.0D0*XC(2)) + FVECC(5)=((XC(1)-0.29D0)*XC(3)+(2.2D0*XC(1)-0.6379999999999999D0)* + &XC(2)+1.0D0)/(XC(3)+2.2D0*XC(2)) + FVECC(6)=((XC(1)-0.32D0)*XC(3)+(1.666666666666667D0*XC(1)-0.533333 + &3333333333D0)*XC(2)+1.0D0)/(XC(3)+1.666666666666667D0*XC(2)) + FVECC(7)=((XC(1)-0.35D0)*XC(3)+(1.285714285714286D0*XC(1)-0.45D0)* + &XC(2)+1.0D0)/(XC(3)+1.285714285714286D0*XC(2)) + FVECC(8)=((XC(1)-0.39D0)*XC(3)+(XC(1)-0.39D0)*XC(2)+1.0D0)/(XC(3)+ + &XC(2)) + FVECC(9)=((XC(1)-0.37D0)*XC(3)+(XC(1)-0.37D0)*XC(2)+1.285714285714 + &286D0)/(XC(3)+XC(2)) + FVECC(10)=((XC(1)-0.58D0)*XC(3)+(XC(1)-0.58D0)*XC(2)+1.66666666666 + &6667D0)/(XC(3)+XC(2)) + FVECC(11)=((XC(1)-0.73D0)*XC(3)+(XC(1)-0.73D0)*XC(2)+2.2D0)/(XC(3) + &+XC(2)) + FVECC(12)=((XC(1)-0.96D0)*XC(3)+(XC(1)-0.96D0)*XC(2)+3.0D0)/(XC(3) + &+XC(2)) + FVECC(13)=((XC(1)-1.34D0)*XC(3)+(XC(1)-1.34D0)*XC(2)+4.33333333333 + &3333D0)/(XC(3)+XC(2)) + FVECC(14)=((XC(1)-2.1D0)*XC(3)+(XC(1)-2.1D0)*XC(2)+7.0D0)/(XC(3)+X + &C(2)) + FVECC(15)=((XC(1)-4.39D0)*XC(3)+(XC(1)-4.39D0)*XC(2)+15.0D0)/(XC(3 + &)+XC(2)) + FJACC(1,1)=1.0D0 + FJACC(1,2)=-15.0D0/(XC(3)**2+30.0D0*XC(2)*XC(3)+225.0D0*XC(2)**2) + FJACC(1,3)=-1.0D0/(XC(3)**2+30.0D0*XC(2)*XC(3)+225.0D0*XC(2)**2) + FJACC(2,1)=1.0D0 + FJACC(2,2)=-7.0D0/(XC(3)**2+14.0D0*XC(2)*XC(3)+49.0D0*XC(2)**2) + FJACC(2,3)=-1.0D0/(XC(3)**2+14.0D0*XC(2)*XC(3)+49.0D0*XC(2)**2) + FJACC(3,1)=1.0D0 + FJACC(3,2)=((-0.1110223024625157D-15*XC(3))-4.333333333333333D0)/( + &XC(3)**2+8.666666666666666D0*XC(2)*XC(3)+18.77777777777778D0*XC(2) + &**2) + FJACC(3,3)=(0.1110223024625157D-15*XC(2)-1.0D0)/(XC(3)**2+8.666666 + &666666666D0*XC(2)*XC(3)+18.77777777777778D0*XC(2)**2) + FJACC(4,1)=1.0D0 + FJACC(4,2)=-3.0D0/(XC(3)**2+6.0D0*XC(2)*XC(3)+9.0D0*XC(2)**2) + FJACC(4,3)=-1.0D0/(XC(3)**2+6.0D0*XC(2)*XC(3)+9.0D0*XC(2)**2) + FJACC(5,1)=1.0D0 + FJACC(5,2)=((-0.1110223024625157D-15*XC(3))-2.2D0)/(XC(3)**2+4.399 + &999999999999D0*XC(2)*XC(3)+4.839999999999998D0*XC(2)**2) + FJACC(5,3)=(0.1110223024625157D-15*XC(2)-1.0D0)/(XC(3)**2+4.399999 + &999999999D0*XC(2)*XC(3)+4.839999999999998D0*XC(2)**2) + FJACC(6,1)=1.0D0 + FJACC(6,2)=((-0.2220446049250313D-15*XC(3))-1.666666666666667D0)/( + &XC(3)**2+3.333333333333333D0*XC(2)*XC(3)+2.777777777777777D0*XC(2) + &**2) + FJACC(6,3)=(0.2220446049250313D-15*XC(2)-1.0D0)/(XC(3)**2+3.333333 + &333333333D0*XC(2)*XC(3)+2.777777777777777D0*XC(2)**2) + FJACC(7,1)=1.0D0 + FJACC(7,2)=((-0.5551115123125783D-16*XC(3))-1.285714285714286D0)/( + &XC(3)**2+2.571428571428571D0*XC(2)*XC(3)+1.653061224489796D0*XC(2) + &**2) + FJACC(7,3)=(0.5551115123125783D-16*XC(2)-1.0D0)/(XC(3)**2+2.571428 + &571428571D0*XC(2)*XC(3)+1.653061224489796D0*XC(2)**2) + FJACC(8,1)=1.0D0 + FJACC(8,2)=-1.0D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2)**2) + FJACC(8,3)=-1.0D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2)**2) + FJACC(9,1)=1.0D0 + FJACC(9,2)=-1.285714285714286D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2)* + &*2) + FJACC(9,3)=-1.285714285714286D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2)* + &*2) + FJACC(10,1)=1.0D0 + FJACC(10,2)=-1.666666666666667D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2) + &**2) + FJACC(10,3)=-1.666666666666667D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2) + &**2) + FJACC(11,1)=1.0D0 + FJACC(11,2)=-2.2D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2)**2) + FJACC(11,3)=-2.2D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2)**2) + FJACC(12,1)=1.0D0 + FJACC(12,2)=-3.0D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2)**2) + FJACC(12,3)=-3.0D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2)**2) + FJACC(13,1)=1.0D0 + FJACC(13,2)=-4.333333333333333D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2) + &**2) + FJACC(13,3)=-4.333333333333333D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2) + &**2) + FJACC(14,1)=1.0D0 + FJACC(14,2)=-7.0D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2)**2) + FJACC(14,3)=-7.0D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2)**2) + FJACC(15,1)=1.0D0 + FJACC(15,2)=-15.0D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2)**2) + FJACC(15,3)=-15.0D0/(XC(3)**2+2.0D0*XC(2)*XC(3)+XC(2)**2) + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp20ExampleCode}{Asp20 Example Code} +\begin{verbatim} + SUBROUTINE QPHESS(N,NROWH,NCOLH,JTHCOL,HESS,X,HX) + DOUBLE PRECISION HX(N),X(N),HESS(NROWH,NCOLH) + INTEGER JTHCOL,N,NROWH,NCOLH + HX(1)=2.0D0*X(1) + HX(2)=2.0D0*X(2) + HX(3)=2.0D0*X(4)+2.0D0*X(3) + HX(4)=2.0D0*X(4)+2.0D0*X(3) + HX(5)=2.0D0*X(5) + HX(6)=(-2.0D0*X(7))+(-2.0D0*X(6)) + HX(7)=(-2.0D0*X(7))+(-2.0D0*X(6)) + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp24ExampleCode}{Asp24 Example Code} +\begin{verbatim} + SUBROUTINE FUNCT1(N,XC,FC) + DOUBLE PRECISION FC,XC(N) + INTEGER N + FC=10.0D0*XC(4)**4+(-40.0D0*XC(1)*XC(4)**3)+(60.0D0*XC(1)**2+5 + &.0D0)*XC(4)**2+((-10.0D0*XC(3))+(-40.0D0*XC(1)**3))*XC(4)+16.0D0*X + &C(3)**4+(-32.0D0*XC(2)*XC(3)**3)+(24.0D0*XC(2)**2+5.0D0)*XC(3)**2+ + &(-8.0D0*XC(2)**3*XC(3))+XC(2)**4+100.0D0*XC(2)**2+20.0D0*XC(1)*XC( + &2)+10.0D0*XC(1)**4+XC(1)**2 + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp27ExampleCode}{Asp27 Example Code} +\begin{verbatim} + FUNCTION DOT(IFLAG,N,Z,W,RWORK,LRWORK,IWORK,LIWORK) + DOUBLE PRECISION W(N),Z(N),RWORK(LRWORK) + INTEGER N,LIWORK,IFLAG,LRWORK,IWORK(LIWORK) + DOT=(W(16)+(-0.5D0*W(15)))*Z(16)+((-0.5D0*W(16))+W(15)+(-0.5D0*W(1 + &4)))*Z(15)+((-0.5D0*W(15))+W(14)+(-0.5D0*W(13)))*Z(14)+((-0.5D0*W( + &14))+W(13)+(-0.5D0*W(12)))*Z(13)+((-0.5D0*W(13))+W(12)+(-0.5D0*W(1 + &1)))*Z(12)+((-0.5D0*W(12))+W(11)+(-0.5D0*W(10)))*Z(11)+((-0.5D0*W( + &11))+W(10)+(-0.5D0*W(9)))*Z(10)+((-0.5D0*W(10))+W(9)+(-0.5D0*W(8)) + &)*Z(9)+((-0.5D0*W(9))+W(8)+(-0.5D0*W(7)))*Z(8)+((-0.5D0*W(8))+W(7) + &+(-0.5D0*W(6)))*Z(7)+((-0.5D0*W(7))+W(6)+(-0.5D0*W(5)))*Z(6)+((-0. + &5D0*W(6))+W(5)+(-0.5D0*W(4)))*Z(5)+((-0.5D0*W(5))+W(4)+(-0.5D0*W(3 + &)))*Z(4)+((-0.5D0*W(4))+W(3)+(-0.5D0*W(2)))*Z(3)+((-0.5D0*W(3))+W( + &2)+(-0.5D0*W(1)))*Z(2)+((-0.5D0*W(2))+W(1))*Z(1) + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp28ExampleCode}{Asp28 Example Code} +\begin{verbatim} + SUBROUTINE IMAGE(IFLAG,N,Z,W,RWORK,LRWORK,IWORK,LIWORK) + DOUBLE PRECISION Z(N),W(N),IWORK(LRWORK),RWORK(LRWORK) + INTEGER N,LIWORK,IFLAG,LRWORK + W(1)=0.01707454969713436D0*Z(16)+0.001747395874954051D0*Z(15)+0.00 + &2106973900813502D0*Z(14)+0.002957434991769087D0*Z(13)+(-0.00700554 + &0882865317D0*Z(12))+(-0.01219194009813166D0*Z(11))+0.0037230647365 + &3087D0*Z(10)+0.04932374658377151D0*Z(9)+(-0.03586220812223305D0*Z( + &8))+(-0.04723268012114625D0*Z(7))+(-0.02434652144032987D0*Z(6))+0. + &2264766947290192D0*Z(5)+(-0.1385343580686922D0*Z(4))+(-0.116530050 + &8238904D0*Z(3))+(-0.2803531651057233D0*Z(2))+1.019463911841327D0*Z + &(1) + W(2)=0.0227345011107737D0*Z(16)+0.008812321197398072D0*Z(15)+0.010 + &94012210519586D0*Z(14)+(-0.01764072463999744D0*Z(13))+(-0.01357136 + &72105995D0*Z(12))+0.00157466157362272D0*Z(11)+0.05258889186338282D + &0*Z(10)+(-0.01981532388243379D0*Z(9))+(-0.06095390688679697D0*Z(8) + &)+(-0.04153119955569051D0*Z(7))+0.2176561076571465D0*Z(6)+(-0.0532 + &5555586632358D0*Z(5))+(-0.1688977368984641D0*Z(4))+(-0.32440166056 + &67343D0*Z(3))+0.9128222941872173D0*Z(2)+(-0.2419652703415429D0*Z(1 + &)) + W(3)=0.03371198197190302D0*Z(16)+0.02021603150122265D0*Z(15)+(-0.0 + &06607305534689702D0*Z(14))+(-0.03032392238968179D0*Z(13))+0.002033 + &305231024948D0*Z(12)+0.05375944956767728D0*Z(11)+(-0.0163213312502 + &9967D0*Z(10))+(-0.05483186562035512D0*Z(9))+(-0.04901428822579872D + &0*Z(8))+0.2091097927887612D0*Z(7)+(-0.05760560341383113D0*Z(6))+(- + &0.1236679206156403D0*Z(5))+(-0.3523683853026259D0*Z(4))+0.88929961 + &32269974D0*Z(3)+(-0.2995429545781457D0*Z(2))+(-0.02986582812574917 + &D0*Z(1)) + W(4)=0.05141563713660119D0*Z(16)+0.005239165960779299D0*Z(15)+(-0. + &01623427735779699D0*Z(14))+(-0.01965809746040371D0*Z(13))+0.054688 + &97337339577D0*Z(12)+(-0.014224695935687D0*Z(11))+(-0.0505181779315 + &6355D0*Z(10))+(-0.04353074206076491D0*Z(9))+0.2012230497530726D0*Z + &(8)+(-0.06630874514535952D0*Z(7))+(-0.1280829963720053D0*Z(6))+(-0 + &.305169742604165D0*Z(5))+0.8600427128450191D0*Z(4)+(-0.32415033802 + &68184D0*Z(3))+(-0.09033531980693314D0*Z(2))+0.09089205517109111D0* + &Z(1) + W(5)=0.04556369767776375D0*Z(16)+(-0.001822737697581869D0*Z(15))+( + &-0.002512226501941856D0*Z(14))+0.02947046460707379D0*Z(13)+(-0.014 + &45079632086177D0*Z(12))+(-0.05034242196614937D0*Z(11))+(-0.0376966 + &3291725935D0*Z(10))+0.2171103102175198D0*Z(9)+(-0.0824949256021352 + &4D0*Z(8))+(-0.1473995209288945D0*Z(7))+(-0.315042193418466D0*Z(6)) + &+0.9591623347824002D0*Z(5)+(-0.3852396953763045D0*Z(4))+(-0.141718 + &5427288274D0*Z(3))+(-0.03423495461011043D0*Z(2))+0.319820917706851 + &6D0*Z(1) + W(6)=0.04015147277405744D0*Z(16)+0.01328585741341559D0*Z(15)+0.048 + &26082005465965D0*Z(14)+(-0.04319641116207706D0*Z(13))+(-0.04931323 + &319055762D0*Z(12))+(-0.03526886317505474D0*Z(11))+0.22295383396730 + &01D0*Z(10)+(-0.07375317649315155D0*Z(9))+(-0.1589391311991561D0*Z( + &8))+(-0.328001910890377D0*Z(7))+0.952576555482747D0*Z(6)+(-0.31583 + &09975786731D0*Z(5))+(-0.1846882042225383D0*Z(4))+(-0.0703762046700 + &4427D0*Z(3))+0.2311852964327382D0*Z(2)+0.04254083491825025D0*Z(1) + W(7)=0.06069778964023718D0*Z(16)+0.06681263884671322D0*Z(15)+(-0.0 + &2113506688615768D0*Z(14))+(-0.083996867458326D0*Z(13))+(-0.0329843 + &8523869648D0*Z(12))+0.2276878326327734D0*Z(11)+(-0.067356038933017 + &95D0*Z(10))+(-0.1559813965382218D0*Z(9))+(-0.3363262957694705D0*Z( + &8))+0.9442791158560948D0*Z(7)+(-0.3199955249404657D0*Z(6))+(-0.136 + &2463839920727D0*Z(5))+(-0.1006185171570586D0*Z(4))+0.2057504515015 + &423D0*Z(3)+(-0.02065879269286707D0*Z(2))+0.03160990266745513D0*Z(1 + &) + W(8)=0.126386868896738D0*Z(16)+0.002563370039476418D0*Z(15)+(-0.05 + &581757739455641D0*Z(14))+(-0.07777893205900685D0*Z(13))+0.23117338 + &45834199D0*Z(12)+(-0.06031581134427592D0*Z(11))+(-0.14805474755869 + &52D0*Z(10))+(-0.3364014128402243D0*Z(9))+0.9364014128402244D0*Z(8) + &+(-0.3269452524413048D0*Z(7))+(-0.1396841886557241D0*Z(6))+(-0.056 + &1733845834199D0*Z(5))+0.1777789320590069D0*Z(4)+(-0.04418242260544 + &359D0*Z(3))+(-0.02756337003947642D0*Z(2))+0.07361313110326199D0*Z( + &1) + W(9)=0.07361313110326199D0*Z(16)+(-0.02756337003947642D0*Z(15))+(- + &0.04418242260544359D0*Z(14))+0.1777789320590069D0*Z(13)+(-0.056173 + &3845834199D0*Z(12))+(-0.1396841886557241D0*Z(11))+(-0.326945252441 + &3048D0*Z(10))+0.9364014128402244D0*Z(9)+(-0.3364014128402243D0*Z(8 + &))+(-0.1480547475586952D0*Z(7))+(-0.06031581134427592D0*Z(6))+0.23 + &11733845834199D0*Z(5)+(-0.07777893205900685D0*Z(4))+(-0.0558175773 + &9455641D0*Z(3))+0.002563370039476418D0*Z(2)+0.126386868896738D0*Z( + &1) + W(10)=0.03160990266745513D0*Z(16)+(-0.02065879269286707D0*Z(15))+0 + &.2057504515015423D0*Z(14)+(-0.1006185171570586D0*Z(13))+(-0.136246 + &3839920727D0*Z(12))+(-0.3199955249404657D0*Z(11))+0.94427911585609 + &48D0*Z(10)+(-0.3363262957694705D0*Z(9))+(-0.1559813965382218D0*Z(8 + &))+(-0.06735603893301795D0*Z(7))+0.2276878326327734D0*Z(6)+(-0.032 + &98438523869648D0*Z(5))+(-0.083996867458326D0*Z(4))+(-0.02113506688 + &615768D0*Z(3))+0.06681263884671322D0*Z(2)+0.06069778964023718D0*Z( + &1) + W(11)=0.04254083491825025D0*Z(16)+0.2311852964327382D0*Z(15)+(-0.0 + &7037620467004427D0*Z(14))+(-0.1846882042225383D0*Z(13))+(-0.315830 + &9975786731D0*Z(12))+0.952576555482747D0*Z(11)+(-0.328001910890377D + &0*Z(10))+(-0.1589391311991561D0*Z(9))+(-0.07375317649315155D0*Z(8) + &)+0.2229538339673001D0*Z(7)+(-0.03526886317505474D0*Z(6))+(-0.0493 + &1323319055762D0*Z(5))+(-0.04319641116207706D0*Z(4))+0.048260820054 + &65965D0*Z(3)+0.01328585741341559D0*Z(2)+0.04015147277405744D0*Z(1) + W(12)=0.3198209177068516D0*Z(16)+(-0.03423495461011043D0*Z(15))+(- + &0.1417185427288274D0*Z(14))+(-0.3852396953763045D0*Z(13))+0.959162 + &3347824002D0*Z(12)+(-0.315042193418466D0*Z(11))+(-0.14739952092889 + &45D0*Z(10))+(-0.08249492560213524D0*Z(9))+0.2171103102175198D0*Z(8 + &)+(-0.03769663291725935D0*Z(7))+(-0.05034242196614937D0*Z(6))+(-0. + &01445079632086177D0*Z(5))+0.02947046460707379D0*Z(4)+(-0.002512226 + &501941856D0*Z(3))+(-0.001822737697581869D0*Z(2))+0.045563697677763 + &75D0*Z(1) + W(13)=0.09089205517109111D0*Z(16)+(-0.09033531980693314D0*Z(15))+( + &-0.3241503380268184D0*Z(14))+0.8600427128450191D0*Z(13)+(-0.305169 + &742604165D0*Z(12))+(-0.1280829963720053D0*Z(11))+(-0.0663087451453 + &5952D0*Z(10))+0.2012230497530726D0*Z(9)+(-0.04353074206076491D0*Z( + &8))+(-0.05051817793156355D0*Z(7))+(-0.014224695935687D0*Z(6))+0.05 + &468897337339577D0*Z(5)+(-0.01965809746040371D0*Z(4))+(-0.016234277 + &35779699D0*Z(3))+0.005239165960779299D0*Z(2)+0.05141563713660119D0 + &*Z(1) + W(14)=(-0.02986582812574917D0*Z(16))+(-0.2995429545781457D0*Z(15)) + &+0.8892996132269974D0*Z(14)+(-0.3523683853026259D0*Z(13))+(-0.1236 + &679206156403D0*Z(12))+(-0.05760560341383113D0*Z(11))+0.20910979278 + &87612D0*Z(10)+(-0.04901428822579872D0*Z(9))+(-0.05483186562035512D + &0*Z(8))+(-0.01632133125029967D0*Z(7))+0.05375944956767728D0*Z(6)+0 + &.002033305231024948D0*Z(5)+(-0.03032392238968179D0*Z(4))+(-0.00660 + &7305534689702D0*Z(3))+0.02021603150122265D0*Z(2)+0.033711981971903 + &02D0*Z(1) + W(15)=(-0.2419652703415429D0*Z(16))+0.9128222941872173D0*Z(15)+(-0 + &.3244016605667343D0*Z(14))+(-0.1688977368984641D0*Z(13))+(-0.05325 + &555586632358D0*Z(12))+0.2176561076571465D0*Z(11)+(-0.0415311995556 + &9051D0*Z(10))+(-0.06095390688679697D0*Z(9))+(-0.01981532388243379D + &0*Z(8))+0.05258889186338282D0*Z(7)+0.00157466157362272D0*Z(6)+(-0. + &0135713672105995D0*Z(5))+(-0.01764072463999744D0*Z(4))+0.010940122 + &10519586D0*Z(3)+0.008812321197398072D0*Z(2)+0.0227345011107737D0*Z + &(1) + W(16)=1.019463911841327D0*Z(16)+(-0.2803531651057233D0*Z(15))+(-0. + &1165300508238904D0*Z(14))+(-0.1385343580686922D0*Z(13))+0.22647669 + &47290192D0*Z(12)+(-0.02434652144032987D0*Z(11))+(-0.04723268012114 + &625D0*Z(10))+(-0.03586220812223305D0*Z(9))+0.04932374658377151D0*Z + &(8)+0.00372306473653087D0*Z(7)+(-0.01219194009813166D0*Z(6))+(-0.0 + &07005540882865317D0*Z(5))+0.002957434991769087D0*Z(4)+0.0021069739 + &00813502D0*Z(3)+0.001747395874954051D0*Z(2)+0.01707454969713436D0* + &Z(1) + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp29ExampleCode}{Asp29 Example Code} +\begin{verbatim} + SUBROUTINE MONIT(ISTATE,NEXTIT,NEVALS,NEVECS,K,F,D) + DOUBLE PRECISION D(K),F(K) + INTEGER K,NEXTIT,NEVALS,NVECS,ISTATE + CALL F02FJZ(ISTATE,NEXTIT,NEVALS,NEVECS,K,F,D) + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp30ExampleCode}{Asp30 Example Code} +\begin{verbatim} + SUBROUTINE APROD(MODE,M,N,X,Y,RWORK,LRWORK,IWORK,LIWORK) + DOUBLE PRECISION X(N),Y(M),RWORK(LRWORK) + INTEGER M,N,LIWORK,IFAIL,LRWORK,IWORK(LIWORK),MODE + DOUBLE PRECISION A(5,5) + EXTERNAL F06PAF + A(1,1)=1.0D0 + A(1,2)=0.0D0 + A(1,3)=0.0D0 + A(1,4)=-1.0D0 + A(1,5)=0.0D0 + A(2,1)=0.0D0 + A(2,2)=1.0D0 + A(2,3)=0.0D0 + A(2,4)=0.0D0 + A(2,5)=-1.0D0 + A(3,1)=0.0D0 + A(3,2)=0.0D0 + A(3,3)=1.0D0 + A(3,4)=-1.0D0 + A(3,5)=0.0D0 + A(4,1)=-1.0D0 + A(4,2)=0.0D0 + A(4,3)=-1.0D0 + A(4,4)=4.0D0 + A(4,5)=-1.0D0 + A(5,1)=0.0D0 + A(5,2)=-1.0D0 + A(5,3)=0.0D0 + A(5,4)=-1.0D0 + A(5,5)=4.0D0 + IF(MODE.EQ.1)THEN + CALL F06PAF('N',M,N,1.0D0,A,M,X,1,1.0D0,Y,1) + ELSEIF(MODE.EQ.2)THEN + CALL F06PAF('T',M,N,1.0D0,A,M,Y,1,1.0D0,X,1) + ENDIF + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp31ExampleCode}{Asp31 Example Code} +\begin{verbatim} + SUBROUTINE PEDERV(X,Y,PW) + DOUBLE PRECISION X,Y(*) + DOUBLE PRECISION PW(3,3) + PW(1,1)=-0.03999999999999999D0 + PW(1,2)=10000.0D0*Y(3) + PW(1,3)=10000.0D0*Y(2) + PW(2,1)=0.03999999999999999D0 + PW(2,2)=(-10000.0D0*Y(3))+(-60000000.0D0*Y(2)) + PW(2,3)=-10000.0D0*Y(2) + PW(3,1)=0.0D0 + PW(3,2)=60000000.0D0*Y(2) + PW(3,3)=0.0D0 + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp33ExampleCode}{Asp33 Example Code} +\begin{verbatim} + SUBROUTINE REPORT(X,V,JINT) + DOUBLE PRECISION V(3),X + INTEGER JINT + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp34ExampleCode}{Asp34 Example Code} +\begin{verbatim} + SUBROUTINE MSOLVE(IFLAG,N,X,Y,RWORK,LRWORK,IWORK,LIWORK) + DOUBLE PRECISION RWORK(LRWORK),X(N),Y(N) + INTEGER I,J,N,LIWORK,IFLAG,LRWORK,IWORK(LIWORK) + DOUBLE PRECISION W1(3),W2(3),MS(3,3) + IFLAG=-1 + MS(1,1)=2.0D0 + MS(1,2)=1.0D0 + MS(1,3)=0.0D0 + MS(2,1)=1.0D0 + MS(2,2)=2.0D0 + MS(2,3)=1.0D0 + MS(3,1)=0.0D0 + MS(3,2)=1.0D0 + MS(3,3)=2.0D0 + CALL F04ASF(MS,N,X,N,Y,W1,W2,IFLAG) + IFLAG=-IFLAG + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp35ExampleCode}{Asp35 Example Code} +\begin{verbatim} + SUBROUTINE FCN(N,X,FVEC,FJAC,LDFJAC,IFLAG) + DOUBLE PRECISION X(N),FVEC(N),FJAC(LDFJAC,N) + INTEGER LDFJAC,N,IFLAG + IF(IFLAG.EQ.1)THEN + FVEC(1)=(-1.0D0*X(2))+X(1) + FVEC(2)=(-1.0D0*X(3))+2.0D0*X(2) + FVEC(3)=3.0D0*X(3) + ELSEIF(IFLAG.EQ.2)THEN + FJAC(1,1)=1.0D0 + FJAC(1,2)=-1.0D0 + FJAC(1,3)=0.0D0 + FJAC(2,1)=0.0D0 + FJAC(2,2)=2.0D0 + FJAC(2,3)=-1.0D0 + FJAC(3,1)=0.0D0 + FJAC(3,2)=0.0D0 + FJAC(3,3)=3.0D0 + ENDIF + END +\end{verbatim} +\end{page} +\begin{page}{Asp4ExampleCode}{Asp4 Example Code} +\begin{verbatim} + DOUBLE PRECISION FUNCTION FUNCTN(NDIM,X) + DOUBLE PRECISION X(NDIM) + INTEGER NDIM + FUNCTN=(4.0D0*X(1)*X(3)**2*DEXP(2.0D0*X(1)*X(3)))/(X(4)**2+(2.0D0* + &X(2)+2.0D0)*X(4)+X(2)**2+2.0D0*X(2)+1.0D0) + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp41ExampleCode}{Asp41 Example Code} +\begin{verbatim} + SUBROUTINE FCN(X,EPS,Y,F,N) + DOUBLE PRECISION EPS,F(N),X,Y(N) + INTEGER N + F(1)=Y(2) + F(2)=Y(3) + F(3)=(-1.0D0*Y(1)*Y(3))+2.0D0*EPS*Y(2)**2+(-2.0D0*EPS) + RETURN + END + SUBROUTINE JACOBF(X,EPS,Y,F,N) + DOUBLE PRECISION EPS,F(N,N),X,Y(N) + INTEGER N + F(1,1)=0.0D0 + F(1,2)=1.0D0 + F(1,3)=0.0D0 + F(2,1)=0.0D0 + F(2,2)=0.0D0 + F(2,3)=1.0D0 + F(3,1)=-1.0D0*Y(3) + F(3,2)=4.0D0*EPS*Y(2) + F(3,3)=-1.0D0*Y(1) + RETURN + END + SUBROUTINE JACEPS(X,EPS,Y,F,N) + DOUBLE PRECISION EPS,F(N),X,Y(N) + INTEGER N + F(1)=0.0D0 + F(2)=0.0D0 + F(3)=2.0D0*Y(2)**2-2.0D0 + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp42ExampleCode}{Asp42 Example Code} +\begin{verbatim} + SUBROUTINE G(EPS,YA,YB,BC,N) + DOUBLE PRECISION EPS,YA(N),YB(N),BC(N) + INTEGER N + BC(1)=YA(1) + BC(2)=YA(2) + BC(3)=YB(2)-1.0D0 + RETURN + END + SUBROUTINE JACOBG(EPS,YA,YB,AJ,BJ,N) + DOUBLE PRECISION EPS,YA(N),AJ(N,N),BJ(N,N),YB(N) + INTEGER N + AJ(1,1)=1.0D0 + AJ(1,2)=0.0D0 + AJ(1,3)=0.0D0 + AJ(2,1)=0.0D0 + AJ(2,2)=1.0D0 + AJ(2,3)=0.0D0 + AJ(3,1)=0.0D0 + AJ(3,2)=0.0D0 + AJ(3,3)=0.0D0 + BJ(1,1)=0.0D0 + BJ(1,2)=0.0D0 + BJ(1,3)=0.0D0 + BJ(2,1)=0.0D0 + BJ(2,2)=0.0D0 + BJ(2,3)=0.0D0 + BJ(3,1)=0.0D0 + BJ(3,2)=1.0D0 + BJ(3,3)=0.0D0 + RETURN + END + SUBROUTINE JACGEP(EPS,YA,YB,BCEP,N) + DOUBLE PRECISION EPS,YA(N),YB(N),BCEP(N) + INTEGER N + BCEP(1)=0.0D0 + BCEP(2)=0.0D0 + BCEP(3)=0.0D0 + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp49ExampleCode}{Asp49 Example Code} +\begin{verbatim} + SUBROUTINE OBJFUN(MODE,N,X,OBJF,OBJGRD,NSTATE,IUSER,USER) + DOUBLE PRECISION X(N),OBJF,OBJGRD(N),USER(*) + INTEGER N,IUSER(*),MODE,NSTATE + OBJF=X(4)*X(9)+((-1.0D0*X(5))+X(3))*X(8)+((-1.0D0*X(3))+X(1))*X(7) + &+(-1.0D0*X(2)*X(6)) + OBJGRD(1)=X(7) + OBJGRD(2)=-1.0D0*X(6) + OBJGRD(3)=X(8)+(-1.0D0*X(7)) + OBJGRD(4)=X(9) + OBJGRD(5)=-1.0D0*X(8) + OBJGRD(6)=-1.0D0*X(2) + OBJGRD(7)=(-1.0D0*X(3))+X(1) + OBJGRD(8)=(-1.0D0*X(5))+X(3) + OBJGRD(9)=X(4) + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp50ExampleCode}{Asp50 Example Code} +\begin{verbatim} + SUBROUTINE LSFUN1(M,N,XC,FVECC) + DOUBLE PRECISION FVECC(M),XC(N) + INTEGER I,M,N + FVECC(1)=((XC(1)-2.4D0)*XC(3)+(15.0D0*XC(1)-36.0D0)*XC(2)+1.0D0)/( + &XC(3)+15.0D0*XC(2)) + FVECC(2)=((XC(1)-2.8D0)*XC(3)+(7.0D0*XC(1)-19.6D0)*XC(2)+1.0D0)/(X + &C(3)+7.0D0*XC(2)) + FVECC(3)=((XC(1)-3.2D0)*XC(3)+(4.333333333333333D0*XC(1)-13.866666 + &66666667D0)*XC(2)+1.0D0)/(XC(3)+4.333333333333333D0*XC(2)) + FVECC(4)=((XC(1)-3.5D0)*XC(3)+(3.0D0*XC(1)-10.5D0)*XC(2)+1.0D0)/(X + &C(3)+3.0D0*XC(2)) + FVECC(5)=((XC(1)-3.9D0)*XC(3)+(2.2D0*XC(1)-8.579999999999998D0)*XC + &(2)+1.0D0)/(XC(3)+2.2D0*XC(2)) + FVECC(6)=((XC(1)-4.199999999999999D0)*XC(3)+(1.666666666666667D0*X + &C(1)-7.0D0)*XC(2)+1.0D0)/(XC(3)+1.666666666666667D0*XC(2)) + FVECC(7)=((XC(1)-4.5D0)*XC(3)+(1.285714285714286D0*XC(1)-5.7857142 + &85714286D0)*XC(2)+1.0D0)/(XC(3)+1.285714285714286D0*XC(2)) + FVECC(8)=((XC(1)-4.899999999999999D0)*XC(3)+(XC(1)-4.8999999999999 + &99D0)*XC(2)+1.0D0)/(XC(3)+XC(2)) + FVECC(9)=((XC(1)-4.699999999999999D0)*XC(3)+(XC(1)-4.6999999999999 + &99D0)*XC(2)+1.285714285714286D0)/(XC(3)+XC(2)) + FVECC(10)=((XC(1)-6.8D0)*XC(3)+(XC(1)-6.8D0)*XC(2)+1.6666666666666 + &67D0)/(XC(3)+XC(2)) + FVECC(11)=((XC(1)-8.299999999999999D0)*XC(3)+(XC(1)-8.299999999999 + &999D0)*XC(2)+2.2D0)/(XC(3)+XC(2)) + FVECC(12)=((XC(1)-10.6D0)*XC(3)+(XC(1)-10.6D0)*XC(2)+3.0D0)/(XC(3) + &+XC(2)) + FVECC(13)=((XC(1)-1.34D0)*XC(3)+(XC(1)-1.34D0)*XC(2)+4.33333333333 + &3333D0)/(XC(3)+XC(2)) + FVECC(14)=((XC(1)-2.1D0)*XC(3)+(XC(1)-2.1D0)*XC(2)+7.0D0)/(XC(3)+X + &C(2)) + FVECC(15)=((XC(1)-4.39D0)*XC(3)+(XC(1)-4.39D0)*XC(2)+15.0D0)/(XC(3 + &)+XC(2)) + END +\end{verbatim} +\end{page} +\begin{page}{Asp55ExampleCode}{Asp55 Example Code} +\begin{verbatim} + SUBROUTINE CONFUN(MODE,NCNLN,N,NROWJ,NEEDC,X,C,CJAC,NSTATE,IUSER + &,USER) + DOUBLE PRECISION C(NCNLN),X(N),CJAC(NROWJ,N),USER(*) + INTEGER N,IUSER(*),NEEDC(NCNLN),NROWJ,MODE,NCNLN,NSTATE + IF(NEEDC(1).GT.0)THEN + C(1)=X(6)**2+X(1)**2 + CJAC(1,1)=2.0D0*X(1) + CJAC(1,2)=0.0D0 + CJAC(1,3)=0.0D0 + CJAC(1,4)=0.0D0 + CJAC(1,5)=0.0D0 + CJAC(1,6)=2.0D0*X(6) + ENDIF + IF(NEEDC(2).GT.0)THEN + C(2)=X(2)**2+(-2.0D0*X(1)*X(2))+X(1)**2 + CJAC(2,1)=(-2.0D0*X(2))+2.0D0*X(1) + CJAC(2,2)=2.0D0*X(2)+(-2.0D0*X(1)) + CJAC(2,3)=0.0D0 + CJAC(2,4)=0.0D0 + CJAC(2,5)=0.0D0 + CJAC(2,6)=0.0D0 + ENDIF + IF(NEEDC(3).GT.0)THEN + C(3)=X(3)**2+(-2.0D0*X(1)*X(3))+X(2)**2+X(1)**2 + CJAC(3,1)=(-2.0D0*X(3))+2.0D0*X(1) + CJAC(3,2)=2.0D0*X(2) + CJAC(3,3)=2.0D0*X(3)+(-2.0D0*X(1)) + CJAC(3,4)=0.0D0 + CJAC(3,5)=0.0D0 + CJAC(3,6)=0.0D0 + ENDIF + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp6ExampleCode}{Asp6 Example Code} +\begin{verbatim} + SUBROUTINE FCN(N,X,FVEC,IFLAG) + DOUBLE PRECISION X(N),FVEC(N) + INTEGER N,IFLAG + FVEC(1)=(-2.0D0*X(2))+(-2.0D0*X(1)**2)+3.0D0*X(1)+1.0D0 + FVEC(2)=(-2.0D0*X(3))+(-2.0D0*X(2)**2)+3.0D0*X(2)+(-1.0D0*X(1))+1. + &0D0 + FVEC(3)=(-2.0D0*X(4))+(-2.0D0*X(3)**2)+3.0D0*X(3)+(-1.0D0*X(2))+1. + &0D0 + FVEC(4)=(-2.0D0*X(5))+(-2.0D0*X(4)**2)+3.0D0*X(4)+(-1.0D0*X(3))+1. + &0D0 + FVEC(5)=(-2.0D0*X(6))+(-2.0D0*X(5)**2)+3.0D0*X(5)+(-1.0D0*X(4))+1. + &0D0 + FVEC(6)=(-2.0D0*X(7))+(-2.0D0*X(6)**2)+3.0D0*X(6)+(-1.0D0*X(5))+1. + &0D0 + FVEC(7)=(-2.0D0*X(8))+(-2.0D0*X(7)**2)+3.0D0*X(7)+(-1.0D0*X(6))+1. + &0D0 + FVEC(8)=(-2.0D0*X(9))+(-2.0D0*X(8)**2)+3.0D0*X(8)+(-1.0D0*X(7))+1. + &0D0 + FVEC(9)=(-2.0D0*X(9)**2)+3.0D0*X(9)+(-1.0D0*X(8))+1.0D0 + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp7ExampleCode}{Asp7 Example Code} +\begin{verbatim} + SUBROUTINE FCN(X,Z,F) + DOUBLE PRECISION F(*),X,Z(*) + F(1)=DTAN(Z(3)) + F(2)=((-0.03199999999999999D0*DCOS(Z(3))*DTAN(Z(3)))+(-0.02D0*Z(2) + &**2))/(Z(2)*DCOS(Z(3))) + F(3)=-0.03199999999999999D0/(X*Z(2)**2) + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp73ExampleCode}{Asp73 Example Code} +\begin{verbatim} + SUBROUTINE PDEF(X,Y,ALPHA,BETA,GAMMA,DELTA,EPSOLN,PHI,PSI) + DOUBLE PRECISION ALPHA,EPSOLN,PHI,X,Y,BETA,DELTA,GAMMA,PSI + ALPHA=DSIN(X) + BETA=Y + GAMMA=X*Y + DELTA=DCOS(X)*DSIN(Y) + EPSOLN=Y+X + PHI=X + PSI=Y + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp74ExampleCode}{Asp74 Example Code} +\begin{verbatim} + SUBROUTINE BNDY(X,Y,A,B,C,IBND) + DOUBLE PRECISION A,B,C,X,Y + INTEGER IBND + IF(IBND.EQ.0)THEN + A=0.0D0 + B=1.0D0 + C=-1.0D0*DSIN(X) + ELSEIF(IBND.EQ.1)THEN + A=1.0D0 + B=0.0D0 + C=DSIN(X)*DSIN(Y) + ELSEIF(IBND.EQ.2)THEN + A=1.0D0 + B=0.0D0 + C=DSIN(X)*DSIN(Y) + ELSEIF(IBND.EQ.3)THEN + A=0.0D0 + B=1.0D0 + C=-1.0D0*DSIN(Y) + ENDIF + END +\end{verbatim} +\end{page} +\begin{page}{Asp77ExampleCode}{Asp77 Example Code} +\begin{verbatim} + SUBROUTINE FCNF(X,F) + DOUBLE PRECISION X + DOUBLE PRECISION F(2,2) + F(1,1)=0.0D0 + F(1,2)=1.0D0 + F(2,1)=0.0D0 + F(2,2)=-10.0D0 + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp78ExampleCode}{Asp78 Example Code} +\begin{verbatim} + SUBROUTINE FCNG(X,G) + DOUBLE PRECISION G(*),X + G(1)=0.0D0 + G(2)=0.0D0 + END +\end{verbatim} +\end{page} +\begin{page}{Asp8ExampleCode}{Asp8 Example Code} +\begin{verbatim} + SUBROUTINE OUTPUT(XSOL,Y,COUNT,M,N,RESULT,FORWRD) + DOUBLE PRECISION Y(N),RESULT(M,N),XSOL + INTEGER M,N,COUNT + LOGICAL FORWRD + DOUBLE PRECISION X02ALF,POINTS(8) + EXTERNAL X02ALF + INTEGER I + POINTS(1)=1.0D0 + POINTS(2)=2.0D0 + POINTS(3)=3.0D0 + POINTS(4)=4.0D0 + POINTS(5)=5.0D0 + POINTS(6)=6.0D0 + POINTS(7)=7.0D0 + POINTS(8)=8.0D0 + COUNT=COUNT+1 + DO 25001 I=1,N + RESULT(COUNT,I)=Y(I) +25001 CONTINUE + IF(COUNT.EQ.M)THEN + IF(FORWRD)THEN + XSOL=X02ALF() + ELSE + XSOL=-X02ALF() + ENDIF + ELSE + XSOL=POINTS(COUNT) + ENDIF + END +\end{verbatim} +\end{page} +\begin{page}{Asp80ExampleCode}{Asp80 Example Code} +\begin{verbatim} + SUBROUTINE BDYVAL(XL,XR,ELAM,YL,YR) + DOUBLE PRECISION ELAM,XL,YL(3),XR,YR(3) + YL(1)=XL + YL(2)=2.0D0 + YR(1)=1.0D0 + YR(2)=-1.0D0*DSQRT(XR+(-1.0D0*ELAM)) + RETURN + END +\end{verbatim} +\end{page} +\begin{page}{Asp9ExampleCode}{Asp9 Example Code} +\begin{verbatim} + DOUBLE PRECISION FUNCTION G(X,Y) + DOUBLE PRECISION X,Y(*) + G=X+Y(1) + RETURN + END +\end{verbatim} +\end{page} + + + + + + + + |