SUBROUTINE GAUSI(K,A,B,AI,XMYI) * *----------------------------------------------------------------------- * * RUTINEN GER VIKTER OCH INTEGRATIONSPUNKTER FOER GAUSSINTEGRATIO * MELLAN A OCH B - B AER OEVRE GRAENS , A NEDRE. KAELLA FOER DATA * LOWAN, DAVIDS, LEVENSON, BULL AMER MATH SOC 48 SID 739 (1942 * AI=VIKTER, XMYI=INTEGRATIONSPUNKTER. * INTEGRATIONSORDNING K. K VAELJES MELLAN 2 OCH 10. * * Export version 1988-03-24 ********* Olof Morell *** Uppsala * *----------------------------------------------------------------------- * DIMENSION AI(6),XMYI(6),AP(29),XMYP(29),INDOV(9) * * 10 DATAKORT FOER AP, 9 FOER XMYP OCH 1 FOER INDOV * DATA AP/1.0,0.55555555555555,.88888888888888,.347854845137, & 0.65214515486254,0.23692688505618,0.47862867049936, & 0.56888888888888,0.17132449237917,0.36076157304813, & 0.46791393457269,0.12948496616887,0.27970539148927, & 0.38183005050511,0.41795918367346,0.10122853629037, & 0.22238103445337,0.31370664587788,0.36268378337836, & 0.08127438836157,0.18064816069485,0.26061069640293, & 0.31234707704000,0.33023935500126,0.06667134430868, & 0.14945134915058,0.21908636251598,0.26926671930999, & 0.29552422471475/ DATA XMYP/ & 0.57735026918962,.77459666924148,.0,0.86113631159405, & 0.33998104358485,.90617984593866,.53846931010568,.0, & 0.93246951420315,.66120938646626,.23861918608319, & 0.94910791234275,.74153118559939,.40584515137739,.0, & 0.96028985649753,.79666647741362,.52553240991632, & 0.18343464249565,.96816023950762,.83603110732663, & 0.61337143270059,.32425342340380,.0,0.97390652851717, & 0.86506336668898,.67940956829902,.43339539412924, & 0.14887433898163/ DATA INDOV/1,3,5,8,11,15,19,24,29/ * IF(K.EQ.1) GOTO 7 KUD=0 FLK=FLOAT(K)/2. K2=K/2 FK=FLOAT(K2) IF(ABS(FLK-FK)-1.E-7) 2,1,1 1 K2=K2+1 KUD=1 2 IOEV=INDOV(K-1) INED=IOEV-K2 DO 3 I=1,K2 IP=INED+I XMYI(I)=-XMYP(IP)*(B-A)*0.5+(B+A)*0.5 AI(I)=(B-A)*0.5*AP(IP) 3 CONTINUE K2=K2+1 DO 4 I=K2,K IP=IOEV+K2-I IF(KUD) 6,6,5 5 IP=IP-1 6 CONTINUE XMYI(I)= XMYP(IP)*(B-A)*0.5+(B+A)*0.5 AI(I)=(B-A)*0.5*AP(IP) 4 CONTINUE RETURN * 7 XMYI(1)=(B+A)*0.5 AI(1)=B-A * RETURN END