26 #include "tnt/tnt_array2d.h" 
   52       Matrix(
const int n, 
const int m, 
const double value = 0.0);
 
   53       Matrix(TNT::Array2D<double> matrix);
 
   59         return p_matrix.dim1();
 
   61       inline int Columns() {
 
   62         return p_matrix.dim2();
 
   79       inline double *operator[](
int index) {
 
   80         return p_matrix[index];
 
   91       Matrix operator* (
double scalar)  {
 
   96       TNT::Array2D<double> p_matrix;
 
Matrix Eigenvectors()
Compute the eigenvectors of the matrix and return them as columns of a matrix in ascending order...
 
Matrix Add(Matrix &matrix)
Add the two matrices. 
 
Matrix(const int n, const int m, const double value=0.0)
Constructs an n x m Matrix containing the specified default value. 
 
double Determinant()
Compute the determinant of the matrix. 
 
Matrix Transpose()
Compute the transpose of the matrix. 
 
Matrix Multiply(Matrix &matrix)
Multiply the two matrices. 
 
double Trace()
Compute the determinant of the matrix. 
 
Matrix Inverse()
Compute the inverse of the matrix. 
 
~Matrix()
Destroys the Matrix object. 
 
Matrix Subtract(Matrix &matrix)
Subtract the input matrix from this matrix. 
 
std::vector< double > Eigenvalues()
Compute the eigenvalues of the matrix. 
 
Matrix MultiplyElementWise(Matrix &matrix)
Multiply the two matrices element-wise (ie compute C such that C[i][j] = A[i][j]*B[i][j]) ...
 
static Matrix Identity(const int n)
Create an n x n identity matrix. 
 
QDebug operator<<(QDebug debug, const Hillshade &hillshade)
Print this class out to a QDebug object.