function w = patterson_lookup_weights ( n ) %*****************************************************************************80 % %% PATTERSON_LOOKUP_WEIGHTS sets weights for a Patterson rule. % % Discussion: % % The zeroth rule, of order 1, is the standard Gauss-Legendre rule. % % The first rule, of order 3, is the standard Gauss-Legendre rule. % % The second rule, of order 7, includes the abscissas of the previous % rule. % % Each subsequent rule is nested in a similar way. Rules are available % of orders 1, 3, 7, 15, 31, 63, 127, 255 and 511. % % These rules constitute a nested family. The rules can integrate exactly % any polynomial of degree 1, 5, 11, 23, 47, 95, 191, 383 or 767, % respectively. % % The data for N = 511 was supplied by Dirk Laurie, and is derived % from a NAG Library function d01arf. % % Licensing: % % This code is distributed under the GNU LGPL license. % % Modified: % % 14 September 2011 % % Author: % % John Burkardt % % Reference: % % Prem Kythe, Michael Schaeferkotter, % Handbook of Computational Methods for Integration, % Chapman and Hall, 2004, % ISBN: 1-58488-428-2, % LC: QA299.3.K98. % % NAG Library Documentation, % D01ARF, % The Numerical Algorithms Group. % % Thomas Patterson, % The Optimal Addition of Points to Quadrature Formulae, % Mathematics of Computation, % Volume 22, Number 104, October 1968, pages 847-856. % % Parameters: % % Input, integer N, the order of the rule. % Legal values are 1, 3, 7, 15, 31, 63, 127, 255 and 511. % % Output, real W(N), the weights of the rule. % The weights are positive, symmetric and should sum to 2. % w = zeros ( n, 1 ); if ( n == 1 ) w(1) = 2.0; elseif ( n == 3 ) w(1) = 0.555555555555555555556; w(2) = 0.888888888888888888889; w(3) = 0.555555555555555555556; elseif ( n == 7 ) w(1) = 0.104656226026467265194; w(2) = 0.268488089868333440729; w(3) = 0.401397414775962222905; w(4) = 0.450916538658474142345; w(5) = 0.401397414775962222905; w(6) = 0.268488089868333440729; w(7) = 0.104656226026467265194; elseif ( n == 15 ) w( 1) = 0.0170017196299402603390; w( 2) = 0.0516032829970797396969; w( 3) = 0.0929271953151245376859; w( 4) = 0.134415255243784220360; w( 5) = 0.171511909136391380787; w( 6) = 0.200628529376989021034; w( 7) = 0.219156858401587496404; w( 8) = 0.225510499798206687386; w( 9) = 0.219156858401587496404; w(10) = 0.200628529376989021034; w(11) = 0.171511909136391380787; w(12) = 0.134415255243784220360; w(13) = 0.0929271953151245376859; w(14) = 0.0516032829970797396969; w(15) = 0.0170017196299402603390; elseif ( n == 31 ) w( 1) = 0.00254478079156187441540; w( 2) = 0.00843456573932110624631; w( 3) = 0.0164460498543878109338; w( 4) = 0.0258075980961766535646; w( 5) = 0.0359571033071293220968; w( 6) = 0.0464628932617579865414; w( 7) = 0.0569795094941233574122; w( 8) = 0.0672077542959907035404; w( 9) = 0.0768796204990035310427; w(10) = 0.0857559200499903511542; w(11) = 0.0936271099812644736167; w(12) = 0.100314278611795578771; w(13) = 0.105669893580234809744; w(14) = 0.109578421055924638237; w(15) = 0.111956873020953456880; w(16) = 0.112755256720768691607; w(17) = 0.111956873020953456880; w(18) = 0.109578421055924638237; w(19) = 0.105669893580234809744; w(20) = 0.100314278611795578771; w(21) = 0.0936271099812644736167; w(22) = 0.0857559200499903511542; w(23) = 0.0768796204990035310427; w(24) = 0.0672077542959907035404; w(25) = 0.0569795094941233574122; w(26) = 0.0464628932617579865414; w(27) = 0.0359571033071293220968; w(28) = 0.0258075980961766535646; w(29) = 0.0164460498543878109338; w(30) = 0.00843456573932110624631; w(31) = 0.00254478079156187441540; elseif ( n == 63 ) w( 1) = 0.000363221481845530659694; w( 2) = 0.00126515655623006801137; w( 3) = 0.00257904979468568827243; w( 4) = 0.00421763044155885483908; w( 5) = 0.00611550682211724633968; w( 6) = 0.00822300795723592966926; w( 7) = 0.0104982469096213218983; w( 8) = 0.0129038001003512656260; w( 9) = 0.0154067504665594978021; w(10) = 0.0179785515681282703329; w(11) = 0.0205942339159127111492; w(12) = 0.0232314466399102694433; w(13) = 0.0258696793272147469108; w(14) = 0.0284897547458335486125; w(15) = 0.0310735511116879648799; w(16) = 0.0336038771482077305417; w(17) = 0.0360644327807825726401; w(18) = 0.0384398102494555320386; w(19) = 0.0407155101169443189339; w(20) = 0.0428779600250077344929; w(21) = 0.0449145316536321974143; w(22) = 0.0468135549906280124026; w(23) = 0.0485643304066731987159; w(24) = 0.0501571393058995374137; w(25) = 0.0515832539520484587768; w(26) = 0.0528349467901165198621; w(27) = 0.0539054993352660639269; w(28) = 0.0547892105279628650322; w(29) = 0.0554814043565593639878; w(30) = 0.0559784365104763194076; w(31) = 0.0562776998312543012726; w(32) = 0.0563776283603847173877; w(33) = 0.0562776998312543012726; w(34) = 0.0559784365104763194076; w(35) = 0.0554814043565593639878; w(36) = 0.0547892105279628650322; w(37) = 0.0539054993352660639269; w(38) = 0.0528349467901165198621; w(39) = 0.0515832539520484587768; w(40) = 0.0501571393058995374137; w(41) = 0.0485643304066731987159; w(42) = 0.0468135549906280124026; w(43) = 0.0449145316536321974143; w(44) = 0.0428779600250077344929; w(45) = 0.0407155101169443189339; w(46) = 0.0384398102494555320386; w(47) = 0.0360644327807825726401; w(48) = 0.0336038771482077305417; w(49) = 0.0310735511116879648799; w(50) = 0.0284897547458335486125; w(51) = 0.0258696793272147469108; w(52) = 0.0232314466399102694433; w(53) = 0.0205942339159127111492; w(54) = 0.0179785515681282703329; w(55) = 0.0154067504665594978021; w(56) = 0.0129038001003512656260; w(57) = 0.0104982469096213218983; w(58) = 0.00822300795723592966926; w(59) = 0.00611550682211724633968; w(60) = 0.00421763044155885483908; w(61) = 0.00257904979468568827243; w(62) = 0.00126515655623006801137; w(63) = 0.000363221481845530659694; elseif ( n == 127 ) w( 1) = 0.0000505360952078625176247; w( 2) = 0.000180739564445388357820; w( 3) = 0.000377746646326984660274; w( 4) = 0.000632607319362633544219; w( 5) = 0.000938369848542381500794; w( 6) = 0.00128952408261041739210; w( 7) = 0.00168114286542146990631; w( 8) = 0.00210881524572663287933; w( 9) = 0.00256876494379402037313; w( 10) = 0.00305775341017553113613; w( 11) = 0.00357289278351729964938; w( 12) = 0.00411150397865469304717; w( 13) = 0.00467105037211432174741; w( 14) = 0.00524912345480885912513; w( 15) = 0.00584344987583563950756; w( 16) = 0.00645190005017573692280; w( 17) = 0.00707248999543355546805; w( 18) = 0.00770337523327974184817; w( 19) = 0.00834283875396815770558; w( 20) = 0.00898927578406413572328; w( 21) = 0.00964117772970253669530; w( 22) = 0.0102971169579563555237; w( 23) = 0.0109557333878379016480; w( 24) = 0.0116157233199551347270; w( 25) = 0.0122758305600827700870; w( 26) = 0.0129348396636073734547; w( 27) = 0.0135915710097655467896; w( 28) = 0.0142448773729167743063; w( 29) = 0.0148936416648151820348; w( 30) = 0.0155367755558439824399; w( 31) = 0.0161732187295777199419; w( 32) = 0.0168019385741038652709; w( 33) = 0.0174219301594641737472; w( 34) = 0.0180322163903912863201; w( 35) = 0.0186318482561387901863; w( 36) = 0.0192199051247277660193; w( 37) = 0.0197954950480974994880; w( 38) = 0.0203577550584721594669; w( 39) = 0.0209058514458120238522; w( 40) = 0.0214389800125038672465; w( 41) = 0.0219563663053178249393; w( 42) = 0.0224572658268160987071; w( 43) = 0.0229409642293877487608; w( 44) = 0.0234067774953140062013; w( 45) = 0.0238540521060385400804; w( 46) = 0.0242821652033365993580; w( 47) = 0.0246905247444876769091; w( 48) = 0.0250785696529497687068; w( 49) = 0.0254457699654647658126; w( 50) = 0.0257916269760242293884; w( 51) = 0.0261156733767060976805; w( 52) = 0.0264174733950582599310; w( 53) = 0.0266966229274503599062; w( 54) = 0.0269527496676330319634; w( 55) = 0.0271855132296247918192; w( 56) = 0.0273946052639814325161; w( 57) = 0.0275797495664818730349; w( 58) = 0.0277407021782796819939; w( 59) = 0.0278772514766137016085; w( 60) = 0.0279892182552381597038; w( 61) = 0.0280764557938172466068; w( 62) = 0.0281388499156271506363; w( 63) = 0.0281763190330166021307; w( 64) = 0.0281888141801923586938; w( 65) = 0.0281763190330166021307; w( 66) = 0.0281388499156271506363; w( 67) = 0.0280764557938172466068; w( 68) = 0.0279892182552381597038; w( 69) = 0.0278772514766137016085; w( 70) = 0.0277407021782796819939; w( 71) = 0.0275797495664818730349; w( 72) = 0.0273946052639814325161; w( 73) = 0.0271855132296247918192; w( 74) = 0.0269527496676330319634; w( 75) = 0.0266966229274503599062; w( 76) = 0.0264174733950582599310; w( 77) = 0.0261156733767060976805; w( 78) = 0.0257916269760242293884; w( 79) = 0.0254457699654647658126; w( 80) = 0.0250785696529497687068; w( 81) = 0.0246905247444876769091; w( 82) = 0.0242821652033365993580; w( 83) = 0.0238540521060385400804; w( 84) = 0.0234067774953140062013; w( 85) = 0.0229409642293877487608; w( 86) = 0.0224572658268160987071; w( 87) = 0.0219563663053178249393; w( 88) = 0.0214389800125038672465; w( 89) = 0.0209058514458120238522; w( 90) = 0.0203577550584721594669; w( 91) = 0.0197954950480974994880; w( 92) = 0.0192199051247277660193; w( 93) = 0.0186318482561387901863; w( 94) = 0.0180322163903912863201; w( 95) = 0.0174219301594641737472; w( 96) = 0.0168019385741038652709; w( 97) = 0.0161732187295777199419; w( 98) = 0.0155367755558439824399; w( 99) = 0.0148936416648151820348; w(100) = 0.0142448773729167743063; w(101) = 0.0135915710097655467896; w(102) = 0.0129348396636073734547; w(103) = 0.0122758305600827700870; w(104) = 0.0116157233199551347270; w(105) = 0.0109557333878379016480; w(106) = 0.0102971169579563555237; w(107) = 0.00964117772970253669530; w(108) = 0.00898927578406413572328; w(109) = 0.00834283875396815770558; w(110) = 0.00770337523327974184817; w(111) = 0.00707248999543355546805; w(112) = 0.00645190005017573692280; w(113) = 0.00584344987583563950756; w(114) = 0.00524912345480885912513; w(115) = 0.00467105037211432174741; w(116) = 0.00411150397865469304717; w(117) = 0.00357289278351729964938; w(118) = 0.00305775341017553113613; w(119) = 0.00256876494379402037313; w(120) = 0.00210881524572663287933; w(121) = 0.00168114286542146990631; w(122) = 0.00128952408261041739210; w(123) = 0.000938369848542381500794; w(124) = 0.000632607319362633544219; w(125) = 0.000377746646326984660274; w(126) = 0.000180739564445388357820; w(127) = 0.0000505360952078625176247; elseif ( n == 255 ) w( 1) = 0.69379364324108267170E-05; w( 2) = 0.25157870384280661489E-04; w( 3) = 0.53275293669780613125E-04; w( 4) = 0.90372734658751149261E-04; w( 5) = 0.13575491094922871973E-03; w( 6) = 0.18887326450650491366E-03; w( 7) = 0.24921240048299729402E-03; w( 8) = 0.31630366082226447689E-03; w( 9) = 0.38974528447328229322E-03; w( 10) = 0.46918492424785040975E-03; w( 11) = 0.55429531493037471492E-03; w( 12) = 0.64476204130572477933E-03; w( 13) = 0.74028280424450333046E-03; w( 14) = 0.84057143271072246365E-03; w( 15) = 0.94536151685852538246E-03; w( 16) = 0.10544076228633167722E-02; w( 17) = 0.11674841174299594077E-02; w( 18) = 0.12843824718970101768E-02; w( 19) = 0.14049079956551446427E-02; w( 20) = 0.15288767050877655684E-02; w( 21) = 0.16561127281544526052E-02; w( 22) = 0.17864463917586498247E-02; w( 23) = 0.19197129710138724125E-02; w( 24) = 0.20557519893273465236E-02; w( 25) = 0.21944069253638388388E-02; w( 26) = 0.23355251860571608737E-02; w( 27) = 0.24789582266575679307E-02; w( 28) = 0.26245617274044295626E-02; w( 29) = 0.27721957645934509940E-02; w( 30) = 0.29217249379178197538E-02; w( 31) = 0.30730184347025783234E-02; w( 32) = 0.32259500250878684614E-02; w( 33) = 0.33803979910869203823E-02; w( 34) = 0.35362449977167777340E-02; w( 35) = 0.36933779170256508183E-02; w( 36) = 0.38516876166398709241E-02; w( 37) = 0.40110687240750233989E-02; w( 38) = 0.41714193769840788528E-02; w( 39) = 0.43326409680929828545E-02; w( 40) = 0.44946378920320678616E-02; w( 41) = 0.46573172997568547773E-02; w( 42) = 0.48205888648512683476E-02; w( 43) = 0.49843645647655386012E-02; w( 44) = 0.51485584789781777618E-02; w( 45) = 0.53130866051870565663E-02; w( 46) = 0.54778666939189508240E-02; w( 47) = 0.56428181013844441585E-02; w( 48) = 0.58078616599775673635E-02; w( 49) = 0.59729195655081658049E-02; w( 50) = 0.61379152800413850435E-02; w( 51) = 0.63027734490857587172E-02; w( 52) = 0.64674198318036867274E-02; w( 53) = 0.66317812429018878941E-02; w( 54) = 0.67957855048827733948E-02; w( 55) = 0.69593614093904229394E-02; w( 56) = 0.71224386864583871532E-02; w( 57) = 0.72849479805538070639E-02; w( 58) = 0.74468208324075910174E-02; w( 59) = 0.76079896657190565832E-02; w( 60) = 0.77683877779219912200E-02; w( 61) = 0.79279493342948491103E-02; w( 62) = 0.80866093647888599710E-02; w( 63) = 0.82443037630328680306E-02; w( 64) = 0.84009692870519326354E-02; w( 65) = 0.85565435613076896192E-02; w( 66) = 0.87109650797320868736E-02; w( 67) = 0.88641732094824942641E-02; w( 68) = 0.90161081951956431600E-02; w( 69) = 0.91667111635607884067E-02; w( 70) = 0.93159241280693950932E-02; w( 71) = 0.94636899938300652943E-02; w( 72) = 0.96099525623638830097E-02; w( 73) = 0.97546565363174114611E-02; w( 74) = 0.98977475240487497440E-02; w( 75) = 0.10039172044056840798E-01; w( 76) = 0.10178877529236079733E-01; w( 77) = 0.10316812330947621682E-01; w( 78) = 0.10452925722906011926E-01; w( 79) = 0.10587167904885197931E-01; w( 80) = 0.10719490006251933623E-01; w( 81) = 0.10849844089337314099E-01; w( 82) = 0.10978183152658912470E-01; w( 83) = 0.11104461134006926537E-01; w( 84) = 0.11228632913408049354E-01; w( 85) = 0.11350654315980596602E-01; w( 86) = 0.11470482114693874380E-01; w( 87) = 0.11588074033043952568E-01; w( 88) = 0.11703388747657003101E-01; w( 89) = 0.11816385890830235763E-01; w( 90) = 0.11927026053019270040E-01; w( 91) = 0.12035270785279562630E-01; w( 92) = 0.12141082601668299679E-01; w( 93) = 0.12244424981611985899E-01; w( 94) = 0.12345262372243838455E-01; w( 95) = 0.12443560190714035263E-01; w( 96) = 0.12539284826474884353E-01; w( 97) = 0.12632403643542078765E-01; w( 98) = 0.12722884982732382906E-01; w( 99) = 0.12810698163877361967E-01; w(100) = 0.12895813488012114694E-01; w(101) = 0.12978202239537399286E-01; w(102) = 0.13057836688353048840E-01; w(103) = 0.13134690091960152836E-01; w(104) = 0.13208736697529129966E-01; w(105) = 0.13279951743930530650E-01; w(106) = 0.13348311463725179953E-01; w(107) = 0.13413793085110098513E-01; w(108) = 0.13476374833816515982E-01; w(109) = 0.13536035934956213614E-01; w(110) = 0.13592756614812395910E-01; w(111) = 0.13646518102571291428E-01; w(112) = 0.13697302631990716258E-01; w(113) = 0.13745093443001896632E-01; w(114) = 0.13789874783240936517E-01; w(115) = 0.13831631909506428676E-01; w(116) = 0.13870351089139840997E-01; w(117) = 0.13906019601325461264E-01; w(118) = 0.13938625738306850804E-01; w(119) = 0.13968158806516938516E-01; w(120) = 0.13994609127619079852E-01; w(121) = 0.14017968039456608810E-01; w(122) = 0.14038227896908623303E-01; w(123) = 0.14055382072649964277E-01; w(124) = 0.14069424957813575318E-01; w(125) = 0.14080351962553661325E-01; w(126) = 0.14088159516508301065E-01; w(127) = 0.14092845069160408355E-01; w(128) = 0.14094407090096179347E-01; w(129) = 0.14092845069160408355E-01; w(130) = 0.14088159516508301065E-01; w(131) = 0.14080351962553661325E-01; w(132) = 0.14069424957813575318E-01; w(133) = 0.14055382072649964277E-01; w(134) = 0.14038227896908623303E-01; w(135) = 0.14017968039456608810E-01; w(136) = 0.13994609127619079852E-01; w(137) = 0.13968158806516938516E-01; w(138) = 0.13938625738306850804E-01; w(139) = 0.13906019601325461264E-01; w(140) = 0.13870351089139840997E-01; w(141) = 0.13831631909506428676E-01; w(142) = 0.13789874783240936517E-01; w(143) = 0.13745093443001896632E-01; w(144) = 0.13697302631990716258E-01; w(145) = 0.13646518102571291428E-01; w(146) = 0.13592756614812395910E-01; w(147) = 0.13536035934956213614E-01; w(148) = 0.13476374833816515982E-01; w(149) = 0.13413793085110098513E-01; w(150) = 0.13348311463725179953E-01; w(151) = 0.13279951743930530650E-01; w(152) = 0.13208736697529129966E-01; w(153) = 0.13134690091960152836E-01; w(154) = 0.13057836688353048840E-01; w(155) = 0.12978202239537399286E-01; w(156) = 0.12895813488012114694E-01; w(157) = 0.12810698163877361967E-01; w(158) = 0.12722884982732382906E-01; w(159) = 0.12632403643542078765E-01; w(160) = 0.12539284826474884353E-01; w(161) = 0.12443560190714035263E-01; w(162) = 0.12345262372243838455E-01; w(163) = 0.12244424981611985899E-01; w(164) = 0.12141082601668299679E-01; w(165) = 0.12035270785279562630E-01; w(166) = 0.11927026053019270040E-01; w(167) = 0.11816385890830235763E-01; w(168) = 0.11703388747657003101E-01; w(169) = 0.11588074033043952568E-01; w(170) = 0.11470482114693874380E-01; w(171) = 0.11350654315980596602E-01; w(172) = 0.11228632913408049354E-01; w(173) = 0.11104461134006926537E-01; w(174) = 0.10978183152658912470E-01; w(175) = 0.10849844089337314099E-01; w(176) = 0.10719490006251933623E-01; w(177) = 0.10587167904885197931E-01; w(178) = 0.10452925722906011926E-01; w(179) = 0.10316812330947621682E-01; w(180) = 0.10178877529236079733E-01; w(181) = 0.10039172044056840798E-01; w(182) = 0.98977475240487497440E-02; w(183) = 0.97546565363174114611E-02; w(184) = 0.96099525623638830097E-02; w(185) = 0.94636899938300652943E-02; w(186) = 0.93159241280693950932E-02; w(187) = 0.91667111635607884067E-02; w(188) = 0.90161081951956431600E-02; w(189) = 0.88641732094824942641E-02; w(190) = 0.87109650797320868736E-02; w(191) = 0.85565435613076896192E-02; w(192) = 0.84009692870519326354E-02; w(193) = 0.82443037630328680306E-02; w(194) = 0.80866093647888599710E-02; w(195) = 0.79279493342948491103E-02; w(196) = 0.77683877779219912200E-02; w(197) = 0.76079896657190565832E-02; w(198) = 0.74468208324075910174E-02; w(199) = 0.72849479805538070639E-02; w(200) = 0.71224386864583871532E-02; w(201) = 0.69593614093904229394E-02; w(202) = 0.67957855048827733948E-02; w(203) = 0.66317812429018878941E-02; w(204) = 0.64674198318036867274E-02; w(205) = 0.63027734490857587172E-02; w(206) = 0.61379152800413850435E-02; w(207) = 0.59729195655081658049E-02; w(208) = 0.58078616599775673635E-02; w(209) = 0.56428181013844441585E-02; w(210) = 0.54778666939189508240E-02; w(211) = 0.53130866051870565663E-02; w(212) = 0.51485584789781777618E-02; w(213) = 0.49843645647655386012E-02; w(214) = 0.48205888648512683476E-02; w(215) = 0.46573172997568547773E-02; w(216) = 0.44946378920320678616E-02; w(217) = 0.43326409680929828545E-02; w(218) = 0.41714193769840788528E-02; w(219) = 0.40110687240750233989E-02; w(220) = 0.38516876166398709241E-02; w(221) = 0.36933779170256508183E-02; w(222) = 0.35362449977167777340E-02; w(223) = 0.33803979910869203823E-02; w(224) = 0.32259500250878684614E-02; w(225) = 0.30730184347025783234E-02; w(226) = 0.29217249379178197538E-02; w(227) = 0.27721957645934509940E-02; w(228) = 0.26245617274044295626E-02; w(229) = 0.24789582266575679307E-02; w(230) = 0.23355251860571608737E-02; w(231) = 0.21944069253638388388E-02; w(232) = 0.20557519893273465236E-02; w(233) = 0.19197129710138724125E-02; w(234) = 0.17864463917586498247E-02; w(235) = 0.16561127281544526052E-02; w(236) = 0.15288767050877655684E-02; w(237) = 0.14049079956551446427E-02; w(238) = 0.12843824718970101768E-02; w(239) = 0.11674841174299594077E-02; w(240) = 0.10544076228633167722E-02; w(241) = 0.94536151685852538246E-03; w(242) = 0.84057143271072246365E-03; w(243) = 0.74028280424450333046E-03; w(244) = 0.64476204130572477933E-03; w(245) = 0.55429531493037471492E-03; w(246) = 0.46918492424785040975E-03; w(247) = 0.38974528447328229322E-03; w(248) = 0.31630366082226447689E-03; w(249) = 0.24921240048299729402E-03; w(250) = 0.18887326450650491366E-03; w(251) = 0.13575491094922871973E-03; w(252) = 0.90372734658751149261E-04; w(253) = 0.53275293669780613125E-04; w(254) = 0.25157870384280661489E-04; w(255) = 0.69379364324108267170E-05; elseif ( n == 511 ) w( 1) = 0.945715933950007048827E-06; w( 2) = 0.345456507169149134898E-05; w( 3) = 0.736624069102321668857E-05; w( 4) = 0.125792781889592743525E-04; w( 5) = 0.190213681905875816679E-04; w( 6) = 0.266376412339000901358E-04; w( 7) = 0.353751372055189588628E-04; w( 8) = 0.451863674126296143105E-04; w( 9) = 0.560319507856164252140E-04; w( 10) = 0.678774554733972416227E-04; w( 11) = 0.806899228014035293851E-04; w( 12) = 0.944366322532705527066E-04; w( 13) = 0.109085545645741522051E-03; w( 14) = 0.124606200241498368482E-03; w( 15) = 0.140970302204104791413E-03; w( 16) = 0.158151830411132242924E-03; w( 17) = 0.176126765545083195474E-03; w( 18) = 0.194872642236641146532E-03; w( 19) = 0.214368090034216937149E-03; w( 20) = 0.234592462123925204879E-03; w( 21) = 0.255525589595236862014E-03; w( 22) = 0.277147657465187357459E-03; w( 23) = 0.299439176850911730874E-03; w( 24) = 0.322381020652862389664E-03; w( 25) = 0.345954492129903871350E-03; w( 26) = 0.370141402122251665232E-03; w( 27) = 0.394924138246873704434E-03; w( 28) = 0.420285716355361231823E-03; w( 29) = 0.446209810101403247488E-03; w( 30) = 0.472680758429262691232E-03; w( 31) = 0.499683553312800484519E-03; w( 32) = 0.527203811431658386125E-03; w( 33) = 0.555227733977307579715E-03; w( 34) = 0.583742058714979703847E-03; w( 35) = 0.612734008012225209294E-03; w( 36) = 0.642191235948505088403E-03; w( 37) = 0.672101776960108194646E-03; w( 38) = 0.702453997827572321358E-03; w( 39) = 0.733236554224767912055E-03; w( 40) = 0.764438352543882784191E-03; w( 41) = 0.796048517297550871506E-03; w( 42) = 0.828056364077226302608E-03; w( 43) = 0.860451377808527848128E-03; w( 44) = 0.893223195879324912340E-03; w( 45) = 0.926361595613111283368E-03; w( 46) = 0.959856485506936206261E-03; w( 47) = 0.993697899638760857945E-03; w( 48) = 0.102787599466367326179E-02; w( 49) = 0.106238104885340071375E-02; w( 50) = 0.109720346268191941940E-02; w( 51) = 0.113233376051597664917E-02; w( 52) = 0.116776259302858043685E-02; w( 53) = 0.120348074001265964881E-02; w( 54) = 0.123947911332878396534E-02; w( 55) = 0.127574875977346947345E-02; w( 56) = 0.131228086370221478128E-02; w( 57) = 0.134906674928353113127E-02; w( 58) = 0.138609788229672549700E-02; w( 59) = 0.142336587141720519900E-02; w( 60) = 0.146086246895890987689E-02; w( 61) = 0.149857957106456636214E-02; w( 62) = 0.153650921735128916170E-02; w( 63) = 0.157464359003212166189E-02; w( 64) = 0.161297501254393423070E-02; w( 65) = 0.165149594771914570655E-02; w( 66) = 0.169019899554346019117E-02; w( 67) = 0.172907689054461607168E-02; w( 68) = 0.176812249885838886701E-02; w( 69) = 0.180732881501808930079E-02; w( 70) = 0.184668895851282540913E-02; w( 71) = 0.188619617015808475394E-02; w( 72) = 0.192584380831993546204E-02; w( 73) = 0.196562534503150547732E-02; w( 74) = 0.200553436203751169944E-02; w( 75) = 0.204556454679958293446E-02; w( 76) = 0.208570968849203942640E-02; w( 77) = 0.212596367401472533045E-02; w( 78) = 0.216632048404649142727E-02; w( 79) = 0.220677418916003329194E-02; w( 80) = 0.224731894601603393082E-02; w( 81) = 0.228794899365195972378E-02; w( 82) = 0.232865864987842738864E-02; w( 83) = 0.236944230779380495146E-02; w( 84) = 0.241029443242563417382E-02; w( 85) = 0.245120955750556483923E-02; w( 86) = 0.249218228238276930060E-02; w( 87) = 0.253320726907925325750E-02; w( 88) = 0.257427923948908888092E-02; w( 89) = 0.261539297272236109225E-02; w( 90) = 0.265654330259352828314E-02; w( 91) = 0.269772511525294586667E-02; w( 92) = 0.273893334695947541201E-02; w( 93) = 0.278016298199139435045E-02; w( 94) = 0.282140905069222207923E-02; w( 95) = 0.286266662764757868253E-02; w( 96) = 0.290393082998878368175E-02; w( 97) = 0.294519681581857582284E-02; w( 98) = 0.298645978275408290247E-02; w( 99) = 0.302771496658198544480E-02; w(100) = 0.306895764002069252174E-02; w(101) = 0.311018311158427546158E-02; w(102) = 0.315138672454287935858E-02; w(103) = 0.319256385597434736790E-02; w(104) = 0.323370991590184336368E-02; w(105) = 0.327482034651233969564E-02; w(106) = 0.331589062145094394706E-02; w(107) = 0.335691624518616761342E-02; w(108) = 0.339789275244138669739E-02; w(109) = 0.343881570768790591876E-02; w(110) = 0.347968070469521146972E-02; w(111) = 0.352048336613417922682E-02; w(112) = 0.356121934322919357659E-02; w(113) = 0.360188431545532431869E-02; w(114) = 0.364247399027690353194E-02; w(115) = 0.368298410292403911967E-02; w(116) = 0.372341041620379550870E-02; w(117) = 0.376374872034296338241E-02; w(118) = 0.380399483285952829161E-02; w(119) = 0.384414459846013158917E-02; w(120) = 0.388419388896099560998E-02; w(121) = 0.392413860322995774660E-02; w(122) = 0.396397466714742455513E-02; w(123) = 0.400369803358421688562E-02; w(124) = 0.404330468239442998549E-02; w(125) = 0.408279062042157838350E-02; w(126) = 0.412215188151643401528E-02; w(127) = 0.416138452656509745764E-02; w(128) = 0.420048464352596631772E-02; w(129) = 0.423944834747438184434E-02; w(130) = 0.427827178065384480959E-02; w(131) = 0.431695111253279479928E-02; w(132) = 0.435548253986604343679E-02; w(133) = 0.439386228676004195260E-02; w(134) = 0.443208660474124713206E-02; w(135) = 0.447015177282692726900E-02; w(136) = 0.450805409759782158001E-02; w(137) = 0.454578991327213285488E-02; w(138) = 0.458335558178039420335E-02; w(139) = 0.462074749284080687482E-02; w(140) = 0.465796206403469754658E-02; w(141) = 0.469499574088179046532E-02; w(142) = 0.473184499691503264714E-02; w(143) = 0.476850633375474925263E-02; w(144) = 0.480497628118194150483E-02; w(145) = 0.484125139721057135214E-02; w(146) = 0.487732826815870573054E-02; w(147) = 0.491320350871841897367E-02; w(148) = 0.494887376202437487201E-02; w(149) = 0.498433569972103029914E-02; w(150) = 0.501958602202842039909E-02; w(151) = 0.505462145780650125058E-02; w(152) = 0.508943876461803986674E-02; w(153) = 0.512403472879005351831E-02; w(154) = 0.515840616547381084096E-02; w(155) = 0.519254991870341614863E-02; w(156) = 0.522646286145300596306E-02; w(157) = 0.526014189569259311205E-02; w(158) = 0.529358395244259896547E-02; w(159) = 0.532678599182711857974E-02; w(160) = 0.535974500312596681161E-02; w(161) = 0.539245800482555593606E-02; w(162) = 0.542492204466865704951E-02; w(163) = 0.545713419970309863995E-02; w(164) = 0.548909157632945623482E-02; w(165) = 0.552079131034778706457E-02; w(166) = 0.555223056700346326850E-02; w(167) = 0.558340654103215637610E-02; w(168) = 0.561431645670402467678E-02; w(169) = 0.564495756786715368885E-02; w(170) = 0.567532715799029830087E-02; w(171) = 0.570542254020497332312E-02; w(172) = 0.573524105734693719020E-02; w(173) = 0.576478008199711142954E-02; w(174) = 0.579403701652197628421E-02; w(175) = 0.582300929311348057702E-02; w(176) = 0.585169437382850155033E-02; w(177) = 0.588008975062788803205E-02; w(178) = 0.590819294541511788161E-02; w(179) = 0.593600151007459827614E-02; w(180) = 0.596351302650963502011E-02; w(181) = 0.599072510668009471472E-02; w(182) = 0.601763539263978131522E-02; w(183) = 0.604424155657354634589E-02; w(184) = 0.607054130083414983949E-02; w(185) = 0.609653235797888692923E-02; w(186) = 0.612221249080599294931E-02; w(187) = 0.614757949239083790214E-02; w(188) = 0.617263118612191922727E-02; w(189) = 0.619736542573665996342E-02; w(190) = 0.622178009535701763157E-02; w(191) = 0.624587310952490748541E-02; w(192) = 0.626964241323744217671E-02; w(193) = 0.629308598198198836688E-02; w(194) = 0.631620182177103938227E-02; w(195) = 0.633898796917690165912E-02; w(196) = 0.636144249136619145314E-02; w(197) = 0.638356348613413709795E-02; w(198) = 0.640534908193868098342E-02; w(199) = 0.642679743793437438922E-02; w(200) = 0.644790674400605734710E-02; w(201) = 0.646867522080231481688E-02; w(202) = 0.648910111976869964292E-02; w(203) = 0.650918272318071200827E-02; w(204) = 0.652891834417652442012E-02; w(205) = 0.654830632678944064054E-02; w(206) = 0.656734504598007641819E-02; w(207) = 0.658603290766824937794E-02; w(208) = 0.660436834876456498276E-02; w(209) = 0.662234983720168509457E-02; w(210) = 0.663997587196526532519E-02; w(211) = 0.665724498312454708217E-02; w(212) = 0.667415573186258997654E-02; w(213) = 0.669070671050613006584E-02; w(214) = 0.670689654255504925648E-02; w(215) = 0.672272388271144108036E-02; w(216) = 0.673818741690825799086E-02; w(217) = 0.675328586233752529078E-02; w(218) = 0.676801796747810680683E-02; w(219) = 0.678238251212300746082E-02; w(220) = 0.679637830740619795480E-02; w(221) = 0.681000419582894688374E-02; w(222) = 0.682325905128564571420E-02; w(223) = 0.683614177908911221841E-02; w(224) = 0.684865131599535812903E-02; w(225) = 0.686078663022780697951E-02; w(226) = 0.687254672150094831613E-02; w(227) = 0.688393062104341470995E-02; w(228) = 0.689493739162046825872E-02; w(229) = 0.690556612755588354803E-02; w(230) = 0.691581595475321433825E-02; w(231) = 0.692568603071643155621E-02; w(232) = 0.693517554456992049848E-02; w(233) = 0.694428371707782549438E-02; w(234) = 0.695300980066273063177E-02; w(235) = 0.696135307942366551493E-02; w(236) = 0.696931286915342540213E-02; w(237) = 0.697688851735519545845E-02; w(238) = 0.698407940325846925786E-02; w(239) = 0.699088493783425207545E-02; w(240) = 0.699730456380953992594E-02; w(241) = 0.700333775568106572820E-02; w(242) = 0.700898401972830440494E-02; w(243) = 0.701424289402572916425E-02; w(244) = 0.701911394845431165171E-02; w(245) = 0.702359678471225911031E-02; w(246) = 0.702769103632498213858E-02; w(247) = 0.703139636865428709508E-02; w(248) = 0.703471247890678765907E-02; w(249) = 0.703763909614153052319E-02; w(250) = 0.704017598127683066242E-02; w(251) = 0.704232292709631209597E-02; w(252) = 0.704407975825415053266E-02; w(253) = 0.704544633127951476780E-02; w(254) = 0.704642253458020417748E-02; w(255) = 0.704700828844548013730E-02; w(256) = 0.704720354504808967346E-02; w(257) = 0.704700828844548013730E-02; w(258) = 0.704642253458020417748E-02; w(259) = 0.704544633127951476780E-02; w(260) = 0.704407975825415053266E-02; w(261) = 0.704232292709631209597E-02; w(262) = 0.704017598127683066242E-02; w(263) = 0.703763909614153052319E-02; w(264) = 0.703471247890678765907E-02; w(265) = 0.703139636865428709508E-02; w(266) = 0.702769103632498213858E-02; w(267) = 0.702359678471225911031E-02; w(268) = 0.701911394845431165171E-02; w(269) = 0.701424289402572916425E-02; w(270) = 0.700898401972830440494E-02; w(271) = 0.700333775568106572820E-02; w(272) = 0.699730456380953992594E-02; w(273) = 0.699088493783425207545E-02; w(274) = 0.698407940325846925786E-02; w(275) = 0.697688851735519545845E-02; w(276) = 0.696931286915342540213E-02; w(277) = 0.696135307942366551493E-02; w(278) = 0.695300980066273063177E-02; w(279) = 0.694428371707782549438E-02; w(280) = 0.693517554456992049848E-02; w(281) = 0.692568603071643155621E-02; w(282) = 0.691581595475321433825E-02; w(283) = 0.690556612755588354803E-02; w(284) = 0.689493739162046825872E-02; w(285) = 0.688393062104341470995E-02; w(286) = 0.687254672150094831613E-02; w(287) = 0.686078663022780697951E-02; w(288) = 0.684865131599535812903E-02; w(289) = 0.683614177908911221841E-02; w(290) = 0.682325905128564571420E-02; w(291) = 0.681000419582894688374E-02; w(292) = 0.679637830740619795480E-02; w(293) = 0.678238251212300746082E-02; w(294) = 0.676801796747810680683E-02; w(295) = 0.675328586233752529078E-02; w(296) = 0.673818741690825799086E-02; w(297) = 0.672272388271144108036E-02; w(298) = 0.670689654255504925648E-02; w(299) = 0.669070671050613006584E-02; w(300) = 0.667415573186258997654E-02; w(301) = 0.665724498312454708217E-02; w(302) = 0.663997587196526532519E-02; w(303) = 0.662234983720168509457E-02; w(304) = 0.660436834876456498276E-02; w(305) = 0.658603290766824937794E-02; w(306) = 0.656734504598007641819E-02; w(307) = 0.654830632678944064054E-02; w(308) = 0.652891834417652442012E-02; w(309) = 0.650918272318071200827E-02; w(310) = 0.648910111976869964292E-02; w(311) = 0.646867522080231481688E-02; w(312) = 0.644790674400605734710E-02; w(313) = 0.642679743793437438922E-02; w(314) = 0.640534908193868098342E-02; w(315) = 0.638356348613413709795E-02; w(316) = 0.636144249136619145314E-02; w(317) = 0.633898796917690165912E-02; w(318) = 0.631620182177103938227E-02; w(319) = 0.629308598198198836688E-02; w(320) = 0.626964241323744217671E-02; w(321) = 0.624587310952490748541E-02; w(322) = 0.622178009535701763157E-02; w(323) = 0.619736542573665996342E-02; w(324) = 0.617263118612191922727E-02; w(325) = 0.614757949239083790214E-02; w(326) = 0.612221249080599294931E-02; w(327) = 0.609653235797888692923E-02; w(328) = 0.607054130083414983949E-02; w(329) = 0.604424155657354634589E-02; w(330) = 0.601763539263978131522E-02; w(331) = 0.599072510668009471472E-02; w(332) = 0.596351302650963502011E-02; w(333) = 0.593600151007459827614E-02; w(334) = 0.590819294541511788161E-02; w(335) = 0.588008975062788803205E-02; w(336) = 0.585169437382850155033E-02; w(337) = 0.582300929311348057702E-02; w(338) = 0.579403701652197628421E-02; w(339) = 0.576478008199711142954E-02; w(340) = 0.573524105734693719020E-02; w(341) = 0.570542254020497332312E-02; w(342) = 0.567532715799029830087E-02; w(343) = 0.564495756786715368885E-02; w(344) = 0.561431645670402467678E-02; w(345) = 0.558340654103215637610E-02; w(346) = 0.555223056700346326850E-02; w(347) = 0.552079131034778706457E-02; w(348) = 0.548909157632945623482E-02; w(349) = 0.545713419970309863995E-02; w(350) = 0.542492204466865704951E-02; w(351) = 0.539245800482555593606E-02; w(352) = 0.535974500312596681161E-02; w(353) = 0.532678599182711857974E-02; w(354) = 0.529358395244259896547E-02; w(355) = 0.526014189569259311205E-02; w(356) = 0.522646286145300596306E-02; w(357) = 0.519254991870341614863E-02; w(358) = 0.515840616547381084096E-02; w(359) = 0.512403472879005351831E-02; w(360) = 0.508943876461803986674E-02; w(361) = 0.505462145780650125058E-02; w(362) = 0.501958602202842039909E-02; w(363) = 0.498433569972103029914E-02; w(364) = 0.494887376202437487201E-02; w(365) = 0.491320350871841897367E-02; w(366) = 0.487732826815870573054E-02; w(367) = 0.484125139721057135214E-02; w(368) = 0.480497628118194150483E-02; w(369) = 0.476850633375474925263E-02; w(370) = 0.473184499691503264714E-02; w(371) = 0.469499574088179046532E-02; w(372) = 0.465796206403469754658E-02; w(373) = 0.462074749284080687482E-02; w(374) = 0.458335558178039420335E-02; w(375) = 0.454578991327213285488E-02; w(376) = 0.450805409759782158001E-02; w(377) = 0.447015177282692726900E-02; w(378) = 0.443208660474124713206E-02; w(379) = 0.439386228676004195260E-02; w(380) = 0.435548253986604343679E-02; w(381) = 0.431695111253279479928E-02; w(382) = 0.427827178065384480959E-02; w(383) = 0.423944834747438184434E-02; w(384) = 0.420048464352596631772E-02; w(385) = 0.416138452656509745764E-02; w(386) = 0.412215188151643401528E-02; w(387) = 0.408279062042157838350E-02; w(388) = 0.404330468239442998549E-02; w(389) = 0.400369803358421688562E-02; w(390) = 0.396397466714742455513E-02; w(391) = 0.392413860322995774660E-02; w(392) = 0.388419388896099560998E-02; w(393) = 0.384414459846013158917E-02; w(394) = 0.380399483285952829161E-02; w(395) = 0.376374872034296338241E-02; w(396) = 0.372341041620379550870E-02; w(397) = 0.368298410292403911967E-02; w(398) = 0.364247399027690353194E-02; w(399) = 0.360188431545532431869E-02; w(400) = 0.356121934322919357659E-02; w(401) = 0.352048336613417922682E-02; w(402) = 0.347968070469521146972E-02; w(403) = 0.343881570768790591876E-02; w(404) = 0.339789275244138669739E-02; w(405) = 0.335691624518616761342E-02; w(406) = 0.331589062145094394706E-02; w(407) = 0.327482034651233969564E-02; w(408) = 0.323370991590184336368E-02; w(409) = 0.319256385597434736790E-02; w(410) = 0.315138672454287935858E-02; w(411) = 0.311018311158427546158E-02; w(412) = 0.306895764002069252174E-02; w(413) = 0.302771496658198544480E-02; w(414) = 0.298645978275408290247E-02; w(415) = 0.294519681581857582284E-02; w(416) = 0.290393082998878368175E-02; w(417) = 0.286266662764757868253E-02; w(418) = 0.282140905069222207923E-02; w(419) = 0.278016298199139435045E-02; w(420) = 0.273893334695947541201E-02; w(421) = 0.269772511525294586667E-02; w(422) = 0.265654330259352828314E-02; w(423) = 0.261539297272236109225E-02; w(424) = 0.257427923948908888092E-02; w(425) = 0.253320726907925325750E-02; w(426) = 0.249218228238276930060E-02; w(427) = 0.245120955750556483923E-02; w(428) = 0.241029443242563417382E-02; w(429) = 0.236944230779380495146E-02; w(430) = 0.232865864987842738864E-02; w(431) = 0.228794899365195972378E-02; w(432) = 0.224731894601603393082E-02; w(433) = 0.220677418916003329194E-02; w(434) = 0.216632048404649142727E-02; w(435) = 0.212596367401472533045E-02; w(436) = 0.208570968849203942640E-02; w(437) = 0.204556454679958293446E-02; w(438) = 0.200553436203751169944E-02; w(439) = 0.196562534503150547732E-02; w(440) = 0.192584380831993546204E-02; w(441) = 0.188619617015808475394E-02; w(442) = 0.184668895851282540913E-02; w(443) = 0.180732881501808930079E-02; w(444) = 0.176812249885838886701E-02; w(445) = 0.172907689054461607168E-02; w(446) = 0.169019899554346019117E-02; w(447) = 0.165149594771914570655E-02; w(448) = 0.161297501254393423070E-02; w(449) = 0.157464359003212166189E-02; w(450) = 0.153650921735128916170E-02; w(451) = 0.149857957106456636214E-02; w(452) = 0.146086246895890987689E-02; w(453) = 0.142336587141720519900E-02; w(454) = 0.138609788229672549700E-02; w(455) = 0.134906674928353113127E-02; w(456) = 0.131228086370221478128E-02; w(457) = 0.127574875977346947345E-02; w(458) = 0.123947911332878396534E-02; w(459) = 0.120348074001265964881E-02; w(460) = 0.116776259302858043685E-02; w(461) = 0.113233376051597664917E-02; w(462) = 0.109720346268191941940E-02; w(463) = 0.106238104885340071375E-02; w(464) = 0.102787599466367326179E-02; w(465) = 0.993697899638760857945E-03; w(466) = 0.959856485506936206261E-03; w(467) = 0.926361595613111283368E-03; w(468) = 0.893223195879324912340E-03; w(469) = 0.860451377808527848128E-03; w(470) = 0.828056364077226302608E-03; w(471) = 0.796048517297550871506E-03; w(472) = 0.764438352543882784191E-03; w(473) = 0.733236554224767912055E-03; w(474) = 0.702453997827572321358E-03; w(475) = 0.672101776960108194646E-03; w(476) = 0.642191235948505088403E-03; w(477) = 0.612734008012225209294E-03; w(478) = 0.583742058714979703847E-03; w(479) = 0.555227733977307579715E-03; w(480) = 0.527203811431658386125E-03; w(481) = 0.499683553312800484519E-03; w(482) = 0.472680758429262691232E-03; w(483) = 0.446209810101403247488E-03; w(484) = 0.420285716355361231823E-03; w(485) = 0.394924138246873704434E-03; w(486) = 0.370141402122251665232E-03; w(487) = 0.345954492129903871350E-03; w(488) = 0.322381020652862389664E-03; w(489) = 0.299439176850911730874E-03; w(490) = 0.277147657465187357459E-03; w(491) = 0.255525589595236862014E-03; w(492) = 0.234592462123925204879E-03; w(493) = 0.214368090034216937149E-03; w(494) = 0.194872642236641146532E-03; w(495) = 0.176126765545083195474E-03; w(496) = 0.158151830411132242924E-03; w(497) = 0.140970302204104791413E-03; w(498) = 0.124606200241498368482E-03; w(499) = 0.109085545645741522051E-03; w(500) = 0.944366322532705527066E-04; w(501) = 0.806899228014035293851E-04; w(502) = 0.678774554733972416227E-04; w(503) = 0.560319507856164252140E-04; w(504) = 0.451863674126296143105E-04; w(505) = 0.353751372055189588628E-04; w(506) = 0.266376412339000901358E-04; w(507) = 0.190213681905875816679E-04; w(508) = 0.125792781889592743525E-04; w(509) = 0.736624069102321668857E-05; w(510) = 0.345456507169149134898E-05; w(511) = 0.945715933950007048827E-06; else fprintf ( 1, '\n' ); fprintf ( 1, 'PATTERSON_LOOKUP_WEIGHTS - Fatal error!\n' ); fprintf ( 1, ' Illegal input value of N.\n' ); fprintf ( 1, ' N must be 1, 3, 7, 15, 31, 63, 127, 255 or 511.\n' ); error ( 'PATTERSON_LOOKUP_WEIGHTS - Fatal error!' ) end return end