function [ x, y, z, w ] = rule05 ( )

%*****************************************************************************80
%
%% rule05() returns the pyramid quadrature rule of precision 5.
%
%  Discussion:
%
%    The unit pyramid with square base is the region
%
%      -1 <= X <= 1
%      -1 <= Y <= 1
%       0 <= Z <= 1.
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    14 April 2023
%
%  Author:
%
%    John Burkardt
%
%  Reference:
%
%    Jan Jaskowiec, Natarajan Sukumar,
%    High order symmetric cubature rules for tetrahedra and pyramids,
%    International Journal for Numerical Methods in Engineering,
%    Volume 122, Number 1, pages 148-171, 24 August 2020.
%
%  Output:
%
%    x(n), y(n), z(n): the coordinates of quadrature points.
%
%    w(n): the quadrature weights.
%
  x = [ ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.75344061307932941318, ...
      0.00000000000000000000, ...
     -0.75344061307932941318, ...
      0.00000000000000000000, ...
      0.41715200242575134482, ...
     -0.41715200242575134482, ...
      0.41715200242575134482, ...
     -0.41715200242575134482, ...
      0.67402251647787037037, ...
     -0.67402251647787037037, ...
      0.67402251647787037037, ...
     -0.67402251647787037037 ];

  y = [ ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.75344061307932941318, ...
      0.00000000000000000000, ...
     -0.75344061307932941318, ...
      0.41715200242575134482, ...
      0.41715200242575134482, ...
     -0.41715200242575134482, ...
     -0.41715200242575134482, ...
      0.67402251647787037037, ...
      0.67402251647787037037, ...
     -0.67402251647787037037, ...
     -0.67402251647787037037 ];

  z = [ ...
      0.73070946955479043616, ...
      0.00619723285819058847, ...
      0.26844580953431373960, ...
      0.12500000000000000000, ...
      0.12500000000000000000, ...
      0.12500000000000000000, ...
      0.12500000000000000000, ...
      0.42182171100285947851, ...
      0.42182171100285947851, ...
      0.42182171100285947851, ...
      0.42182171100285947851, ...
      0.06579572180745926757, ...
      0.06579572180745926757, ...
      0.06579572180745926757, ...
      0.06579572180745926757 ];

  w = [ ...
      0.06773442693037112772, ...
      0.06470893518150579171, ...
      0.17727154901514516339, ...
      0.05910777216655192096, ...
      0.05910777216655192096, ...
      0.05910777216655192096, ...
      0.05910777216655192096, ...
      0.06537546219121122271, ...
      0.06537546219121122271, ...
      0.06537546219121122271, ...
      0.06537546219121122271, ...
      0.04808803786048133910, ...
      0.04808803786048133910, ...
      0.04808803786048133910, ...
      0.04808803786048133910 ];

  return
end
