Isis 3 Programmer Reference
|
#include <Matrix.h>
Public Member Functions | |
Matrix (const int n, const int m, const double value=0.0) | |
Constructs an n x m Matrix containing the specified default value. More... | |
Matrix (TNT::Array2D< double > matrix) | |
Constructs a Matrix from the specified TNT Array2D. More... | |
~Matrix () | |
Destroys the Matrix object. More... | |
int | Rows () |
int | Columns () |
double | Determinant () |
Compute the determinant of the matrix. More... | |
double | Trace () |
Compute the determinant of the matrix. More... | |
std::vector< double > | Eigenvalues () |
Compute the eigenvalues of the matrix. More... | |
Matrix | Add (Matrix &matrix) |
Add the two matrices. More... | |
Matrix | Subtract (Matrix &matrix) |
Subtract the input matrix from this matrix. More... | |
Matrix | Multiply (Matrix &matrix) |
Multiply the two matrices. More... | |
Matrix | Multiply (double scalar) |
Multiply the matrix by a scalar value. More... | |
Matrix | MultiplyElementWise (Matrix &matrix) |
Multiply the two matrices element-wise (ie compute C such that C[i][j] = A[i][j]*B[i][j]) More... | |
Matrix | Transpose () |
Compute the transpose of the matrix. More... | |
Matrix | Inverse () |
Compute the inverse of the matrix. More... | |
Matrix | Eigenvectors () |
Compute the eigenvectors of the matrix and return them as columns of a matrix in ascending order. More... | |
double * | operator[] (int index) |
Matrix | operator+ (Matrix &matrix) |
Matrix | operator- (Matrix &matrix) |
Matrix | operator* (Matrix &matrix) |
Matrix | operator* (double scalar) |
Static Public Member Functions | |
static Matrix | Identity (const int n) |
Create an n x n identity matrix. More... | |
Private Attributes | |
TNT::Array2D< double > | p_matrix |
Matrix class.
A Matrix
This class stores a matrix and compute matrix calculations such as addition, subtraction,multiplication, transposes, inverses, and eigenvalues.
Isis::Matrix::Matrix | ( | const int | n, |
const int | m, | ||
const double | value = 0.0 |
||
) |
Constructs an n x m Matrix containing the specified default value.
Definition at line 24 of file Matrix.cpp.
References Isis::IException::Programmer.
Referenced by Add(), Eigenvectors(), Inverse(), Multiply(), MultiplyElementWise(), Subtract(), and Transpose().
Isis::Matrix::Matrix | ( | TNT::Array2D< double > | matrix | ) |
Constructs a Matrix from the specified TNT Array2D.
Definition at line 35 of file Matrix.cpp.
Isis::Matrix::~Matrix | ( | ) |
Destroys the Matrix object.
Definition at line 40 of file Matrix.cpp.
Add the two matrices.
Definition at line 104 of file Matrix.cpp.
References Matrix(), and Isis::IException::Programmer.
double Isis::Matrix::Determinant | ( | ) |
Compute the determinant of the matrix.
Definition at line 60 of file Matrix.cpp.
References Isis::IException::Programmer.
std::vector< double > Isis::Matrix::Eigenvalues | ( | ) |
Compute the eigenvalues of the matrix.
Definition at line 203 of file Matrix.cpp.
References Isis::E, and Isis::IException::Programmer.
Matrix Isis::Matrix::Eigenvectors | ( | ) |
Compute the eigenvectors of the matrix and return them as columns of a matrix in ascending order.
Definition at line 224 of file Matrix.cpp.
References Isis::E, Matrix(), and Isis::IException::Programmer.
|
static |
Create an n x n identity matrix.
Definition at line 45 of file Matrix.cpp.
References Isis::IException::Programmer.
Matrix Isis::Matrix::Inverse | ( | ) |
Compute the inverse of the matrix.
Definition at line 183 of file Matrix.cpp.
References Matrix(), and Isis::IException::Programmer.
Matrix Isis::Matrix::Multiply | ( | double | scalar | ) |
Multiply the matrix by a scalar value.
Definition at line 157 of file Matrix.cpp.
Multiply the two matrices.
Definition at line 87 of file Matrix.cpp.
References Matrix(), and Isis::IException::Programmer.
Multiply the two matrices element-wise (ie compute C such that C[i][j] = A[i][j]*B[i][j])
Definition at line 140 of file Matrix.cpp.
References Matrix(), and Isis::IException::Programmer.
Subtract the input matrix from this matrix.
Definition at line 121 of file Matrix.cpp.
References Matrix(), and Isis::IException::Programmer.
double Isis::Matrix::Trace | ( | ) |
Compute the determinant of the matrix.
Definition at line 72 of file Matrix.cpp.
References Isis::IException::Programmer.
Matrix Isis::Matrix::Transpose | ( | ) |
Compute the transpose of the matrix.
Definition at line 170 of file Matrix.cpp.
References Matrix().