/* GaussianMatrix.h extends Matrix with operations for Gaussian Elimination.
 * ...
 */

#ifndef GAUSSIAN_MATRIX
#define GAUSSIAN_MATRIX

#include "Matrix.h"

class GaussianMatrix : public Matrix
{
 public:
  GaussianMatrix(int rows, int columns);
  
  void readCoefficientMatrix(istream& in);
  void readConstantVector(istream& in);
  
  bool reduce();
  
  Matrix solve() const;
  
 private:
};

inline GaussianMatrix::GaussianMatrix(int rows, int columns)
: Matrix(rows, columns)
{}

#endif
