function [ x, y, w ] = rule11 ( )

%*****************************************************************************80
%
%% rule11() returns the quadrilateral rule of precision 11.
%
%  Discussion:
%
%    We suppose we are given a quadrilateral Quad with vertices
%    (0,0), (1,0), (1,1), (0,1),
%    We call a rule with n points, returning coordinates
%    x, y, and weights w.  Then the integral I of f(x,y,z) over Quad is 
%    approximated by Q as follows:
%
%    Q = area(Quad) * sum ( 1 <= i <= n ) w(i) * f(x(i),y(i)) 
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    29 April 2023
%
%  Author:
%
%    John Burkardt
%
%  Reference:
%
%    Freddie Witherden, Peter Vincent,
%    On the identification of symmetric quadrature rules for finite element methods,
%    Computers and Mathematics with Applications,
%    Volume 69, pages 1232-1241, 2015.
%
%  Output:
%
%    real x(n), y(n): the coordinates of quadrature points.
%
%    real w(n): the quadrature weights, which sum to 1.
%
  x = [ ...
          0.8573089148323030, ...
          0.5000000000000000, ...
          0.1426910851676970, ...
          0.5000000000000000, ...
          0.6368286050857298, ...
          0.6368286050857298, ...
          0.3631713949142702, ...
          0.3631713949142702, ...
          0.8183019661061506, ...
          0.8183019661061506, ...
          0.1816980338938495, ...
          0.1816980338938495, ...
          0.9758151943920168, ...
          0.9077827168448191, ...
          0.9758151943920168, ...
          0.0922172831551808, ...
          0.0241848056079833, ...
          0.9077827168448191, ...
          0.0241848056079833, ...
          0.0922172831551808, ...
          0.6731036000238227, ...
          0.9677839357437956, ...
          0.6731036000238227, ...
          0.0322160642562044, ...
          0.3268963999761773, ...
          0.9677839357437956, ...
          0.3268963999761773, ...
          0.0322160642562044 ];

  y = [ ...
          0.5000000000000000, ...
          0.8573089148323030, ...
          0.5000000000000000, ...
          0.1426910851676970, ...
          0.6368286050857298, ...
          0.3631713949142702, ...
          0.6368286050857298, ...
          0.3631713949142702, ...
          0.8183019661061506, ...
          0.1816980338938495, ...
          0.8183019661061506, ...
          0.1816980338938495, ...
          0.9077827168448191, ...
          0.9758151943920168, ...
          0.0922172831551808, ...
          0.9758151943920168, ...
          0.9077827168448191, ...
          0.0241848056079833, ...
          0.0922172831551808, ...
          0.0241848056079833, ...
          0.9677839357437956, ...
          0.6731036000238227, ...
          0.0322160642562044, ...
          0.6731036000238227, ...
          0.9677839357437956, ...
          0.3268963999761773, ...
          0.0322160642562044, ...
          0.3268963999761773 ];

  w = [ ...
          0.0543501099671780, ...
          0.0543501099671780, ...
          0.0543501099671780, ...
          0.0543501099671780, ...
          0.0693185257459628, ...
          0.0693185257459628, ...
          0.0693185257459628, ...
          0.0693185257459628, ...
          0.0534834094695620, ...
          0.0534834094695620, ...
          0.0534834094695620, ...
          0.0534834094695620, ...
          0.0110186422787458, ...
          0.0110186422787458, ...
          0.0110186422787458, ...
          0.0110186422787458, ...
          0.0110186422787458, ...
          0.0110186422787458, ...
          0.0110186422787458, ...
          0.0110186422787458, ...
          0.0254053351299028, ...
          0.0254053351299028, ...
          0.0254053351299028, ...
          0.0254053351299028, ...
          0.0254053351299028, ...
          0.0254053351299028, ...
          0.0254053351299028, ...
          0.0254053351299028 ];

  return
end
