function points = laguerre_lookup_points ( order )

%*****************************************************************************80
%
%% LAGUERRE_LOOKUP_POINTS returns abscissas of a Laguerre rule.
%
%  Discussion:
%
%    Our convention is that the abscissas are numbered from left to right.
%
%    The rule is defined on [0,+oo).
%
%  Licensing:
%
%    This code is distributed under the MIT license. 
%
%  Modified:
%
%    07 October 2008
%
%  Author:
%
%    John Burkardt
%
%  Parameters:
%
%    Input, integer ORDER, the order of the rule.  Legal values are
%    1, 3, 7, 15, 31, 63 and 127.
%
%    Output, real POINTS(ORDER), the abscissas.
%
  points = zeros ( order, 1 );

  if ( order < 1 )

    fprintf ( 1, '\n' );
    fprintf ( 1, 'LAGUERRE_LOOKUP_POINTS - Fatal error!\n' );
    fprintf ( 1, '  Illegal value of ORDER = %d\n', order );
    error ( 'LAGUERRE_LOOKUP_POINTS - Fatal error!' );

  elseif ( order == 1 )

    points =  1.0E+00;

  elseif ( order == 3 )

    points = [ ...
        0.415774556783479083311533873128E+00, ...
        0.229428036027904171982205036136E+01, ...
        0.628994508293747919686641576551E+01 ];

  elseif ( order == 7 )

    points = [ ...
        0.193043676560362413838247885004E+00, ...
        0.102666489533919195034519944317E+01, ...
        0.256787674495074620690778622666E+01, ...
        0.490035308452648456810171437810E+01, ...
        0.818215344456286079108182755123E+01, ...
        0.127341802917978137580126424582E+02, ...
        0.193957278622625403117125820576E+02 ];

  elseif ( order == 15 )

    points = [ ...
        0.933078120172818047629030383672E-01, ...
        0.492691740301883908960101791412E+00, ...
        0.121559541207094946372992716488E+01, ...
        0.226994952620374320247421741375E+01, ...
        0.366762272175143727724905959436E+01, ...
        0.542533662741355316534358132596E+01, ...
        0.756591622661306786049739555812E+01, ...
        0.101202285680191127347927394568E+02, ...
        0.131302824821757235640991204176E+02, ...
        0.166544077083299578225202408430E+02, ...
        0.207764788994487667729157175676E+02, ...
        0.256238942267287801445868285977E+02, ...
        0.314075191697539385152432196202E+02, ...
        0.385306833064860094162515167595E+02, ...
        0.480260855726857943465734308508E+02 ];

  elseif ( order == 31 )

    points = [ ...
        0.45901947621108290743496080275224E-01, ...
        0.24198016382477204890408974151714E+00, ...
        0.59525389422235073707330165005414E+00, ...
        1.1066894995329987162111308789792E+00, ...
        1.7775956928747727211593727482675E+00, ...
        2.6097034152566806503893375925315E+00, ...
        3.6051968023400442698805817554243E+00, ...
        4.7667470844717611313629127271123E+00, ...
        6.0975545671817409269925429328463E+00, ...
        7.6014009492331374229360106942867E+00, ...
        9.2827143134708894182536695297710E+00, ...
        11.146649755619291358993815629587E+00, ...
        13.199189576244998522464925028637E+00, ...
        15.447268315549310075809325891801E+00, ...
        17.898929826644757646725793817752E+00, ...
        20.563526336715822170743048968779E+00, ...
        23.451973482011858591050255575933E+00, ...
        26.577081352118260459975876986478E+00, ...
        29.953990872346445506951917840024E+00, ...
        33.600759532902202735410313885784E+00, ...
        37.539164407330440882887902558001E+00, ...
        41.795830870182219981347945853330E+00, ...
        46.403866806411123136029227604386E+00, ...
        51.405314476797755161861461088395E+00, ...
        56.854992868715843620511922055660E+00, ...
        62.826855908786321453677523304806E+00, ...
        69.425277191080345623322251656443E+00, ...
        76.807047763862732837609972285484E+00, ...
        85.230358607545669169387065607043E+00, ...
        95.188939891525629981308606853957E+00, ...
        107.95224382757871475002440117666E+00 ];

  elseif ( order == 63 )

    points = [ ...
        0.22768893732576153785994330248562E-01, ...
        0.11998325242727824715771416426383E+00, ...
        0.29494185444770149577427738517405E+00, ...
        0.54779087896237725363865073775856E+00, ...
        0.87869061179931901673895567052285E+00, ...
        1.2878464335919706302309207788611E+00, ...
        1.7755123815388553763979463268728E+00, ...
        2.3419925567085989256055628337716E+00, ...
        2.9876423223246473939976731053629E+00, ...
        3.7128695992018000346299637413422E+00, ...
        4.5181363349503584391105568561550E+00, ...
        5.4039601781825946286902599782736E+00, ...
        6.3709163787865330220392250891777E+00, ...
        7.4196399339311711154888493199004E+00, ...
        8.5508280008403328312589048722235E+00, ...
        9.7652425999245366807004592977996E+00, ...
        11.063713635140661736220550410604E+00, ...
        12.447142262356492749798687569289E+00, ...
        13.916504641057818562912967008183E+00, ...
        15.472856110036296424777143607779E+00, ...
        17.117335833863588753116900303886E+00, ...
        18.851171974154856850873483787506E+00, ...
        20.675687448056515660377265667433E+00, ...
        22.592306346311528381292277759986E+00, ...
        24.602561094972638883700642760037E+00, ...
        26.708100458737343969779087998829E+00, ...
        28.910698500451382640177718103234E+00, ...
        31.212264631175912885477773820802E+00, ...
        33.614854909101154836598842888345E+00, ...
        36.120684774484823056306328740825E+00, ...
        38.732143442933582145626041607663E+00, ...
        41.451810222318741191114726181363E+00, ...
        44.282473071479233839358857134636E+00, ...
        47.227149784295686898935095231536E+00, ...
        50.289112264240695761749021839419E+00, ...
        53.471914456788652808348280619542E+00, ...
        56.779424636342062213099781057119E+00, ...
        60.215862909019862886417550114424E+00, ...
        63.785845004235974631701139601836E+00, ...
        67.494433702293885830374325695045E+00, ...
        71.347199604295266286654803376075E+00, ...
        75.350293425653234254290504744279E+00, ...
        79.510532629986309149555391354778E+00, ...
        83.835506080872257843339817658508E+00, ...
        88.333701570354369086112766326498E+00, ...
        93.014662728558547405303399037100E+00, ...
        97.889184147578140043386727677112E+00, ...
        102.96955690741381650783952746778E+00, ...
        108.26988161961595392226350967206E+00, ...
        113.80647350287462738934485955901E+00, ...
        119.59839538830458666962452963285E+00, ...
        125.66817255856119431291196303280E+00, ...
        132.04277272091165746585590583045E+00, ...
        138.75498418103789078167590567526E+00, ...
        145.84541318313540358283994248439E+00, ...
        153.36548459497863623710815962660E+00, ...
        161.38215194813761243562172669592E+00, ...
        169.98570600665839438795175301156E+00, ...
        179.30366247401580910251827858515E+00, ...
        189.52789596532475473668721332981E+00, ...
        200.97521159924656741628671841018E+00, ...
        214.25368536638788642698056296400E+00, ...
        230.93465747089703971246562985079E+00 ];

  elseif ( order == 127 )

      points = [ ...
        0.11339635298518611691893169631306E-01, ...
        0.59749753435726620281348237057387E-01, ...
        0.14685098690746167612388223687431E+00, ...
        0.27267590735859553131378008278900E+00, ...
        0.43724600644192665554577035869932E+00, ...
        0.64058688222566929533576416399983E+00, ...
        0.88272968639058364481487653650042E+00, ...
        1.1637114160166537661560584700951E+00, ...
        1.4835750152834613891313584861012E+00, ...
        1.8423694351613565380686320809853E+00, ...
        2.2401496839579024244513315656522E+00, ...
        2.6769768780141303692167869961238E+00, ...
        3.1529182957082825565771508308846E+00, ...
        3.6680474360304752540226339926515E+00, ...
        4.2224440823301888455977876667425E+00, ...
        4.8161943715870502475665535087286E+00, ...
        5.4493908694559416755862178908416E+00, ...
        6.1221326512997254193944584763155E+00, ...
        6.8345253894122668112237994973336E+00, ...
        7.5866814466367472174205986836847E+00, ...
        8.3787199765932725254842120659452E+00, ...
        9.2107670307426558777922506102445E+00, ...
        10.082955672528643809166439353647E+00, ...
        10.995426098858125429803147358780E+00, ...
        11.948325769197725997610605127857E+00, ...
        12.941809542585531053723381098192E+00, ...
        13.976039822878506520014405668679E+00, ...
        15.051186712579523631574796365435E+00, ...
        16.167428175612852922977395051768E+00, ...
        17.324950209443673446561163712616E+00, ...
        18.523947026965688560811711309349E+00, ...
        19.764621248611504104071669386884E+00, ...
        21.047184105173183606877044020054E+00, ...
        22.371855651855542817648123918101E+00, ...
        23.738864994122497183652313788712E+00, ...
        25.148450525937368234077278385644E+00, ...
        26.600860181041749607253384279755E+00, ...
        28.096351697964619201753961292129E+00, ...
        29.635192899504178910610227138642E+00, ...
        31.217661987479759144214467152615E+00, ...
        32.844047853610430460522951341338E+00, ...
        34.514650407441149149105635947422E+00, ...
        36.229780922306804019615388508885E+00, ...
        37.989762400399956435968780140278E+00, ...
        39.794929958089961778396437141707E+00, ...
        41.645631232730180705153990897484E+00, ...
        43.542226812286859549950892993822E+00, ...
        45.485090689228791137996151336673E+00, ...
        47.474610740231964719468766599146E+00, ...
        49.511189233379087716728884584381E+00, ...
        51.595243364671244443182771266934E+00, ...
        53.727205825819316758288140069145E+00, ...
        55.907525405447553305830605991732E+00, ...
        58.136667626022439197077526025660E+00, ...
        60.415115419018590295707192053805E+00, ...
        62.743369841051809700207126742685E+00, ...
        65.121950833949996311956025417139E+00, ...
        67.551398031997886314411872443149E+00, ...
        70.032271619884584511229871192030E+00, ...
        72.565153245206849090888669416801E+00, ...
        75.150646989739935299354362325096E+00, ...
        77.789380404085816000647405462136E+00, ...
        80.482005610750729205803962926758E+00, ...
        83.229200481195914886796120019048E+00, ...
        86.031669892953582966798238732643E+00, ...
        88.890147073512051099652518544282E+00, ...
        91.805395038358177994971250170499E+00, ...
        94.778208131331583205387031034825E+00, ...
        97.809413676305116411054110115424E+00, ...
        100.89987375017285940371939762172E+00, ...
        104.05048708821598934704076845022E+00, ...
        107.26219113414600428423116401414E+00, ...
        110.53596424851500530602771351277E+00, ...
        113.87282809075839485348376187652E+00, ...
        117.27385019192517774095477886379E+00, ...
        120.74014673718880106173978002719E+00, ...
        124.27288557955698354259506446928E+00, ...
        127.87328950885942645093841745425E+00, ...
        131.54263980314366921809377742137E+00, ...
        135.28228009311836970132738106369E+00, ...
        139.09362057432970013964422086977E+00, ...
        142.97814260643601776808227753574E+00, ...
        146.93740374437366549441080969072E+00, ...
        150.97304325252187127492511437460E+00, ...
        155.08678816034612572229641420609E+00, ...
        159.28045992663288235401956989889E+00, ...
        163.55598178957571104015967182053E+00, ...
        167.91538689194360134245547184721E+00, ...
        172.36082728473812536838156191681E+00, ...
        176.89458392960192176311674993508E+00, ...
        181.51907784036813069227528834025E+00, ...
        186.23688252828112373861202530357E+00, ...
        191.05073794450929196790836610789E+00, ...
        195.96356614879879837839002542988E+00, ...
        200.97848897600025153696475526130E+00, ...
        206.09884802468871112127283042753E+00, ...
        211.32822735671655260572377256981E+00, ...
        216.67047937658230323477089465777E+00, ...
        222.12975445929687246267304963754E+00, ...
        227.71053502072232419089132431317E+00, ...
        233.41767488282602453367775322563E+00, ...
        239.25644498830308620018749667089E+00, ...
        245.23258677871567172531254018984E+00, ...
        251.35237488718128030005500991754E+00, ...
        257.62269123792061413076191882313E+00, ...
        264.05111322908240551754377241831E+00, ...
        270.64601945722796749299111718606E+00, ...
        277.41671750163651071798388218104E+00, ...
        284.37359974220870326674402873120E+00, ...
        291.52833521346495719581282021650E+00, ...
        298.89410837028248600878895615414E+00, ...
        306.48591978262611320418112423947E+00, ...
        314.32096986471177487400007507615E+00, ...
        322.41915589128679683349440361344E+00, ...
        330.80372663802405651933847334878E+00, ...
        339.50216127832433747735367595958E+00, ...
        348.54737559472697355480761787441E+00, ...
        357.97942028029845454049007443090E+00, ...
        367.84794520076004578858341422871E+00, ...
        378.21590623135532818332979188889E+00, ...
        389.16539141251004101579475325153E+00, ...
        400.80729331451702589996361286427E+00, ...
        413.29853681779384418008260081859E+00, ...
        426.87579153663675538288509017051E+00, ...
        441.93085485310841412460309271842E+00, ...
        459.21804639888429981971267313224E+00, ...
        480.69378263388373859704269229304E+00 ];

  else

    fprintf ( 1, '\n' );
    fprintf ( 1, 'LAGUERRE_LOOKUP_POINTS - Fatal error!\n' );
    fprintf ( 1, '  Illegal input value of ORDER = %d\n', order );
    error ( 'LAGUERRE_LOOKUP_POINTS - Fatal error!' );

  end

  return
end
