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

%*****************************************************************************80
%
%% rule07() returns the pyramid quadrature rule of precision 7.
%
%  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.61721339984836764980, ...
      0.00000000000000000000, ...
     -0.61721339984836764980, ...
      0.00000000000000000000, ...
      0.86409875978771466531, ...
      0.00000000000000000000, ...
     -0.86409875978771466531, ...
      0.00000000000000000000, ...
      0.52488756030374572603, ...
     -0.52488756030374572603, ...
      0.52488756030374572603, ...
     -0.52488756030374572603, ...
      0.25419682219463812789, ...
     -0.25419682219463812789, ...
      0.25419682219463812789, ...
     -0.25419682219463812789, ...
      0.35405111881016937403, ...
     -0.35405111881016937403, ...
      0.35405111881016937403, ...
     -0.35405111881016937403, ...
      0.61427194545119712110, ...
     -0.61427194545119712110, ...
      0.61427194545119712110, ...
     -0.61427194545119712110, ...
      0.80282248626994900942, ...
     -0.80282248626994900942, ...
      0.80282248626994900942, ...
     -0.80282248626994900942 ];

  y = [ ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.61721339984836764980, ...
      0.00000000000000000000, ...
     -0.61721339984836764980, ...
      0.00000000000000000000, ...
      0.86409875978771466531, ...
      0.00000000000000000000, ...
     -0.86409875978771466531, ...
      0.52488756030374572603, ...
      0.52488756030374572603, ...
     -0.52488756030374572603, ...
     -0.52488756030374572603, ...
      0.25419682219463812789, ...
      0.25419682219463812789, ...
     -0.25419682219463812789, ...
     -0.25419682219463812789, ...
      0.35405111881016937403, ...
      0.35405111881016937403, ...
     -0.35405111881016937403, ...
     -0.35405111881016937403, ...
      0.61427194545119712110, ...
      0.61427194545119712110, ...
     -0.61427194545119712110, ...
     -0.61427194545119712110, ...
      0.80282248626994900942, ...
      0.80282248626994900942, ...
     -0.80282248626994900942, ...
     -0.80282248626994900942 ];

  z = [ ...
      0.39365048525928414413, ...
      0.83863414272299030561, ...
      0.00001985131073852604, ...
      0.33333333333333331483, ...
      0.33333333333333331483, ...
      0.33333333333333331483, ...
      0.33333333333333331483, ...
      0.06666666666666666574, ...
      0.06666666666666666574, ...
      0.06666666666666666574, ...
      0.06666666666666666574, ...
      0.29045491084254104752, ...
      0.29045491084254104752, ...
      0.29045491084254104752, ...
      0.29045491084254104752, ...
      0.60547835568141594731, ...
      0.60547835568141594731, ...
      0.60547835568141594731, ...
      0.60547835568141594731, ...
      0.12931884631055998169, ...
      0.12931884631055998169, ...
      0.12931884631055998169, ...
      0.12931884631055998169, ...
      0.00010086339268113571, ...
      0.00010086339268113571, ...
      0.00010086339268113571, ...
      0.00010086339268113571, ...
      0.08012951317750569014, ...
      0.08012951317750569014, ...
      0.08012951317750569014, ...
      0.08012951317750569014 ];

  w = [ ...
      0.10051398177493840735, ...
      0.01571901760701541889, ...
      0.02499658963028165634, ...
      0.02871093749999999861, ...
      0.02871093749999999861, ...
      0.02871093749999999861, ...
      0.02871093749999999861, ...
      0.02669175929300291600, ...
      0.02669175929300291600, ...
      0.02669175929300291600, ...
      0.02669175929300291600, ...
      0.03572750182264943647, ...
      0.03572750182264943647, ...
      0.03572750182264943647, ...
      0.03572750182264943647, ...
      0.02951904528668866309, ...
      0.02951904528668866309, ...
      0.02951904528668866309, ...
      0.02951904528668866309, ...
      0.06594160872648228977, ...
      0.06594160872648228977, ...
      0.06594160872648228977, ...
      0.06594160872648228977, ...
      0.01333274388639105884, ...
      0.01333274388639105884, ...
      0.01333274388639105884, ...
      0.01333274388639105884, ...
      0.01476900623172677438, ...
      0.01476900623172677438, ...
      0.01476900623172677438, ...
      0.01476900623172677438 ];

  return
end
