10#include "tnt/tnt_array2d.h"
36 Matrix(
const int n,
const int m,
const double value = 0.0);
37 Matrix(TNT::Array2D<double> matrix);
43 return p_matrix.dim1();
45 inline int Columns() {
46 return p_matrix.dim2();
63 inline double *operator[](
int index) {
64 return p_matrix[index];
75 Matrix operator* (
double scalar) {
80 TNT::Array2D<double> p_matrix;
double Determinant()
Compute the determinant of the matrix.
std::vector< double > Eigenvalues()
Compute the eigenvalues of the matrix.
Matrix Transpose()
Compute the transpose of the matrix.
Matrix Subtract(Matrix &matrix)
Subtract the input matrix from this matrix.
Matrix Eigenvectors()
Compute the eigenvectors of the matrix and return them as columns of a matrix in ascending order.
Matrix(const int n, const int m, const double value=0.0)
Constructs an n x m Matrix containing the specified default value.
double Trace()
Compute the determinant of the matrix.
~Matrix()
Destroys the Matrix object.
Matrix Inverse()
Compute the inverse of the matrix.
Matrix Add(Matrix &matrix)
Add the two matrices.
static Matrix Identity(const int n)
Create an n x n identity 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])
Matrix Multiply(Matrix &matrix)
Multiply the two matrices.
This is free and unencumbered software released into the public domain.
QDebug operator<<(QDebug debug, const Hillshade &hillshade)
Print this class out to a QDebug object.