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 GNU LGPL 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