#include <iostream>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/io.hpp>
#include "kv/interval.hpp"
#include "kv/rdouble.hpp"

namespace ub = boost::numeric::ublas;

int main()
{
	ub::matrix< kv::interval<double> > a(2, 2);
	ub::vector< kv::interval<double> > x(2);

	a(0, 0).assign(1., 2.); a(0, 1).assign(3., 4.);
	a(1, 0).assign(5., 6.); a(1, 1).assign(7., 8.);

	x(0).assign(1., 2.); x(1).assign(3., 4.);

	std::cout << prod(a, x) << "\n";
}
