/*
   Program using matrix class to do matrix algebra
*/

#include <iostream>
#include "Matrix.hpp"

using namespace std;

int main()
{
    Matrix A(2,2);
    Matrix B(2,2);

    cout << "A=" << endl << A;

    A.SetElement(0,0,10.0);  // Call to method  SetElement
    A(1,1)=20.0;             // Call to Matrix::operator() (r,c)

    cout << "A=" << endl << A;

    B=A*A;
    cout << "B=A*A=" << endl << B;

    Matrix C(2,2);
    C=A+B;
    cout << "C=A+B=" << endl << C;

    Matrix D(2,2);
    D=A*B;
    cout << "D=A*B=" << endl << D;

    Matrix H(2,2);
    H=A+(A*B)+2.0*C*(D*A-2.0*B);
    cout << "H=" << endl << H;

    /*
    Matrix X(3,3);
*/

    return 0;
}

