// SquareMatrix: // quadratic matrix of doubles // implementation #include "SquareMatrix.H" // creates an n x n square matrix SquareMatrix::SquareMatrix(int n) : Matrix(n,n) { } // delete a SquareMatrix SquareMatrix::~SquareMatrix() { delete[] val; } // matrix multiplication of square matrices gives a square matrix void SquareMatrix::mult(SquareMatrix &b, SquareMatrix &result) { Matrix::mult(b, result); } // returns the trace of a square matrix double SquareMatrix::trace() { double tr = 0.0; for (int i = 0; i < nRows; i++) { tr += val[i + nRows * i]; } return tr; }