% umfpack_simple:  a simple demo of UMFPACK
%
% UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
% All Rights Reserved.  Type umfpack_details for License.
%
% UMFPACK License:
%
%    Your use or distribution of UMFPACK or any modified version of
%    UMFPACK implies that you agree to this License.
%
%    This library is free software; you can redistribute it and/or
%    modify it under the terms of the GNU Lesser General Public
%    License as published by the Free Software Foundation; either
%    version 2.1 of the License, or (at your option) any later version.
%
%    This library is distributed in the hope that it will be useful,
%    but WITHOUT ANY WARRANTY; without even the implied warranty of
%    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
%    Lesser General Public License for more details.
%
%    You should have received a copy of the GNU Lesser General Public
%    License along with this library; if not, write to the Free Software
%    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
%    USA
%
%    Permission is hereby granted to use or copy this program under the
%    terms of the GNU LGPL, provided that the Copyright, this License,
%    and the Availability of the original version is retained on all copies.
%    User documentation of any code that uses this code or any modified
%    version of this code must cite the Copyright, this License, the
%    Availability note, and "Used by permission." Permission to modify
%    the code and to distribute modified code is granted, provided the
%    Copyright, this License, and the Availability note are retained,
%    and a notice that the code was modified is included.
%
% Availability: http://www.cise.ufl.edu/research/sparse/umfpack
%
% See also: umfpack, umfpack_details

help umfpack_simple
i = input ('Hit enter to agree to the above License: ', 's') ;
if (~isempty (i))
    error ('terminating') ;
end

format short

A = [
 2  3  0  0  0
 3  0  4  0  6
 0 -1 -3  2  0
 0  0  1  0  0
 0  4  2  0  1
]

A = sparse (A) ;

b = [8 45 -3 3 19]'

fprintf ('Solution to Ax=b via UMFPACK:\n') ;
fprintf ('x1 = umfpack (A, ''\\'', b)\n') ;

x1 = umfpack (A, '\', b)

fprintf ('Solution to Ax=b via MATLAB:\n') ;
fprintf ('x2 = A\\b\n') ;

x2 = A\b

fprintf ('norm (x1-x2) should be small: %g\n', norm (x1-x2)) ;

fprintf ('Type ''umfpack_demo'' for a full demo of UMFPACK\n') ;
