function [ x, w ] = hermite_1_set ( n )

%*****************************************************************************80
%
%% HERMITE_1_SET sets abscissas and weights for Hermite quadrature.
%
%  Discussion:
%
%    This routine is for the case with unit density:
%      integral ( -oo < x < +oo ) f(x) dx
%
%  Licensing:
%
%    This code is distributed under the GNU LGPL license.
%
%  Modified:
%
%    16 May 2014
%
%  Author:
%
%    John Burkardt
%
%  Parameters:
%
%    Input, integer N, the order.
%    N must be between 1 and 10.
%
%    Output, real X(N), the abscissas.
%
%    Output, real W(N), the weights.
%
  x = zeros ( n, 1 );
  w = zeros ( n, 1 );

  if ( n == 1 )

    x(1) = 0.0;

    w(1) = 1.7724538509055161;

  elseif ( n == 2 )

    x(1) = - 0.707106781186547524400844362105;
    x(2) =   0.707106781186547524400844362105;

    w(1) = 1.4611411826611391;
    w(2) = 1.4611411826611391;

  elseif ( n == 3 )

    x(1) = - 1.22474487139158904909864203735;
    x(2) =   0.0;
    x(3) =   1.22474487139158904909864203735;

    w(1) = 1.3239311752136438; 
    w(2) = 1.1816359006036774;
    w(3) = 1.3239311752136438;

  elseif ( n == 4 )

    x(1) = - 1.65068012388578455588334111112;
    x(2) = - 0.524647623275290317884060253835;
    x(3) =   0.524647623275290317884060253835;
    x(4) =   1.65068012388578455588334111112;

    w(1) = 1.2402258176958150;
    w(2) = 1.0599644828949693;
    w(3) = 1.0599644828949693;
    w(4) = 1.2402258176958150;

  elseif ( n == 5 )

    x(1) = - 2.02018287045608563292872408814;
    x(2) = - 0.958572464613818507112770593893;
    x(3) =   0.0;
    x(4) =   0.958572464613818507112770593893;
    x(5) =   2.02018287045608563292872408814;

    w(1) = 1.1814886255359869;
    w(2) = 0.98658099675142830;
    w(3) = 0.94530872048294190;
    w(4) = 0.98658099675142830;
    w(5) = 1.1814886255359869;

  elseif ( n == 6 )

    x(1) = - 2.35060497367449222283392198706;
    x(2) = - 1.33584907401369694971489528297;
    x(3) = - 0.436077411927616508679215948251;
    x(4) =   0.436077411927616508679215948251;
    x(5) =   1.33584907401369694971489528297;
    x(6) =   2.35060497367449222283392198706;

    w(1) = 1.1369083326745253;
    w(2) = 0.93558055763118075;
    w(3) = 0.87640133443623058;
    w(4) = 0.87640133443623058;
    w(5) = 0.93558055763118075;
    w(6) = 1.1369083326745253;

  elseif ( n == 7 )

    x(1) = - 2.65196135683523349244708200652;
    x(2) = - 1.67355162876747144503180139830;
    x(3) = - 0.816287882858964663038710959027;
    x(4) =   0.0;
    x(5) =   0.816287882858964663038710959027;
    x(6) =   1.67355162876747144503180139830;
    x(7) =   2.65196135683523349244708200652;

    w(1) = 1.1013307296103216;
    w(2) = 0.89718460022518409;
    w(3) = 0.82868730328363926;
    w(4) = 0.81026461755680734;
    w(5) = 0.82868730328363926;
    w(6) = 0.89718460022518409;
    w(7) = 1.1013307296103216;

  elseif ( n == 8 )

    x(1) = - 2.93063742025724401922350270524;
    x(2) = - 1.98165675669584292585463063977;
    x(3) = - 1.15719371244678019472076577906;
    x(4) = - 0.381186990207322116854718885584;
    x(5) =   0.381186990207322116854718885584;
    x(6) =   1.15719371244678019472076577906;
    x(7) =   1.98165675669584292585463063977;
    x(8) =   2.93063742025724401922350270524;

    w(1) = 1.0719301442479805;
    w(2) = 0.86675260656338138;
    w(3) = 0.79289004838640131;
    w(4) = 0.76454412865172916;
    w(5) = 0.76454412865172916;
    w(6) = 0.79289004838640131;
    w(7) = 0.86675260656338138;
    w(8) = 1.0719301442479805;

  elseif ( n == 9 )

    x(1) = - 3.19099320178152760723004779538;
    x(2) = - 2.26658058453184311180209693284;
    x(3) = - 1.46855328921666793166701573925;
    x(4) = - 0.723551018752837573322639864579;
    x(5) =   0.0;
    x(6) =   0.723551018752837573322639864579;
    x(7) =   1.46855328921666793166701573925;
    x(8) =   2.26658058453184311180209693284;
    x(9) =   3.19099320178152760723004779538;

    w(1) = 1.0470035809766838;
    w(2) = 0.84175270147867043;
    w(3) = 0.76460812509455023;
    w(4) = 0.73030245274509220;
    w(5) = 0.72023521560605097;
    w(6) = 0.73030245274509220;
    w(7) = 0.76460812509455023;
    w(8) = 0.84175270147867043;
    w(9) = 1.0470035809766838;

  elseif ( n == 10 )

    x(1) =  - 3.43615911883773760332672549432;
    x(2) =  - 2.53273167423278979640896079775;
    x(3) =  - 1.75668364929988177345140122011;
    x(4) =  - 1.03661082978951365417749191676;
    x(5) =  - 0.342901327223704608789165025557;
    x(6) =    0.342901327223704608789165025557;
    x(7) =    1.03661082978951365417749191676;
    x(8) =    1.75668364929988177345140122011;
    x(9) =    2.53273167423278979640896079775;
    x(10) =   3.43615911883773760332672549432;

    w(1) = 1.0254516913657352;
    w(2) = 0.82066612640481640;
    w(3) = 0.74144193194356511;
    w(4) = 0.70329632310490608;
    w(5) = 0.68708185395127341;
    w(6) = 0.68708185395127341;
    w(7) = 0.70329632310490608;
    w(8) = 0.74144193194356511;
    w(9) = 0.82066612640481640;
    w(10) = 1.0254516913657352;
    
  else

    fprintf ( 1, '\n' );
    fprintf ( 1, 'HERMITE_1_SET - Fatal error!\n' );
    fprintf ( 1, '  Illegal value of N = %d\n', n );
    fprintf ( 1, '  Legal values are 1 to 10.\n' );
    error ( 'HERMITE_1_SET - Fatal error!' );

  end

  return
end
