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

%*****************************************************************************80
%
%% rule06() returns the pyramid quadrature rule of precision 6.
%
%  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.42104595182782333929, ...
      0.00000000000000000000, ...
     -0.42104595182782333929, ...
      0.00000000000000000000, ...
      0.83584092506524387822, ...
      0.00000000000000000000, ...
     -0.83584092506524387822, ...
      0.00000000000000000000, ...
      0.51341781341302172859, ...
     -0.51341781341302172859, ...
      0.51341781341302172859, ...
     -0.51341781341302172859, ...
      0.87197953364266822529, ...
     -0.87197953364266822529, ...
      0.87197953364266822529, ...
     -0.87197953364266822529, ...
      0.47733155776773072976, ...
     -0.47733155776773072976, ...
      0.47733155776773072976, ...
     -0.47733155776773072976 ];

  y = [ ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.42104595182782333929, ...
      0.00000000000000000000, ...
     -0.42104595182782333929, ...
      0.00000000000000000000, ...
      0.83584092506524387822, ...
      0.00000000000000000000, ...
     -0.83584092506524387822, ...
      0.51341781341302172859, ...
      0.51341781341302172859, ...
     -0.51341781341302172859, ...
     -0.51341781341302172859, ...
      0.87197953364266822529, ...
      0.87197953364266822529, ...
     -0.87197953364266822529, ...
     -0.87197953364266822529, ...
      0.47733155776773072976, ...
      0.47733155776773072976, ...
     -0.47733155776773072976, ...
     -0.47733155776773072976 ];

  z = [ ...
      0.13353121706321477435, ...
      0.80839181878746035892, ...
      0.37840352066355309457, ...
      0.55635774022808082151, ...
      0.55635774022808082151, ...
      0.55635774022808082151, ...
      0.55635774022808082151, ...
      0.09682668434012106640, ...
      0.09682668434012106640, ...
      0.09682668434012106640, ...
      0.09682668434012106640, ...
      0.25547807503740499468, ...
      0.25547807503740499468, ...
      0.25547807503740499468, ...
      0.25547807503740499468, ...
      0.03348911098405843445, ...
      0.03348911098405843445, ...
      0.03348911098405843445, ...
      0.03348911098405843445, ...
      0.02776222122928558023, ...
      0.02776222122928558023, ...
      0.02776222122928558023, ...
      0.02776222122928558023 ];

  w = [ ...
      0.10236994192337051102, ...
      0.02544552509057920395, ...
      0.10744358342269332007, ...
      0.03715744178992643615, ...
      0.03715744178992643615, ...
      0.03715744178992643615, ...
      0.03715744178992643615, ...
      0.03663269740345383857, ...
      0.03663269740345383857, ...
      0.03663269740345383857, ...
      0.03663269740345383857, ...
      0.07134885171305939411, ...
      0.07134885171305939411, ...
      0.07134885171305939411, ...
      0.07134885171305939411, ...
      0.00865946139444006419, ...
      0.00865946139444006419, ...
      0.00865946139444006419, ...
      0.00865946139444006419, ...
      0.03738678508995950389, ...
      0.03738678508995950389, ...
      0.03738678508995950389, ...
      0.03738678508995950389 ];

  return
end
