Matrix

Description

Matrix is a two-dimensional array of real numbers. It is most widely used when performing mathematical calculations on groups of data. It is also possible to create an image from matrix (see: MatrixToImage.)

class Matrix : public Array2D< float >
{
public:
	// Constructors
	Matrix() : Array2D< float >();
	Matrix(int nRows, int nCols) : Array2D< float >(nRows, nCols);
	Matrix(int nRows, int nCols, const float* data);
	Matrix(int nRows, int nCols, const float& value);
	Matrix( const Matrix& rhs ) : Array2D< float >(rhs);
	Matrix( const Array< float >& rhs );
	
	Matrix& operator = ( const Matrix& rhs );
	Matrix operator * ( float c ) const;
	Matrix operator * ( const Matrix& rhs ) const;
	Matrix operator + ( const Matrix& rhs ) const;
	Matrix operator += ( const Matrix& rhs );
	bool operator == ( const Matrix& rhs ) const;
	bool operator != ( const Matrix& rhs ) const;
	
	static Matrix eye( int n );
	Matrix t() const;
	
	float* Data();
	const float* Data() const;
};