#include <stdio.h>
#include "matfuncs.h"

int
main(int argc, char **argv)
{
	mat *a = NULL, *b = NULL;
	mat *u = NULL, *l = NULL;
	mat *lu = NULL;

	a = m_read_argument(argv[1]);
	if (!a) {
		fprintf(stderr,"matrix unreadable\n");
		exit(1);
	}

	printf("Original matrix:\n");
	m_print(a);
	b = m_copy(a);
	m_gausselim(b,&u, &l);
	printf("Upper triangular:\n");
	m_print(u);
	printf("Lower triangular:\n");
	m_print(l);
	printf("Lower times upper:\n");
	m_mult(&lu, l, u);
	m_print(lu);
	return 0;
}
