function a = drmac_good_matrix ( )

%*****************************************************************************80
%
%% drmac_good_matrix() returns the DRMAC_GOOD matrix.
%
%  Discussion:
%
%    This matrix was discussed in a seminar given by Zlatko Drmac.
%
%    The matrix is available in a "badly scaled" or "well scaled" version.
%
%    It is also interesting to consider the 6 symmetric permutations of
%    the matrix.
%
%  Formula:
%
%    1.0  0.1  0.1
%    0.1  1.0  0.1
%    0.1  0.1  1.0
%
%  Properties:
%
%    A is nonsingular.
%
%    A is normal.
%
%    A is diagonalizable.
%
%    A is symmetric.
%
%    A is positive definite.
%
%    A is symmetric positive definite.
%
%    A is diagonally dominant.
%
%    A is strictly diagonally dominant.
%
%    The matrix is a particular example of the combinatorial matrix,
%    with ALPHA = 0.9 and BETA = 0.1.  Therefore,
%    there is one eigenvalue with multiplicity 2 and value ALPHA,
%    and one eigenvalue with multiplicity 1 and value BETA + N * ALPHA.
%    (That is, LAMBDA(1) = LAMBDA(2) = 0.9, and LAMBDA(3) = 1.2).
%
%    The eigenvector corresponding to 1.2 is (1, 1, 1).
%    The eigenvectors corresponding to 0.9 are somewhat arbitrary.
%    Two orthonormal eigenvectors are ( 0.8159, -0.2802, -0.4357 )
%    and ( -0.0320, 0.7226, -0.6905 ) but any linear combination
%    of these two vectors will also be an eigenvector for 0.9.
%
%    The determinant is ALPHA^(N-1) * ( BETA + N * ALPHA ) 
%    = 0.9*0.9*1.2 = 0.9720
%
%    The inverse has diagonal elements equal to 1.1 / ( 0.9 * 1.2) and
%    off diagonal elements of -0.1 / ( 0.9 * 1.2 ).
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    12 December 2019
%
%  Author:
%
%    John Burkardt
%
%  Output:
%
%    real A(3,3), the matrix.
% 
  a(1:3,1:3) = [ ...
    1.0E+00, 1.0E-01, 1.0E-01; ...
    1.0E-01, 1.0E+00, 1.0E-01; ...
    1.0E-01, 1.0E-01, 1.0E+00 ];

  return
end
