function a = wilk04_matrix ( )

%*****************************************************************************80
%
%% wilk04_matrix() returns the WILK04 matrix.
%
%  Formula:
%
%    0.9143E-04  0.0         0.0         0.0
%    0.8762      0.7156E-04  0.0         0.0
%    0.7943      0.8143      0.9504E-04  0.0
%    0.8017      0.6123      0.7165      0.7123E-04
%
%  Properties:
%
%    A is lower triangular.
%
%    A is not diagonally dominant.
%
%    LAMBDA = ( 0.9143E-04, 0.7156E-04, 0.9504E-04, 0.7123E-04 ).
%
%    A is very ill-conditioned.
%
%  Discussion:
%
%    Since the matrix is already in lower triangular form, errors can
%    occur only in the backsubstitution.  However, even a double
%    precision calculation will show a significant degradation in the
%    solution.  It is also instructive to compare the actual error in
%    the solution to the residual error, A*x-b.
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    22 October 2007
%
%  Author:
%
%    John Burkardt
%
%  Reference:
%
%    James Wilkinson,
%    Rounding Errors in Algebraic Processes,
%    Prentice Hall, 1963, page 105.
%
%  Output:
%
%    real A(4,4), the matrix.
%
  a(1:4,1:4) = [ 0.9143E-04, 0.8762,     0.7943,     0.8017; ...
                 0.0000,     0.7156E-04, 0.8143,     0.6123; ...
                 0.0000,     0.0000,     0.9504E-04, 0.7165; ...
                 0.0000,     0.0000,     0.0000,     0.7123E-04 ];

  return
end
