// Vector matrix multiplication Vector operator *(const Vector& v, const Matrix& m){ int orig_size = v.GetSize(); assert(m.GetNumberOfRows() == orig_size); int new_size = m.GetNumberOfCols(); Vector new_v(new_size); for (int i=0; i<new_size; i++){ for (int j=0; j<orig_size; j++){ new_v[i] += v.Read(j)*m.mData[j][i]; } } return new_v; }
//Copy Matrix::Matrix(const Matrix& otherMatrix){ mNumRows = otherMatrix.GetNumberOfRows(); mNumCols = otherMatrix.GetNumberOfCols(); mData = new double*[mNumRows]; for(int i=0; i<mNumRows; i++){ mData[i] = new double [mNumCols]; } for(int i=0; i<mNumRows; i++){ for(int j=0; j<mNumCols; j++){ mData[i][j] = otherMatrix.mData[i][j]; } } }