qr.cpp
#include <iostream>
#include <tnt_array1d.h>
#include <tnt_array1d_utils.h>
#include <tnt_array2d.h>
#include <tnt_array2d_utils.h>
#include <jama_qr.h>
int
main(int, char *[])
{
TNT::Array2D<double> A(5, 4);
A[0][0] = -2.0; A[0][1] = 1.0; A[0][2] = 2.0; A[0][3] = 4.0;
A[1][0] = -3.0; A[1][1] = 1.0; A[1][2] = 2.0; A[1][3] = 2.0;
A[2][0] = 1.0; A[2][1] = -2.0; A[2][2] = -3.0; A[2][3] = -2.0;
A[3][0] = -4.0; A[3][1] = 1.0; A[3][2] = 3.0; A[3][3] = 2.0;
A[4][0] = -5.0; A[4][1] = 0.0; A[4][2] = -5.0; A[4][3] = 4.0;
std::cout << "A: " << std::endl;
std::cout << A << std::endl;
TNT::Array1D<double> b(5);
b[0] = 1.0;
b[1] = -7.0;
b[2] = 10.0;
b[3] = -8.0;
b[4] = -3.0;
std::cout << "b: " << std::endl;
std::cout << b << std::endl;
JAMA::QR<double> qr(A);
std::cout << "solve: " << std::endl;
std::cout << qr.solve(b) << std::endl;
return 0;
}